1. Guide to Algorithm Interview Questions
Algorithm interviews have always been a necessary part of programmer interviews. Next, I will analyze the algorithm interview experience from four perspectives: learning ideas, learning tools, training methods, and simulated actual combat.
1. Thinking articles - broad view and appointment, thick accumulation and thin hair
1. Time complexity, space complexity
Time complexity is an important index to measure the efficiency of algorithm execution, and space complexity is an important index to measure the space consumed by the algorithm.
Depending on the type of algorithm, the time complexity can reach constant level, linear level, and exponential level. Whether you can use the most efficient algorithm, or the optimal time complexity to complete programming development, is an important indicator to measure the quality of software engineers. .
2. Data structure
Program = data structure + algorithm. As a software engineer, you need to be familiar with common data structures, including:
One-dimensional data structure:
- Basics: array (string), linked list
- Advanced: stack stack, queue queue, double-ended queue deque, collection set, mapping map
Two-dimensional data structure:
- Basics: tree tree, graph graph
- Advanced: binary search tree (red-black tree, AVL), heap, and disjoint set, dictionary tree Trie
3. Algorithm thinking
In addition to various data structures, software workers