Welcome to the Data Structures and Algorithms repository in C language! Here, you'll find a collection of code implementations for various data structures and algorithms to help you understand, practice, and master the world of computer science.
-
Arrays
- Introduction, Benefits, Drawbacks
- Array Types (1D, 2D, 3D, ... Nd)
- Real-Life Examples
- Array Operations (Insertion, Deletion, Shifting, Traversal, Reversal)
-
Pointers
- Introduction
- Pointer Types (Direct, Indirect, Null, Wild, Dangling, Garbage)
- Use Cases with Examples
-
Structures
- Creating Structures with Primitive Data Types
- Accessing Structures in the Same & Different Functions
- Structures with Pointers
-
Stacks
- Introduction, Benefits, Drawbacks
- Stack Operations (PUSH, POP, PEEP/PEEK, TRAVERSE)
- Stack Applications (Variable Expression & Value Expression)
-
Queues
- Introduction, Benefits, Drawbacks
- Linear Queue Operations (Insertion, Deletion, Traversal)
- Circular Queue Operations (Insertion, Deletion)
-
Linked Lists
- Introduction, Benefits, Drawbacks
- Singly Linked List Operations
- Circular Linked List Operations
- Doubly Linked List Operations
- Linked List Applications
-
Trees
- Introduction, Benefits, Drawbacks
- Tree Terminologies
- Binary Trees
- Binary Search Trees
- Complete, Full, Perfect, and Degenerated Binary Trees
- Tree Nodes and Relationships
- Graph Representation (Array and Linked List)
-
Practice
- Creating Binary Search Trees
- Tree Traversals (Preorder, Inorder, Postorder)
- Generating Sequences from Trees
-
Heap Trees
- Max Heap (Array Implementation)
- Operations (Insertion, Deletion, Search, Traversal)
-
AVL Trees
- Operations (Insertion, Deletion, Traversals)
-
Threaded Binary Trees (TBT)
- Operations (Insertion, Deletion, Search, Traversals)
-
Multiway Search Trees
- Definitions and Types (B Tree, B+ Tree)
-
B Trees
- Operations (Insertion, Deletion, Search, Traversal)
-
Graphs
- Introduction, Benefits, Drawbacks
- Graph Terminologies
- Directed, Undirected, Mixed, Weighted, Non-Weighted, Complete, and Tree Graphs
- Vertices and Edges Relationships
- Graph Representation (Adjacency Matrix and List)
- Graph Traversals (BFS and DFS)
- Shortest Path Algorithms (Warshall's and Dijkstra's)
- Spanning Trees (Prim's and Kruskal's)
-
Recursion
-
Time and Space Complexity
-
Searching and Sorting
Folder contains C code implementations along with explanations and real-life examples. You can explore the folders and access the code files to understand and practice each data structure and algorithm.
Feel free to contribute, ask questions, or provide feedback.
- [Your Name] ([Your GitHub Profile])
If you'd like to contribute to this repository, please feel free to generate PR.
This project is licensed under the MIT License - see the LICENSE file for details.