- 树是n个结点的有限集,当n=0时,称为空树。
- 树是一种递归的数据结构,树作为一种逻辑结构同时也是一种分层的结构
- 结点的深度是从根开始自顶向下累加;结点的高度是从叶结点自底向上累加
- 由于树中的分支是有向的,即从双亲指向孩子,所以树中的路径是从上向下的,同一双亲的两个孩子之间不存在路径
- 树的结点数等于所有结点度数和加1
- 度为m的树中第i层上至多有pow(m,i-1)个结点
- 高度为h的m叉树至多有pow(m,h)-1/(m-1)个结点
- 树的路径长度是从树根到每个结点的路径长度的总和
- 二叉树是有序树,二叉树可以为空
- 一颗高度为h且含有pow(2,h)-1个结点的二叉树为满二叉树,每层结点为pow(2,h-1)
- 完全二叉树叶子结点只可能出现在最大的两层上;若有度为1的结点只可能有一个且在左孩子上
- 非空二叉树上的叶子结点数等于度为2的结点数加1,即n0=n2+1
- 具有n个结点的完全二叉树的高度为log(n+1)或logn+1
- 二叉树的遍历分为先序、中序、后序遍历
- 二叉树的线索化是将二叉链表中的空指针改为指向前驱或后继的线索。而前驱或后继的信息只有在遍历时才能得到,因此线索化的实质是遍历一次二叉树
- 引入线索二叉树的目的是加快查找结点的前驱或后驱的速度
- 树转二叉树:在兄弟结点之间加一连线;对每个结点只保留它与第一个孩子的连线;以树根为轴心顺时针旋转45°
- 二叉排序树的删除:若为叶节点则直接删除;若只有左或右则让子树代替;若有左和右则在右孩子找中序第一个填补
- 从树的根到任意结点的路径长度与该结点上权值的乘积称为该节点的带权路径长度
- 树中所有叶节点的带权路径长度和称为该树的带权路径长度
- 构造哈夫曼树的过程共新建了n-1个结点,因此哈夫曼树的结点总数为2n-1
- 在二叉排序树中进行查找的效率与二叉排序树的深度有关
数据结构--树和二叉树的一些知识点总结
小张同学(恩师白云)2024-07-09 21:09
相关推荐
CS创新实验室5 小时前
从顺序表到动态数组:数据结构的永恒基石与现代语言的优雅封装8Qi86 小时前
LeetCode 23. 合并 K 个升序链表 —— 小顶堆(PriorityQueue)QiLinkOS7 小时前
《打破“用爱发电”:一种基于 Gitee 与时间戳的开源权益分配机制探索》Boom_Shu9 小时前
长方形的关系Lsk_Smion10 小时前
力扣实训 _ [543].二叉树的直径 _ [23].合并K个升序列表ID_1800790547312 小时前
淘宝商品详情数据接口深度解析:架构、鉴权、数据结构与实战散峰而望13 小时前
【算法练习】算法练习精选:陶陶摘苹果(基础+升级)、Music Notes、字串变换,你能AC几道?凤凰院凶涛QAQ13 小时前
《Java版数据结构 & 集合类剖析》集合框架的封装设计与顺序表:“从 Iterable 到 ArrayList:集合框架的‘职业树“8Qi814 小时前
LeetCode 148. 排序链表 —— 解法一:自顶向下递归(分治 + 归并)8Qi814 小时前
LeetCode 148. 排序链表 —— 解法二:自底向上归并(迭代,O(1) 空间)