Chapter 3 树与二叉树
2024-09-08 01:22:20
Chapter 3 树与二叉树
1- 二叉树
主要性质:
1 叶子结点数 = 度为2的结点数 + 1
2 二叉树第i层上最多有 (i≥1)个结点
3 深度为k的二叉树最多有 个结点
2- 二叉树的链式存储结构&&遍历
1 链式存储结构
2 先序
3 中序
4 后序
3- 线索二叉树
4- 树、二叉树、森林之间的转换
5- 树和森林的遍历
6- 树与二叉树的应用
1) 二叉排序树(查找/搜索)BST == Binary Sort/Search Tree
1 插入:一定是叶结点
2 删除:
叶子->直接删
只有一棵子树->删掉后接上子树
既有左子树,又有右子树->找到右子树最左结点/左子树最右结点代替它,然后删去。
3 查找效率分析
l 二叉排序树的ASL,主要取决于树高。
l 与二叉查找判定树相似,但二分唯一,二叉不唯一。
l 当有序表静态查找时,宜顺序表存储
l 二分查找动态查找时,宜二叉排序树
2) 平衡二叉树(AVL树)
平均查找长度ASL O(log2n)
3) 哈夫曼树(最优二叉树)
产生最短前缀码
注:
1- 树的路径长度是所有路长度的总和
Huffman的带权路径长度:根结点到任意结点的路径长度(经过的边数)与该结点上权值的乘积。
2- 二叉树与度为2的树不同。
3- 三种遍历时间复杂度O(n)
二叉排序树O(logn)
AVL树O(logn)
4- 栈:递归->非递归
队列:层次遍历
5- 先、中序/中、后序/中、层序,可唯一确定一棵二叉树
6- 前、中线索二叉树不再需要栈的支持,后序线索二叉树仍需要
7- 平衡二叉树结点递推公式
最新文章
- Jquery实现的简单轮播效果
- TCP三四次握手
- iOS 创建OpenGL 环境的思考
- .NetCore~Json代替了Xml
- ASP.NET 访问项目网站以外的目录文件
- leetcode 37. Sudoku Solver 36. Valid Sudoku 数独问题
- Android热插拔事件处理详解
- 网址导航18C
- sql行转列实例
- Get The Treasury HDU - 3642(体积扫描线)
- Ubuntu下配置PHP和CakePHP记录
- 【转】Android 获取本机号码(收集)
- laravel 5.5 《电商实战 》辅助函数
- es5,es6,typescript,nodejs
- 屏蔽响应事件继续向父视图传递的category
- zabbix报警优化
- Mina 组件介绍之 IoAcceptor 与 IoConnector
- Logger日志级别说明及设置方法、说明
- [Hack] 搭建渗透测试实验环境
- TortoiseGit推送失败的问题
热门文章
- fuzzy commitment 和fuzzy vault
- SQLSTATE[HY000]: General error: 1366 Incorrect string value
- python读文件判断是否已到EOF
- MQTT--笔记
- Nacos v0.7.0:对接CMDB,实现基于标签的服务发现能力
- RocketMQ在linux下安装部署
- STL容器set用法以及codeforces 685B
- idea2017.2普通web工程将lib包导入到artifact中的问题。
- 《DSP using MATLAB》Problem 8.34
- Linux 下 Nand Flash 驱动主要数据结构说明