1. Basic data structure
- What are data structures? A brief introduction to the basic concepts and classification of data structures.
- What is an array? How to define and implement an array?
- What is a linked list? How to define and implement a linked list?
- What is a queue? How to define and implement a queue?
- What is a stack? How to define and implement a stack?
2. Sorting and Searching
- What is a sorting algorithm? Briefly introduce several common sorting algorithms, such as bubble sort, selection sort, insertion sort, quick sort, etc.
- What is binary search? How to implement binary search?
- What is linear search? How to implement linear search?
- What is a hash table? How to implement a hash table?
3. Graph theory
- What is a graph? How to define and implement a graph?
- What is graph traversal? Briefly introduce the implementation methods of depth-first search and breadth-first search.
- What is a minimum spanning tree? How to solve minimum spanning tree?
- What is the shortest path? How to solve the single source shortest path problem?
4. Dynamic programming
- What is Dynamic Programming? What are the application scenarios of dynamic programming?
- What is top-down dynamic programming? How to implement top-down dynamic programming?
- What is bottom-up dynamic programming? How to implement bottom-up dynamic programming?
- What is Memoized Search? How to implement memory search?
Five, linked list and stack
- What are the basic operations of linked list? A brief introduction to insert, delete, and rename operations for linked lists.
- What are the basic operations of the stack? A brief introduction to stack insertion and deletion operations.
- How to implement a simple LRU cache using a linked list?
- How to use the stack to implement an expression evaluation?
Six, tree and binary tree
- What are the basic concepts of trees? Briefly describe the depth and breadth of the tree.
- What are the basic concepts of binary tree? Briefly introduce the properties and traversal methods of binary trees.
- How to use a binary tree to implement an expression evaluation?
- How to implement a Trie tree using a binary tree?
7. String operations and regular expressions
- What are the basic operations on strings? A brief introduction to string encoding and decoding methods.
- What is the basic syntax of regular expressions? How to use regex for string matching?
- How to use string manipulation to implement a string inversion function?
- How to use string operations to implement a string splitting function?
8. Greedy Algorithm and Backtracking Algorithm
- What are the basic concepts of greedy algorithm? What are the application scenarios of the greedy algorithm?
- What are the basic concepts of backtracking algorithm? What are the application scenarios of the backtracking algorithm?
- How to use the greedy algorithm to solve the knapsack problem?
- How to use the backtracking algorithm to solve the N queens problem?