Skip to content

kamilsan/algorithms-and-data-structures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithms & Data Structures

The purpose of this repository is to gather implementations of the most popular algorithms and data structures. Those implementations are not intended to be highly optimized, so I would not recommend using them for anything that requires high performance; I wrote it mainly for educational purpose.

Checklist:

  • Algorithms:

    • Sorting:

      • Heap sort
      • Counting sort
      • Radix sort
      • Quick sort
      • Shell sort
      • Merge sort
      • Insertion sort
      • Bubble sort
      • Selection sort
    • Dynamic programming:

      • Knapsack
      • Rod cutting
      • LCS
      • LPS
      • Edit distance
      • LIS
    • Graphs:

      • Dijkstra
      • Bellman-Ford
      • A*
      • Floyd–Warshall
      • DFS (visitor)
      • BFS (visitor)
    • String searching

      • Rabin–Karp
      • Knuth–Morris–Pratt
      • Naive search
  • Data structures:

    • Linear:

      • XOR List
      • Hash map
      • Hash set
      • Queue
      • Stack
      • Linked List
      • Doubly Linked List
      • Dynamic Array
    • Tree-based:

      • Red-Black Tree
      • Splay Tree
      • van Emde Boas Tree
      • AVL
      • BST
    • Other:

      • Fibonacci Heap
      • Graph
      • Priority Queue
      • Binary Heap