DStructs
A C++ library enriching the knowledge and awaking the interest on data structures and algorithms. Data structures and algorithms are important and the basics, at most, should be known.
Implementation Philosophy
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.
Current Implementations
- 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
Will Implement
- 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
Contributions
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.