Skip to content

Complete implementations of fundamental data structures and algorithms in C with detailed documentation and complexity analysis.

Notifications You must be signed in to change notification settings

eko-071/dsa-collection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Structures and Algorithms

A comprehensive collection of fundamental data structures and algorithms implemented in C.

Contents

Linked Lists

Implementation of various linked list data structures.

  • Singly Linked List
  • Doubly Linked List
  • Circular Linked List

View Details

Stacks

LIFO (Last In First Out) data structure implementations.

  • Array-based Stack
  • Linked List-based Stack

View Details

Queues

FIFO (First In First Out) data structure implementations.

  • Array-based Queue
  • Linked List-based Queue
  • Circular Queue
  • Double-Ended Queue (Deque)

View Details

Trees

Binary tree data structures with various properties.

  • Binary Search Tree (BST)
  • AVL Tree (Self-balancing BST)

View Details

Heaps

Complete binary tree implementations maintaining heap property.

  • Max Heap
  • Min Heap

View Details

Hashing

Hash table implementations with different collision resolution techniques.

  • Linear Probing
  • Quadratic Probing
  • Double Hashing
  • Chaining

View Details

Graphs

Graph Traversal

Algorithms for visiting all vertices in a graph.

  • Depth-First Search (DFS)
  • Breadth-First Search (BFS)

View Details

Minimum Spanning Tree

Algorithms for finding minimum spanning tree of a weighted graph.

  • Kruskal's Algorithm
  • Prim's Algorithm

View Details

Shortest Path

Algorithms for finding shortest paths in weighted graphs.

  • Dijkstra's Algorithm
  • Bellman-Ford Algorithm
  • Floyd-Warshall Algorithm

View Details

Searching

Algorithms for finding elements in a collection.

  • Linear Search
  • Binary Search

View Details

Sorting

Algorithms for arranging elements in order.

  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Merge Sort
  • Quick Sort
  • Heap Sort

View Details

String Matching

Algorithms for finding pattern occurrences in text.

  • Naive String Matching
  • Knuth-Morris-Pratt (KMP) Algorithm

View Details

Compilation

All programs are written in C and can be compiled using:

gcc filename.c -o output
./output

Usage

Each subdirectory contains:

  • Implementation files (.c)
  • README with detailed explanations, complexity analysis, and use cases

Navigate to any subdirectory and refer to its README for specific details about the implementations.

License

This project is for educational purposes.

About

Complete implementations of fundamental data structures and algorithms in C with detailed documentation and complexity analysis.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages