当前位置: 首页 > news >正文

数据结构 - 树和二叉树

二叉树

二叉树:二叉树特点是每个结点最多只能有两棵子树,且有左右之分。

存储结构:使用数组存储,存储时按先序遍历存储,优点是层次和度与数组的索引存在对应关系,2的n次方+度

完全二叉树:

满二叉树:
二叉树的存储结构:
如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树

二叉搜索树

二叉搜索树是一棵二叉有序树,保证左子树上所有节点小于根节点的值,而右子树上所有节点的值都大于根节点的值。

树在平衡条件下的查询效率达到O(log2N),极端非平衡条件下查找效率退化到O(N)
若任意节点的左子树不为空,则左子树上所有节点的值均小于它的根节点的值
若任意节点的右子树不为空,则右子树上所有节点的值均大于它的根节点的值
任意节点的左、右子树也分别为二叉查找树
没有键值相等的节点
前序遍历【DLR】:前序遍历也叫先根遍历,先访问根节点然后遍历左子树,最后遍历右子树;
中序遍历【LDR】:中序遍历也叫中根遍历,先遍历左子树然后访问根节点,最后遍历右子树;
后序遍历【LRD】:后序遍历也叫后根遍历,先遍历左子树然后遍历右子树,最后访问根节点;

平衡二叉树

最优二叉树

哈夫曼树(Huffman)

B+ Tree

数据结构可视化:
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

B+树的特点:
每个树的节点只存放键值,不存放数值,而由叶子节点存放数值。这样数节点的度比较大,而高度比较低,从而有利于提高查询效率。
叶子节点存放数值,并按照大小顺序排序,且带指向相邻节点的指针,以便高效地进行区间查询。
B+树的更新操作不从根节点开始,而是从叶子节点开始。

日志结构合并树(LSM)

参考:https://blog.csdn.net/zmm0420/article/details/123751580

相关文章:

  • 【C++之类和对象】初识类和对象
  • React(一) —— 组件的创建与state
  • mysql-视图的定义和简单使用
  • PTA L1-027 出租(详解)
  • XXE漏洞常见利用点总结
  • 让你深夜emo的“网抑云”,是如何做产品设计的?
  • Codeforces Round #848 (Div. 2) D - Flexible String Revisit
  • 「题解」字符串中的所有单词进行倒排
  • 关于符合车规的高精度定位产品
  • 【Linux】基础网络编程
  • torch_geometric--Convolutional Layers
  • Java——OpenJDK和JDK的区别
  • Windows实时运动控制软核(六):LOCAL高速接口测试之Matlab
  • 下一代编解码技术Ali266在视频超高清领域的应用展望
  • 【K8S之调度器流程和扩展】如何给 scheduler 添加扩展插件、关闭默认插件、创建多个 scheduler?
  • kob配置git环境与项目创建
  • moment.js根据时间戳计算与当前时间相差多少天
  • VS2017编译gsf/surf/mbio —E0020 未定义标识符 “F_OK“
  • 【完美解决】Github action报错remote: Write access to repository not granted.
  • vulnhub之PRIME (2021): 2
  • 电加热油锅炉工作原理_电加热导油
  • 大型电蒸汽锅炉_工业电阻炉
  • 燃气蒸汽锅炉的分类_大连生物质蒸汽锅炉
  • 天津市维修锅炉_锅炉汽化处理方法
  • 蒸汽汽锅炉厂家_延安锅炉厂家
  • 山西热水锅炉厂家_酒店热水 锅炉
  • 蒸汽锅炉生产厂家_燃油蒸汽发生器
  • 燃煤锅炉烧热水_张家口 淘汰取缔燃煤锅炉
  • 生物质锅炉_炉
  • 锅炉天然气_天燃气热风炉