The focus of each implementation steps start as follow: first, we study the concept of the data structure or algorithm, second we design and document a clear and simple API, third we implement, and forth we analyze and refactor the implementation. There most be a robust unit-test suite for each data structure or algorithm that prove the reliability of the above.
- AVL Tree (progress)
- Binary Search Tree
- Binary Tree Node
- Dynamic Array
- Deque
- Insertion Sort
- Linked List
- Singly Linked List
- Doubly Linked List (progress)
- Queue
- Stack
- Hash Table
- Hash Function
- Red Black Tree
- B-Tree
- Skip List
- Merge Sort
- Selection Sort
- Quick Sort
- Shell Sort
- Ring Buffer
- Heap Sort
- Heap
- Graph
- Breadth-first Search
- Depth-first Search
Everyone is welcome to contribute! Pick any of the "Will Implement" items displayed above, move it to the "Current Implementation" and make a pull request. We also suggest to follow the same naming convention of the current implementations, for example the Linked List, and also read the "Implementation Philosophy" displayed above.
