This repository contains my personal practice of various Data Structures and Algorithms (DSA) implemented in the C programming language. Each directory focuses on a specific concept.
The repository is organized into directories, each corresponding to a major data structure or algorithm category.
- /Arrays: Implementations of dynamic arrays and common array-based problems.
- /LinkedLists: Code for Singly, Doubly, and Circular Linked Lists and their operations.
- /Stacks: Implementations of Stack ADT using arrays and linked lists.
- /Queues: Implementations of Queue ADT, including simple, circular, and priority queues.
- /Trees: Code for various tree structures like Binary Search Trees (BST), AVL Trees, and Heaps.
- /Sorting: A collection of sorting algorithms such as Bubble Sort, Insertion Sort, Merge Sort, Quick Sort, and Heap Sort.
- /Searching: Implementations of Linear Search and Binary Search.
- /Hashing: Code for hash tables with different collision resolution techniques.
All programs are written in standard C. You can use a C compiler like GCC to compile and run the files.
-
Navigate to a specific directory:
cd <directory_name>
-
Compile the C file:
gcc <program_name>.c -o <output_name>
-
Run the executable:
./<output_name>
This is a personal project for learning purposes. However, if you find any bugs or have suggestions for improvement, feel free to open an issue or submit a pull request.
This project is open source and available under the MIT License.