Data Structures and Algorithms Reference

This repository is my personal reference for data structures and algorithms. It contains implementations of standard data structures and algorithms in a variety of programming languages, along with explanations, examples, and analysis.

Table of Contents

Languages

The project will include examples in the following languages:

  • C
  • C++
  • Java
  • Kotlin
  • Python
  • Rust
  • Typescript

Data Structures

The project will include examples of the following data structures:

  • Arrays
    • Static Array
    • Dynamic Array
  • Linked List
    • Singly Linked List
    • Doubly Linked List
    • Circular Linked List
  • Stack (LIFO)
  • Queue (FIFO) and Deque (Doubly Ended Queue)
  • Hash Table
    • KV Hash Table
    • Collision Detection
  • Trees
    • Binary Tree
    • Binary Search Tree
    • AVL Tree (Self-Balancing)
    • Red-Black Tree (Self-Balancing)
    • B-Tree (Self-Balancing)
    • Trie (Prefix Tree)
    • Tree algorithms
  • Graphs
    • Adjacency List
    • Adjacency Matrix
    • Directed Graphs
    • Weighted Graphs
    • Adjacency List/Matrix
  • Disjoint Set (Union-Find)

Algorithms

  • Sorting
    • Bubble Sort (Maybe)
    • Selection Sort (Maybe)
    • Insertion Sort
    • Merge Sort
    • Quick Sort
    • Heap Sort
  • Searching Algorithms
    • Linear Search
    • Binary Search
  • Graph Traversal
    • Depth-First Search (DFS)
    • Breadth-First Search (BFS)
    • Dijkstra's Algorithm
    • Bellman-Ford Algorithm
    • Floyd-Warshall Algorithm
    • Kruskal's Algorithm
    • Prim's Algorithm
    • Minimum Spanning Tree (MST)
  • Recursion and Backtracking
  • Dynamic Programming
    • Memoization
    • Tabulation
  • Greedy Algorithms
    • Fractional Knapsack Problem
    • Activity Selection Problem
    • Huffman Coding
  • Sieve of Eratosthenes (Prime Number Generation)
  • Euclidean Algorithm (Greatest Common Divisor)
  • String Algorithms
    • KMP Algorithm
    • Rabin-Karp Algorithm
  • Bit Manipulation

License

All rights reserved. (Might open it up in the future)

References

None yet

Description
No description provided
Readme 32 KiB
Languages
C 74.1%
Makefile 25.9%