Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/franklinekemezie/dsa-in-c
This repository contains my implementations of various data structures and algorithms using the C programming language. It's part of my ongoing practice to deepen my understanding of fundamental computer science concepts.
https://github.com/franklinekemezie/dsa-in-c
algorithms c c-programming-language data-structures data-structures-and-algorithms
Last synced: about 1 month ago
JSON representation
This repository contains my implementations of various data structures and algorithms using the C programming language. It's part of my ongoing practice to deepen my understanding of fundamental computer science concepts.
- Host: GitHub
- URL: https://github.com/franklinekemezie/dsa-in-c
- Owner: FranklinEkemezie
- Created: 2024-08-09T08:56:14.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2024-08-26T15:55:32.000Z (3 months ago)
- Last Synced: 2024-09-30T01:05:25.005Z (about 1 month ago)
- Topics: algorithms, c, c-programming-language, data-structures, data-structures-and-algorithms
- Language: C
- Homepage:
- Size: 97.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Data Structures and Algorithms in C
This repository contains my implementations of various data structures and algorithms using the C programming language. It's part of my ongoing practice to deepen my understanding of fundamental computer science concepts.
## Common Operations in Data Structures
- **Insertion**: Adding an element to a data structure.
- **Search**: Finding an element within a data structure.
- **Sorting**: Arranging elements in a specific order.
- **Deletion**: Removing an element from a data structure.
- **Traversal**: Accessing each element in a data structure in a systematic manner.
- **isEmpty**: Checking if the data structure contains any elements.
- **Access**: Retrieving an element from a specific position.
- **Indexing**: Assigning an index to each element for quick access.
- **Initialization**: Setting up the data structure before use.## 🛠️ Implemented Data Structures
- **Dynamic Array**: Static arrays with improved features to add and remove items dynamically.
- **Linked List**: Singly and doubly linked lists with basic operations.
- **Stacks and Queues**: Implementations using arrays and linked lists.
- **Trees**: Binary trees, AVL trees, and basic operations like insert, delete, and traversal.
- **Graphs**: Representation of graphs using adjacency lists and matrices.## ⚙️ Algorithms
- **Sorting**: Implementations of bubble sort, merge sort, quicksort, etc.
- **Searching**: Linear search, binary search, and variations.
- **Graph Algorithms**: BFS, DFS, Dijkstra's algorithm, etc.
- **Dynamic Programming**: Examples like Fibonacci, knapsack problem, and more.## 🚀 How to Run
1. Clone the repository:
```bash
git clone https://github.com/FranklinEkemezie/dsa-in-c.git
```
2. Navigate to the project directory:
```bash
cd dsa-in-c
```
3. Compile the code:
```bash
make
```## 📚 Learning Goals
- Mastering fundamental data structures in C.
- Practicing algorithmic problem-solving.
- Enhancing my understanding of memory management and pointers in C.## Learning Resources
- **CS50 Youtube channel**: https://www.youtube.com/c/cs50
- **CS50 Github**: https://github.com/cs50## 📬 Get in Touch
I'm always open to feedback, suggestions, and collaboration!**Email**: [[email protected]](mailto:[email protected])