This is a code implementation of 912 DSA, which is a data structure course offered by Tsinghua University.
- video: DSA
- book: Data Structures in C++
- Tree
- B Tree
- Red-Black Tree
- Kd Tree
- Dict
- Hash Table
- Skip List
- Quadlist
| ID | Chapter | Implementation |
|---|---|---|
| 1 | Introduction | Fibonacci |
| 2 | Vector | Vector, Bitmap, BitmapQuickInit |
| 3 | List | ListNode, List |
| 4 | Stack and Queue | StackInterface, Stack, LinkedStack,StackExample, Queue |
| 5 | Binary Tree | BinTreeNode, BinTree |
| 6 | Binary Search Tree | BST, AVL |
| 7 | BST Applications | / |
| 8 | Advanced BST | SplayTree, BTree, RBTree |
| 9 | Dictionary | / |
| 10 | Graph | Graph,GraphMatrix,GraphList |
| 11 | Graph Applications | / |
| 12 | Priority Queue | / |
| 13 | String | / |
| 14 | Sorting | / |
| NaN | Other | Iterator |
git clone --recurse-submodules https://github.com/hnlcf/912-dsa.git
cd 912-dsa- cmake
- python
Using catch2 for testing which managed by git submodules.
- catch2
python tools.py --allpython tools.py --catch2mkdir -p build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..cmake --build . --config Release --parallel 12ctest -C Release --verbose