●叶子节点=度为2的节点数+1
●线索二叉树:结点中加入一个前驱和后继.
树的存储:双亲法(因为每个节点只有一个父节点,所以只存一个parent即可),孩子法,孩子兄弟法
●有序查找:2分,斐波那契查找.斐波那契法:比如表里面有20个元素.斐波那契数列是1,1,2,3,5,8,13,21那么我们就找13开始,然后继续找下标.基本也是一个对半的过程.
●动态查找表:当表中没有这个key的查找记录时候,用随便一个方法找一下,然后把结果记录下来. 例子:2叉搜索树,红黑树,B树,B+树,trie树,dat树,哈希表
●排序方法:老考,虽然不用但是思想老考.需要掌握
插入排序:讲一个记录插入到已经排好序的有序表中.
希尔排序:先将整个序列分割成若干个子序列分别进行插入排序,然后堆整体进行一次插入排序即可.
选择排序:第一次找到最小的放到第一个位置,第二次从[1:]中选最小的放第二个位置...........
堆排序,归并排序
链式基数排序:效率O(N) 也叫桶排序.他是稳定的排序方法.
第一步 以LSD为例,假设原来有一串数值如下所示: 73, 22, 93, 43, 55, 14, 28, 65, 39, 81 首先根据个位数的数值,在走访数值时将它们分配至编号0到9的桶子中: 0 1 81 2 22 3 73 93 43 4 14 5 55 65 6 7 8 28 9 39 第二步 接下来将这些桶子中的数值重新串接起来,成为以下的数列: 81, 22, 73, 93, 43, 14, 55, 65, 28, 39 接着再进行一次分配,这次是根据十位数来分配: 0 1 14 2 22 28 3 39 4 43 5 55 6 65 7 73 8 81 9 93 第三步 接下来将这些桶子中的数值重新串接起来,成为以下的数列: 14, 22, 28, 39, 43, 55, 65, 73, 81, 93 这时候整个数列已经排序完毕