# 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