树、二叉树、查找算法总结
树、二叉树、查找算法总结
一、思维导图
二、重要概念的笔记
二叉树
1.仅有度数为0和2的节点的二叉树称为完全二叉树,每一层的节点数均达到最大值的二叉树称为满二叉树
2.线索二叉树的作用是为了加快查找节点的前驱或后继,分为前序,中序,后序线索二叉树
3.哈夫曼树是带权路径长度最小的的最优树
4.二叉排序树的意义在于方便快速查找,树的高度决定了查找的时间复杂度
5.平衡二叉树是二叉排序树的优化形式,左右子树高度不超过1
哈希算法
哈希算法的关键在于处理哈希冲突,有以下几种方法
1.线性探测法:当发生冲突时,将该节点往后移动直至找到空置的位置
2.平方探测法:当发生冲突时,将该节点置于当前位置n的n+-i的平方(加减交替)位置,直至找到空置位置。
3.拉链法:完全不同于以上两种算法,采用顺序表+链表方式存储实现,当发生冲突时,将该节点接在原冲突节点后
**x.学会计算查找成功和不成功的平均查找长度(ASL)
哈希表
用于查找中的比较,重点在上面的哈希算法
B-树与B+树
1.用于提高内存的利用率
2.特点:一个节点允许存储多个关键字
3.B-树与B+树的区别B+树的中间节点不保存数据,所以磁盘页能容纳更多节点元素b+树查找更稳定;对于范围查找来说,b+树只需遍历叶子节点链表即可,b树却需要重复地中序遍历
简而言之,B+树就像是一个带链表的B树