Initial setup for MkDocs website

This commit is contained in:
Mohit Mishra
2024-12-21 01:23:20 +05:30
parent 5ba245faaf
commit faffd2b2e5
16566 changed files with 658919 additions and 101 deletions

151
docs/roadmap/dsa/dsa.md Normal file
View File

@@ -0,0 +1,151 @@
# Table of Content
1. [Language-Agnostic DSA Roadmap](#language-agnostic-dsa-roadmap)
2. [Language-Agnostic DSA Resources](#language-agnostic-dsa-resources)
# Language-Agnostic DSA Roadmap
## Learning Path Visualization
[![](https://mermaid.ink/img/pako:eNp9kstuwjAQRX_F8hp-IItKIQ9YFBUprJqwGOIhsRTbkR9IFPHvdZyYLtrizdiec0dzx77TVjGkCe00jD055o0kfqV1ZUHbE1mv38imPmjl80Jw2ZENGN4a8nEhqbyRd5Cdgw5Ps24TBFkdIJKDBVJZ7VrrNJqFyQKTL0w6dEpz24uYzkO6qFN2Bdki-6dKEbDyB_tVqAzEdmr-PKAglRquk4EDWItaRmwbsF1djdhyGPiXr3VUo_fogRkx7jyPp6GlcpKB5Uo2dLE8B5TsDzxTGkmmfIOjNVGRLUZfCZ-25laitFisvZLuwXh_tyjZzmH3lNAVFagFcOaf_T5dN9T2KLChid8yvIAb7CR_eBScVdVNtjTxL4ArqpXr-nhwo58F5hym30GTCwzG344gP5WK58c3ZK7B-A?type=png)](https://mermaid.live/edit#pako:eNp9kstuwjAQRX_F8hp-IItKIQ9YFBUprJqwGOIhsRTbkR9IFPHvdZyYLtrizdiec0dzx77TVjGkCe00jD055o0kfqV1ZUHbE1mv38imPmjl80Jw2ZENGN4a8nEhqbyRd5Cdgw5Ps24TBFkdIJKDBVJZ7VrrNJqFyQKTL0w6dEpz24uYzkO6qFN2Bdki-6dKEbDyB_tVqAzEdmr-PKAglRquk4EDWItaRmwbsF1djdhyGPiXr3VUo_fogRkx7jyPp6GlcpKB5Uo2dLE8B5TsDzxTGkmmfIOjNVGRLUZfCZ-25laitFisvZLuwXh_tyjZzmH3lNAVFagFcOaf_T5dN9T2KLChid8yvIAb7CR_eBScVdVNtjTxL4ArqpXr-nhwo58F5hym30GTCwzG344gP5WK58c3ZK7B-A)
## Detailed Breakdown
### Foundation (2-3 weeks)
- Time & Space Complexity
- Big O Notation
- Memory concepts
- Basic programming constructs
- Problem-solving methodology
### Core Concepts (8-10 weeks)
1. Basic Data Structures
- Arrays
- Linked Lists
- Stacks
- Queues
- Hash Tables
- Basic Trees
2. Basic Algorithms
- Searching
- Sorting
- Recursion
- Two Pointers
- Sliding Window
### Advanced Topics (10-12 weeks)
1. Advanced Data Structures
- Advanced Trees
- Graphs
- Heaps
- Tries
- Segment Trees
- Bloom Filters
2. Advanced Algorithms
- Dynamic Programming
- Greedy Algorithms
- Backtracking
- Graph Algorithms
- String Algorithms
### Mastery (Ongoing)
1. Problem Solving Patterns
- Pattern recognition
- Optimization techniques
- System design basics
- Interview preparation
2. Specialized Topics
- Computational Geometry
- Network Flow
- Advanced String Algorithms
- Parallel Algorithms
# Language-Agnostic DSA Resources
## Online Courses
1. [Algorithms Part I - Princeton](https://www.coursera.org/learn/algorithms-part1)
- Fundamental algorithms
- Theoretical foundation
- Programming assignments
2. [Algorithm Specialization - Stanford](https://www.coursera.org/specializations/algorithms)
- Comprehensive coverage
- Advanced topics
- Real-world applications
## Books
1. "Introduction to Algorithms" (CLRS)
- Comprehensive coverage
- Theoretical foundation
- Problem sets
2. "Algorithm Design Manual" by Skiena
- Practical approach
- Real-world examples
- Problem-solving strategies
3. "Grokking Algorithms" by Bhargava
- Visual explanations
- Simple examples
- Beginner-friendly
## Online Platforms
1. [LeetCode](https://leetcode.com/)
- Structured problems
- Company-specific lists
- Discussion forums
2. [AlgoExpert](https://www.algoexpert.io/)
- Curated problems
- Video explanations
- Interview preparation
3. [InterviewBit](https://www.interviewbit.com/)
- Programming interview focus
- Company-wise problems
- Mock interviews
## Websites
1. [Visualgo](https://visualgo.net/)
- Algorithm visualization
- Interactive learning
- Step-by-step execution
2. [USACO Guide](https://usaco.guide/)
- Competitive programming
- Comprehensive tutorials
- Practice problems
## YouTube Channels
1. [Back To Back SWE](https://www.youtube.com/channel/UCmJz2DV1a3yfgrR7GqRtUUA)
- Detailed explanations
- Visual presentations
- Interview preparation
2. [Abdul Bari](https://www.youtube.com/channel/UCZCFT11CWBi3MHNlGf019nw)
- Algorithm explanations
- Mathematical approach
- Theoretical foundation
## Practice Platforms
1. [AtCoder](https://atcoder.jp/)
- Regular contests
- Various difficulty levels
- Active community
2. [SPOJ](https://www.spoj.com/)
- Classical problems
- Judge system
- Multiple languages
## GitHub Resources
1. [Coding Interview University](https://github.com/jwasham/coding-interview-university)
- Complete study plan
- Resource compilation
- Interview preparation
2. [JavaScript Algorithms](https://github.com/trekhleb/javascript-algorithms)
- DSA implementations
- Explanations
- Examples

View File

@@ -0,0 +1,166 @@
# Table of Contents
1. [C Language DSA Roadmap](#c-language-dsa-roadmap)
2. [C Language DSA Resources](#c-language-dsa-resources)
# C Language DSA Roadmap
## Learning Path Visualization
[![](https://mermaid.ink/img/pako:eNqFUrluwzAM_RVBczL0mDwUcKxcQ4AA7lQ7A2MxtgFLCnQECIL8exUd7VC01SKR7_GJetSNdoojLWiv4TyQd9ZK4lfZ1Ba0PZD5_I0smoqsnOQgUFqYzCFyFgGsmh0Kpa9kBxJ6fFASXgWcNQswY0cYWCC11a6zTmPWYIGzbEp-Adkh_5O2SlLl1Cs92kFkeBng9bfKD8YqMmKwDsGm2Wt1nFCQWk2XUfaJugnotqmvxnqQoRl76bGIGneMTrV0P4BB8lT4h4a-TEuTMXFDyX-tei5ItC3XVP_XvPiblEbC6jJXpWkt0yP_13gtSDYpayRTNnHbfmnQGRWoBYzc_47bI91SO_gBt7TwR44ncJN9qNw9FZxV9VV2tPCzwxnVyvVDDtyZg0U2gm9G5OQZ5IdSPjz5L4X3TwxRxxs?type=png)](https://mermaid.live/edit#pako:eNqFUrluwzAM_RVBczL0mDwUcKxcQ4AA7lQ7A2MxtgFLCnQECIL8exUd7VC01SKR7_GJetSNdoojLWiv4TyQd9ZK4lfZ1Ba0PZD5_I0smoqsnOQgUFqYzCFyFgGsmh0Kpa9kBxJ6fFASXgWcNQswY0cYWCC11a6zTmPWYIGzbEp-Adkh_5O2SlLl1Cs92kFkeBng9bfKD8YqMmKwDsGm2Wt1nFCQWk2XUfaJugnotqmvxnqQoRl76bGIGneMTrV0P4BB8lT4h4a-TEuTMXFDyX-tei5ItC3XVP_XvPiblEbC6jJXpWkt0yP_13gtSDYpayRTNnHbfmnQGRWoBYzc_47bI91SO_gBt7TwR44ncJN9qNw9FZxV9VV2tPCzwxnVyvVDDtyZg0U2gm9G5OQZ5IdSPjz5L4X3TwxRxxs)
## Detailed Breakdown
### Phase 1: C Fundamentals (2-3 weeks)
- Pointers and pointer arithmetic
- Dynamic memory allocation
- Structures and unions
- File handling
- Preprocessor directives
- Makefile creation
### Phase 2: Memory Management (2 weeks)
- Stack vs Heap
- Memory leaks
- Buffer overflows
- Pointer safety
- Valgrind usage
- GDB debugging
### Phase 3: Core DSA (8-10 weeks)
1. Basic Data Structures
- Arrays and strings
- Linked lists (single, double, circular)
- Stacks
- Queues
- Hash tables
2. Advanced Data Structures
- Trees (Binary, BST, AVL)
- Graphs (Adjacency matrix/list)
- Heaps
- Tries
- Disjoint sets
3. Basic Algorithms
- Searching (Linear, Binary)
- Sorting (Bubble, Selection, Insertion)
- Recursion
- Basic graph traversals
### Phase 4: Advanced Topics (8-10 weeks)
1. Advanced Algorithms
- Advanced sorting (Quicksort, Mergesort, Heapsort)
- Dynamic Programming
- Greedy Algorithms
- Advanced graph algorithms
- String algorithms
2. Problem Solving
- LeetCode problems
- Competitive programming
- System design basics
- Code optimization
# C Language DSA Resources
## Online Platforms
1. [GeeksforGeeks C Programming](https://www.geeksforgeeks.org/c-programming-language/)
- Extensive C tutorials
- DSA implementations in C
- Practice problems
2. [CodeForces](https://codeforces.com/)
- Competitive programming platform
- Many solutions in C
- Regular contests
3. [HackerRank C Practice](https://www.hackerrank.com/domains/c)
- Structured C programming tasks
- Gradually increasing difficulty
- Immediate feedback
## Books
1. "Data Structures Using C" by Reema Thareja
- Comprehensive coverage
- Practical examples
- Exercise problems
2. "The C Programming Language" by Kernighan and Ritchie
- Fundamental C concepts
- Written by C's creators
- Essential reference
3. "Mastering Algorithms with C" by Kyle Loudon
- Focus on implementation
- Performance analysis
- Real-world applications
## GitHub Repositories
1. [C Data Structures](https://github.com/fragglet/c-algorithms)
- Common DSA implementations
- Well-documented code
- Testing included
2. [C Programming Resources](https://github.com/aleksandar-todorovic/awesome-c)
- Curated list of resources
- Frameworks and libraries
- Learning materials
## Interactive Learning
1. [CS50x](https://cs50.harvard.edu/x/)
- Harvard's intro course
- Strong C foundation
- Hands-on projects
2. [Learn-C.org](https://www.learn-c.org/)
- Interactive tutorials
- Practice exercises
- Immediate feedback
## Online Platforms
1. [LeetCode](https://leetcode.com/)
- Structured problems
- Company-specific lists
- Discussion forums
2. [AlgoExpert](https://www.algoexpert.io/)
- Curated problems
- Video explanations
- Interview preparation
3. [InterviewBit](https://www.interviewbit.com/)
- Programming interview focus
- Company-wise problems
- Mock interviews
## Websites
1. [Visualgo](https://visualgo.net/)
- Algorithm visualization
- Interactive learning
- Step-by-step execution
2. [USACO Guide](https://usaco.guide/)
- Competitive programming
- Comprehensive tutorials
- Practice problems
## YouTube Channels
1. [Back To Back SWE](https://www.youtube.com/channel/UCmJz2DV1a3yfgrR7GqRtUUA)
- Detailed explanations
- Visual presentations
- Interview preparation
2. [Abdul Bari](https://www.youtube.com/channel/UCZCFT11CWBi3MHNlGf019nw)
- Algorithm explanations
- Mathematical approach
- Theoretical foundation
## Practice Platforms
1. [AtCoder](https://atcoder.jp/)
- Regular contests
- Various difficulty levels
- Active community
2. [SPOJ](https://www.spoj.com/)
- Classical problems
- Judge system
- Multiple languages