This repository contains a collection of commonly used data structures and algorithms implemented in C. It serves as a comprehensive resource for learning and understanding fundamental concepts in data structures and algorithms.
- Well-documented implementations of various data structures and algorithms in C.
- Each component is organized in a separate branch, allowing for easy navigation and focused exploration.
- Includes detailed README files for each data structure and algorithm, providing explanations, usage examples, and time complexities.
- Animations and visualizations to help understand the behavior and functionality of data structures and algorithms.
- Beginner-friendly code with clear explanations and step-by-step walkthroughs.
Data Structures | Description | Branch |
---|---|---|
Linked List | A linear data structure where elements are stored as nodes with pointers to the next element. | LinkedList |
Stack | A data structure that follows the Last-In-First-Out (LIFO) principle. | Stack |
Queue | A data structure that follows the First-In-First-Out (FIFO) principle. | Queue |
Binary Search Tree | A binary tree data structure with the property that the left child is less than the parent, and the right child is greater. | Tree |
Graph | Graphs are a fundamental data structure used to represent relationships between objects. They consist of vertices (nodes) connected by edges. | Graph |
Slips | This contains a collection of 20+ practical exam slips for Computer Science students | slips |
Algorithms | Description | Code |
---|---|---|
Binary Search | A search algorithm that finds the position of a target value within a sorted array. | binary_search.c |
Bubble Sort | A simple sorting algorithm that repeatedly swaps adjacent elements if they are in the wrong order. | bubble_sort.c |
Merge Sort | A divide-and-conquer sorting algorithm that recursively divides the array and merges the sorted subarrays. | merge_sort.c |
Depth-First Search | A graph traversal algorithm that explores as far as possible before backtracking. | dfs.c |
Whether you're a student learning data structures and algorithms or an experienced developer looking for reference implementations, this repository is designed to help you enhance your understanding and proficiency in C programming and algorithmic problem-solving.
Feel free to explore the different branches and delve into the individual implementations. Contributions, suggestions, and bug reports are welcome!
Start your journey into the world of data structures and algorithms with this repository and take your programming skills to the next level.
If you have any questions, suggestions, or need further assistance, please feel free to reach out to us at [email protected]. We appreciate your feedback and involvement in improving this repository.