mirror of
https://github.com/mohitmishra786/amILearningEnough.git
synced 2025-12-18 04:44:40 +03:00
Initial setup for MkDocs website
This commit is contained in:
151
docs/roadmap/dsa/dsa.md
Normal file
151
docs/roadmap/dsa/dsa.md
Normal 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.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
|
||||
166
docs/roadmap/dsa/dsaUsingC.md
Normal file
166
docs/roadmap/dsa/dsaUsingC.md
Normal 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.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
|
||||
Reference in New Issue
Block a user