make :Default debug build
make RELEASE=1 :Release build
make V=1 :Verbose build
make COVERAGE=1 :Coverage build
bin/ds.elf
bin/libds.a
bin/libds.so
src/inc/data_structure_interface.h
This project export sorts of API of data structure with libds.so or libds.a.
The following data structure implemented in this project.
1. Linked list
a. single linked list
b. doubly linked list
c. skip linked list
2. Stack
a. array stack
b. linked stack
3. Queue
a. array queue
b. stacked queue
c. doubly end queue
4. Tree
a. binary search tree
b. avl tree
c. splay tree
d. binary indexed tree
e. trie tree
5. Hash
a. separate chain hash
b. open addressing hash
c. bitmap
6. Heap
a. minimal heap
b. maximal heap
c. min-max heap
d. leftist heap
7. Sort
a. insertion sort
b. shell sort
c. heap sort
d. merge sort
e. quick sort
8. Set
a. disjoint set
9. Graph
a. directed graph [in process]
b. indirected graph [in process]
10. Lock
a. spin lock
b. semaphore
c. mutex
----- to be continue -----