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
    评论
哈希表、二叉树、红黑树是常见的数据结构,它们各有优缺点,适用于不同的场景。 哈希表的优点: 1. 平均时间复杂度为 O(1),查找、插入、删除的效率非常高。 2. 能够灵活地处理不同的键值类型和哈希函数。 3. 适用于存储大量数据且需要快速查找、插入和删除的场景。 哈希表的缺点: 1. 最坏时间复杂度为 O(n),需要进行冲突处理。 2. 需要消耗大量的内存空间,尤其是在哈希表装载因子较大时。 3. 哈希函数的设计和调整比较复杂,需要考虑多种因素。 二叉树的优点: 1. 可以通过中序遍历得到有序序列,非常适合实现排序算法和搜索算法。 2. 在最坏情况下,时间复杂度为 O(log n),比哈希表的最坏情况 O(n) 更加可控。 3. 适用于存储有序数据和需要对数据进行排序和搜索的场景。 二叉树的缺点: 1. 在最坏情况下,时间复杂度会退化为 O(n),例如在二叉搜索树中插入有序数据。 2. 需要消耗大量的内存空间,尤其是在树的高度较大时。 3. 对于平衡二叉树,插入和删除操作较为复杂。 红黑树的优点: 1. 保证平衡性,插入和删除操作的时间复杂度为 O(log n)。 2. 可以通过中序遍历得到有序序列。 3. 适用于需要平衡性和效率的场景。 红黑树的缺点: 1. 实现比较复杂,难以理解和调试。 2. 对于较小的数据集,红黑树的性能可能不如其他数据结构,例如 AVL 树。 3. 适用于静态数据集,动态插入和删除操作频繁的场景,可能需要使用其他数据结构。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值