Data Structure Knowledge #
The following is data-structure-related knowledge compiled by the author. I hope to enumerate all common data structures as exhaustively as possible. If there are any omissions, everyone is welcome to enlighten me and submit a PR. Related problems are still being gradually organized, and explanatory articles are still being written.
Solving problems is only a means to improve algorithmic ability; the ultimate goal should be to improve one’s own thinking ability. Knowledge needs to condense into blocks, so let’s summarize these in these two sections of the first chapter and let it be elevated~ I hope that after readers finish solving problems, they will come back to look at this table and be able to clearly organize their own knowledge system, identify gaps, and improve it as early as possible.
| Data Structure | Variants | Related Problems | Explanatory Articles |
|---|---|---|---|
| Sequential Linear List: Vector Vector | |||
| Singly Linked List Singly Linked List | 1. Doubly Linked List Double Linked Lists 2. Static List Static List 3. Symmetric Matrix Symmetric Matrix 4. Sparse Matrix Sparse Matrix | ||
| Hash Table Hash Table | 1. Hash Function Hash Function 2. Collision Resolution/Load Factor Collision Resolution | ||
| Stack and Queue Stack & Queue | 1. Generalized List Generalized List/GList 2. Deque Deque | ||
| Queue Queue | 1. Linked List Implementation Linked List Implementation 2. Circular Array Implementation ArrayQueue 3. Deque Deque 4. Priority Queue Priority Queue 5. Circular Queue Circular Queue | ||
| String String | 1. KMP Algorithm 2. Finite State Automaton 3. Pattern Matching Finite State Automaton 4. BM Pattern Matching Algorithm 5. BM-KMP Algorithm 6. BF Algorithm | ||
| Tree Tree | 1. Binary Tree Binary Tree 2. Union-Find Union-Find 3. Huffman Tree | ||
| Array-Implemented Heap Heap | 1. Max Heap and Min Heap Max Heap and Min Heap 2. Min-Max Heap 3. Deap Deap 4. d-ary Heap | ||
| Tree-Implemented Heap Heap | 1. Leftist Tree Leftist Tree/Leftist Heap 2. Flat Heap 3. Binomial Heap 4. Fibonacci Heap Fibonacco Heap 5. Pairing Heap Pairing Heap | ||
| Search Search | 1. Hash Table Hash 2. Skip List Skip List 3. Binary Sort Tree Binary Sort Tree 4. AVL Tree 5. B Tree / B+ Tree / B* Tree 6. AA Tree 7. Red Black Tree Red Black Tree 8. Binary Heap Binary Heap 9. Splay Tree 10. Double Chained Tree Double Chained Tree 11. Trie Tree 12. R Tree |