This repo is intended for recording my learning process and demo codes about data structure and algorithm with C (or C++) .
- String (Basic Definition & Operations)
- List (Basic Definition & Operations)
- Sequential List
- Linked List
- Stack (Basic Definition & Operations)
- Sequential Stack
- Linked stack
- Queue (Basic Definition & Operations)
- Sequential Queue
- Linked Queue
- Tree(BST)
- Basic Definition & Operations
- Traversal
- Common algorithm
- Graph
- Representation
- Traversal: depth-first-search & breadth-first-search
- Minimum-Spanning tree algorithm: prim & kruskal
- Shortest path algorithm: dijkstra & floyd
- Topological Sort
- Tree (some common algorithms)
- Search
- Sequence search
- Binary search
- String Matching
- Naive matching
- KMP
- Sort
- insert sort
- simple insert sort
- binary insert sort
- shell sort
- exchange sort
- bubble sort
- quick sort
- selection sort
- simple selection sort
- heap sort
- merge sort
- radix sort
- insert sort
- Backtrack
- Greedy
- Dynamic programming