Basic Data Structures
常考的数据结构
Array 和 Linkedlist 是最最基本的数据结构,因为他们可以构造很多其他的数据结构,比如 String (C语言里String就是字符数组),HashMap, Stack 和 Queue (Java 里 Queue 就是 LinkedList 实现了 Queue 的 interface; Ruby 里 stack 和 queue 都是 array), 以及 Heap。
Heap is a tree logically, but array physically.
HashMap, Stack 和 Queue 通常不会出现在问题里的数据结构中,因此一般作为solution 的数据结构。但是 面试中也常会让你实现这三种数据结构,另外就是 CC150 的3.2 和 3.5 都是典型的 Stack 和 Queue 的题。Leetcode中并不涵盖这些内容,这几种数据结构在 Leetcode 中都是作为 solution数据结构出现的(没有的原因是这些题目不太适合 OJ,因此需要单独练习)。
常考的算法
Leetcode 并没有包含各种 sort 算法,而通常面试很少让你直接去实现 sort 算法,但是大部分的相关编程技巧是包含在很多题目当中的, 比如 quick sort 的two pointers。
Merge 跟 sort 是紧密相关的,单独拿出来是因为有很多这个类型的题目,需要一起总结。Merge 操作的对象基本都是已经排好序的。
Stack 虽说是数据结构,但是一般出现在 solution 里,因此代表了一类算法.
Toposort面试作为难题也很有可能遇到.
Last updated