数据结构--树和二叉树的一些知识点总结

  1. 树是n个结点的有限集,当n=0时,称为空树。
  2. 树是一种递归的数据结构,树作为一种逻辑结构同时也是一种分层的结构
  3. 结点的深度是从根开始自顶向下累加;结点的高度是从叶结点自底向上累加
  4. 由于树中的分支是有向的,即从双亲指向孩子,所以树中的路径是从上向下的,同一双亲的两个孩子之间不存在路径
  5. 树的结点数等于所有结点度数和加1
  6. 度为m的树中第i层上至多有pow(m,i-1)个结点
  7. 高度为h的m叉树至多有pow(m,h)-1/(m-1)个结点
  8. 树的路径长度是从树根到每个结点的路径长度的总和
  9. 二叉树是有序树,二叉树可以为空
  10. 一颗高度为h且含有pow(2,h)-1个结点的二叉树为满二叉树,每层结点为pow(2,h-1)
  11. 完全二叉树叶子结点只可能出现在最大的两层上;若有度为1的结点只可能有一个且在左孩子上
  12. 非空二叉树上的叶子结点数等于度为2的结点数加1,即n0=n2+1
  13. 具有n个结点的完全二叉树的高度为log(n+1)或logn+1
  14. 二叉树的遍历分为先序、中序、后序遍历
  15. 二叉树的线索化是将二叉链表中的空指针改为指向前驱或后继的线索。而前驱或后继的信息只有在遍历时才能得到,因此线索化的实质是遍历一次二叉树
  16. 引入线索二叉树的目的是加快查找结点的前驱或后驱的速度
  17. 树转二叉树:在兄弟结点之间加一连线;对每个结点只保留它与第一个孩子的连线;以树根为轴心顺时针旋转45°
  18. 二叉排序树的删除:若为叶节点则直接删除;若只有左或右则让子树代替;若有左和右则在右孩子找中序第一个填补
  19. 从树的根到任意结点的路径长度与该结点上权值的乘积称为该节点的带权路径长度
  20. 树中所有叶节点的带权路径长度和称为该树的带权路径长度
  21. 构造哈夫曼树的过程共新建了n-1个结点,因此哈夫曼树的结点总数为2n-1
  22. 在二叉排序树中进行查找的效率与二叉排序树的深度有关
相关推荐
朝朝又沐沐4 小时前
算法竞赛阶段二-数据结构(36)数据结构双向链表模拟实现
开发语言·数据结构·c++·算法·链表
艾莉丝努力练剑6 小时前
【数据结构与算法】数据结构初阶:详解排序(二)——交换排序中的快速排序
c语言·开发语言·数据结构·学习·算法·链表·排序算法
科大饭桶6 小时前
数据结构自学Day13 -- 快速排序--“前后指针法”
数据结构·算法·leetcode·排序算法·c
设计师小聂!8 小时前
力扣热题100----------53最大子数组和
java·数据结构·算法·leetcode
YouQian7729 小时前
问题 C: 字符串匹配
c语言·数据结构·算法
yanxing.D9 小时前
408——数据结构(第二章 线性表)
数据结构·算法
艾莉丝努力练剑9 小时前
【LeetCode&数据结构】二叉树的应用(二)——二叉树的前序遍历问题、二叉树的中序遍历问题、二叉树的后序遍历问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表
waveee12311 小时前
学习嵌入式的第三十三天-数据结构-(2025.7.25)服务器/多客户端模型
服务器·数据结构·学习
花开富贵ii11 小时前
代码随想录算法训练营二十八天|动态规划part01
java·数据结构·算法·leetcode·动态规划
Swiler12 小时前
数据结构第1问:什么是数据结构?
数据结构·算法