Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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])