Welcome to the DSA Programs repository! This repository contains various programs demonstrating important data structure and algorithm (DSA) concepts implemented in C.
└── DSA-Programs-with-C/
├── README.md
├── LICENSE
├── Tower-of-Hanoi.c
├── Basic Array Operations/
│ ├── Q2.c
│ ├── Q3.c
│ ├── Q4.c
│ ├── Q5.c
│ └── Deletion Operation/
│ ├── array.c
│ └── malloc.c
├── Linked List/
│ ├── BubbleSorting_SLL.c
│ ├── Circular_LinkedList.c
│ ├── Double_LinkedList.c
│ ├── LinkedQueue.c
│ ├── LinkedStack.c
│ ├── Polynomial_Add_SLL.c
│ ├── Reverse_SingleLinkedList.c
│ ├── Single_LinkedList.c
│ └── josephusProblem.c
├── Queue/
│ ├── circular-queue.c
│ ├── dequeue.c
│ ├── linearQ.c
│ └── priorityQ.c
├── Searching Algorithms/
│ ├── binary search/
│ │ ├── binary_search-recursive.c
│ │ └── binary_search.c
│ └── linear search/
│ ├── array.c
│ ├── linearSearch.cpp
│ └── malloc.c
├── Sorting Algorithms/
│ ├── HeapSort.cpp
│ ├── QuickSort.cpp
│ ├── bubbleSorting.cpp
│ ├── insertionSort.cpp
│ ├── mergeSort.cpp
│ └── selectionSort.cpp
├── Stack/
│ ├── bin-to-dec.c
│ ├── infix-to-postfix.c
│ ├── postfix-evaluation.c
│ ├── prefix-evaluation.c
│ ├── reverse_string.c
│ └── stack.c
└── Tree/
├── non-recursiveBST.c
└── recursiveBST.c
Q2.c
,Q3.c
,Q4.c
,Q5.c
- Various basic operations on arrays.Deletion Operation/array.c
- Deletion operation in arrays with static memory allocation.Deletion Operation/malloc.c
- Deletion operation in arrays using dynamic memory allocation.
Single_LinkedList.c
- Implementation of a single linked list.Reverse_SingleLinkedList.c
- Reversing a single linked list.Circular_LinkedList.c
- Implementation of a circular linked list.Double_LinkedList.c
- Implementation of a doubly linked list.BubbleSorting_SLL.c
- Bubble sorting using a singly linked list.Polynomial_Add_SLL.c
- Polynomial addition using singly linked list.LinkedQueue.c
- Queue implementation using linked list.LinkedStack.c
- Stack implementation using linked list.josephusProblem.c
- Solution to the Josephus problem using a circular linked list.
linearQ.c
- Program showing insertion, deletion, and display of a linear array-based queue.circular-queue.c
- Implementation of a circular array-based queue.dequeue.c
- Implementation of a double-ended queue (deque).priorityQ.c
- Priority queue implementation.
stack.c
- Basic stack operations implementation.reverse_string.c
- Stack application for reversing strings.infix-to-postfix.c
- Infix to postfix conversion using stack.postfix-evaluation.c
- Postfix expression evaluation using stack.prefix-evaluation.c
- Prefix expression evaluation using stack.bin-to-dec.c
- Binary to decimal number conversion using stack.
- Binary Search
binary_search.c
- Iterative implementation of binary search.binary_search-recursive.c
- Recursive implementation of binary search.
- Linear Search
HeapSort.cpp
- Implementation of Heap Sort.QuickSort.cpp
- Implementation of Quick Sort.bubbleSorting.cpp
- Implementation of Bubble Sort.insertionSort.cpp
- Implementation of Insertion Sort.mergeSort.cpp
- Implementation of Merge Sort.selectionSort.cpp
- Implementation of Selection Sort.
recursiveBST.c
- Recursive implementation of Binary Search Tree operations.non-recursiveBST.c
- Non-recursive implementation of Binary Search Tree operations.
Tower-of-Hanoi.c
- Recursive solution for the Tower of Hanoi problem.
Feel free to explore the repository and contribute! Here are a few ways you can contribute:
- Add more programs or enhance existing ones.
- Improve documentation and comments.
- Optimize existing implementations.
Fork the repository, make your changes, and submit a pull request. Let’s make this repository a comprehensive resource for DSA with C!
This repository is licensed under the MIT License. See the LICENSE file for details.
For any questions or suggestions, feel free to reach out or create an issue. Happy coding! 🚀