数据结构二叉树等

●叶子节点=度为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
这时候整个数列已经排序完毕
View Code

 

posted on 2018-06-29 11:13  张博的博客  阅读(144)  评论(0)    收藏  举报

导航