mirror of
https://github.com/mohitmishra786/amILearningEnough.git
synced 2025-12-17 12:24:40 +03:00
Create dsaUsingC.md
This commit is contained in:
119
src/roadmap/dsa/dsaUsingC.md
Normal file
119
src/roadmap/dsa/dsaUsingC.md
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
# Table of Contents
|
||||||
|
1. [C Language DSA Roadmap](#c-language-dsa-roadmap)
|
||||||
|
2. [C Language DSA Resources](#c-language-dsa-resources)
|
||||||
|
3. [Language-Agnostic DSA Roadmap](#language-agnostic-dsa-roadmap)
|
||||||
|
4. [Language-Agnostic DSA Resources](#language-agnostic-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
|
||||||
Reference in New Issue
Block a user