Welcome to the C DSA repository! This collection showcases implementations of various data structures and algorithms written in C. It serves as a resource for learners, developers, and enthusiasts who want to explore DSA concepts and their practical applications in C programming.
The repository is organized into the following categories, each containing relevant implementations:
- Arrays: Operations and algorithms related to arrays.
- Graphs: Algorithms like BFS, DFS, and graph traversal techniques.
- Linked List: Implementations of singly, doubly, and circular linked lists.
- Queues: Queue data structures, including circular and priority queues.
- Trees: Binary trees, AVL trees, and traversal algorithms.
- Searching Algorithms: Binary search, linear search, and other searching techniques.
- Sorting Algorithms: Merge sort, quicksort, bubble sort, and more.
Each folder contains the relevant C files implementing the data structures and algorithms.
The files in this repository are named with a numbering system, such as 25_Merge_Sort.c
and 31_Depth_First_Search.c
. This numbering reflects the sequence in which I studied and implemented these concepts. If you are new to DSA, this numbering may provide a helpful learning order—but feel free to explore them in any sequence!
Explore the folders to find the implementations you are interested in. Each folder contains a README.md file explaining the algorithms or data structures in detail.
You need a C compiler to run the programs. Popular options include:
To compile and execute a C program:
- Navigate to the folder containing the desired
.c
file. - Use the following commands:
gcc filename.c -o output ./output
To clone this repository and get started:
git clone https://github.com/YourUsername/C-DSA.git
cd C-DSA
Contributions are welcome! If you have a new implementation or improvement, feel free to submit a pull request.
- Fork this repository.
- Clone your forked repo:
git clone https://github.com/your-username/C-DSA.git
- Create a new branch:
git checkout -b feature-branch-name
- Make your changes and commit them:
git commit -m "Add new feature or fix"
- Push your changes to your fork:
git push origin feature-branch-name
- Create a Pull Request on the main repository.
Abdullah Ali
This repository is licensed under the MIT License. See the LICENSE
file for details.