This project includes most commonly used computer algorithms and data structures. The project has been tested on the FreeBSD 64-bit platform, Rocky Linux 64-bit platform and Cygwin 64-bit platform. The Makefile in the project is BSD-style, if you want to compile on some GNU/Linux platform and Cygwin platform, you may need to modify the Makefile.
Directory | Description |
---|---|
bin | The binary executable file generated after the project is compiled. |
lib | The static libaray file generated ater the project is compiled. |
include | Header files |
common | General modules of the porject. |
utils | The utility modules designed by this project. |
linearlist | Including Linked-List, Stack and Queue. |
sort | Including most of the classic sorting algorithms. |
sequentialsearch | Sequential search implemented by linked-list. |
binarysearch | Binary search. |
searchtree | Including Binary search tree, Red-Black tree, AVL tree, Splay tree and B+Tree. |
heap | Heap or priority. Including Binary heap, Binomial heap, Fibonacci heap and Pairing heap. |
hashtable | Uses linear detection method and linked-list methomd to implement. |
skiplist | Skip list. |
graphs | Including Union-find, Undirected Graph, Directed Graph, Minimum Spanning Tree, The Shortest Path, Euler Graph and Bipartite Graph. |
strings | Including String sort, Trie, Ternary search trie and most String Matching algorithms. |
searchperf | Comparison of search performance of Singly Linked List, Skip List, Red-Black Tree and Splay Tree. |