AVL树,红黑树,哈希表

每日一记

avl树
红黑树
B树系列(B B+)
树的遍历
散列

一,AVL树(带有平衡条件的查找树) 平衡树
定义:左右子树高度不大于1
通过插入会导致不平衡 删除(不考虑)

单旋转:左旋和右旋
双旋转:先局部,再整体 (先左后右,先右后左)

实现:
1,判断插入操作是否破坏平衡
2,选择单旋还是双旋
(1)对该节点的左儿子的左子树进行了一次插入 (右旋)
(2)对该节点的左儿子的右子树进行了一次插入 (先左后右)
(3)对该节点的右儿子的左子树进行了一次插入 (先右后左)
(4)对该节点的右儿子的右子树进行了一次插入 (左旋)
3,旋转

平衡树优缺点:提高了查询速度,降低插入速度 (相对于查找树)
红黑树的优缺点:稍微降低查询速度(相对于平衡树),大大提高插入速度
二,红黑树
定义:一棵接近平衡树的树
特性:
节点是红色或者黑色
根节点一定是黑色
每个叶子节点都是黑色的空节点(NIL节点)
每个红节点的两个子节点都是黑色的
从任一节点到其每个叶子节点的所有路径都包含相同数目的黑色节点

三,伸展树:是一种能够自我平衡的二叉查找树
四,三叉树
五,树的遍历
先序遍历 (根左右)
中序遍历 (左根右)
后序遍历 (左右根)
六,
满二叉树 :
其中一种定义为:一棵深度为k,且有2^k-1个节点的树是满二叉树
另外一种定义为:除了叶子节点外每一个节点都有左右子叶且叶子节点都处在最底层的二叉树
完全二叉树:
完全二叉树是由满二叉树而引出来的。对于深度为k的,有n个节点的二叉树,当且仅当其每一个节点都与深度为k的满二叉树中编号从1至n的节点一一对应时成为完全二叉树
最小生成树:
一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal算法或Prim算法求出。
七,哈希表
1,存储结构:
(1)普通哈希表
(2)带有单向链表的哈希表(解决冲突的)
(3)单链表可换成查找树
2,散列函数
一般的线性表,树中,记录在结构中的相对位置是随机的,即和记录的关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在"比较"的基础上,查找的效率依赖于查找过程中所进行的比较次数。 理想的情况是能直接找到需要的记录,因此必须在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使每个关键字和结构中一个唯一的存储位置相对应。
3,锁,分段锁
八,哈夫曼编码
压缩

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值