Skip to content

Raquezin/C-DSA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

C-Data-Structures-Algorithms

Welcome to C-Data-Structures-Algorithms! This repository is a collection of fundamental data structures and algorithms implemented in the C programming language. The main goal of this project is to provide a clear and educational reference for students, developers, and programming enthusiasts who wish to understand these concepts from scratch. This project is still in development.

πŸ“œ Description

This project contains implementations of various common data structures and algorithms. Each implementation is designed to be as clear and didactic as possible, with explanatory comments in the code. The aim is to maintain a clean and consistent coding style throughout the project.

✨ Features

  • Clear Implementations: Commented and easy-to-understand code.
  • Educational Focus: Ideal for learning the fundamentals of data structures and algorithms.
  • Modularity: Each data structure and algorithm is located in its own files for easy navigation.
  • No External Dependencies: Only the C standard library is used.

πŸ—‚οΈ Implemented Data Structures and Algorithms

Below is a list of the structures and algorithms you will find in this repository.

Data Structures

  • Linked Lists
    • Singly Linked List
    • Doubly Linked List
    • Circular Linked List
  • Stacks
    • Array-based Implementation
    • Linked List-based Implementation
  • Queues
    • Array-based Implementation
    • Linked List-based Implementation
  • Trees
    • Binary Search Tree (BST)
    • AVL Tree
  • Graphs
    • Adjacency Matrix Representation
    • Adjacency List Representation

Algorithms

  • Search Algorithms
    • Linear Search
    • Binary Search
  • Sorting Algorithms
    • Bubble Sort
    • Selection Sort
    • Insertion Sort
    • Quick Sort
    • Merge Sort
  • Graph Traversal
    • Breadth-First Search (BFS)
    • Depth-First Search (DFS)
    • Dijkstra Search

πŸ› οΈ Getting Started

To compile and run any of the implementations, you will need a C compiler like gcc.

Prerequisites

Make sure you have gcc installed on your system. You can check with the following command:

gcc --version

Compilation

  1. Clone this repository:
git clone https://github.com/Raquezin/C-DSA.git
  1. Navigate to the project directory:
cd C-DSA
  1. Navigate to the folder of the data structure or algorithm you want to test:
cd folder
  1. Compile the .c file along with its main.c test file:
gcc -o my_program main.c stack_array.c -Wall -Wextra -pedantic
  1. Run the compiled program:
./my_program

🀝 How to Contribute

Contributions are welcome! If you wish to contribute to this project, please follow these steps:

  1. Fork this repository.
  2. Create a new branch (git checkout -b feature/new-feature).
  3. Make your changes and commit them (git commit -am 'Add new feature').
  4. Push to the branch (git push origin feature/new-feature).
  5. Open a Pull Request.

✍️ Author

πŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

Data Structures and Algorithms in C

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages