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 --all
python tools.py --catch2
mkdir -p build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --config Release --parallel 12
ctest -C Release --verbose