当前位置:网站首页>树——前序
树——前序
2022-08-03 05:25:00 【JanNinth】
树的总结:
- 概念(前序)
- 树的作用
- 二叉树
- 完全二叉树
- 代码(golang)——实现树结构基本定义
- 二叉排序树(二叉查找/搜索树)
- 平衡二叉树AVL
- 红黑树
- 线索二叉树(了解)
- 赫夫曼树
- B树(数据库)
- B+树(索引)
- 最小生成树
概念:
1、为什么存在树结构
相比于数组与链表:
数组的查询速度快O(1),但是删除等操作慢O(n)
链表的删除插入等操作快O(1),但是查询速度慢O(n)
树结构在一定程度上起到综合作用
查询时间复杂度(平均):O(logn)
删除插入操作(不同树结构不同)
2、二叉树
数据结构一般树结构,一般指 二叉树
根节点:头结点,树最上面的节点
父节点、子节点:如果一个节点下面连接多个节点,那么该节点称为父节点,它下面的节点称为子 节点。
叶子节点:没有任何子节点的节点称为叶子节点。
兄弟节点:具有相同父节点的节点互称为兄弟节点。
树的深度:从根节点开始(其深度为0)自顶向下逐层累加的。上图中,13的深度是1,30的深度是2,28的深度是3。
树的高度:从叶子节点开始(其高度为0)自底向上逐层累加的。54的高度是2,根节点23的高度是3
3、完全二叉树
二叉树的所有叶子结点都在最后一层或者倒数第二层,而且最后一层的叶子结点在左边连续,倒数第二层的叶子结点在右边连续,我们称之为全完二叉树。
4、代码实现树
二叉树 可以使用链表构成也可以使用数据:此处使用链表
// 定义二叉树结构
type LinkNode struct {
val int //二叉树存储的数据
leftNode *LinkNode //左节点
RightNode *LinkNode //右结点
}
边栏推荐
- Automatic ticket issuance based on direct reduction of China Southern Airlines app
- Typora
- 观看华为AI技术领域课程--深度学习前三章总结
- 全球一流医疗技术公司如何最大程度提高设计工作效率 | SOLIDWORKS 产品探索
- 交叉熵(第六周)
- 二阶段提问总结
- 三、final、finally、 finalize有什么不同?
- servlet学习(七)ServletContext
- Practice of MySql's Sql statement (try how many you can write)
- Makefile自动推导的简单例程
猜你喜欢
自监督论文阅读笔记 SimCLRV2 Big Self-Supervised Models are Strong Semi-Supervised Learners
MySql的Sql语句的练习(试试你能写出来几道呢)
Dynamic adjustment of web theme (2) Extraction
JSP的基本使用
JS--正则表达式
ZEMAX | 如何创建简单的非序列系统
VCC(电源)和 GND(地)之间电容的作用
ASP.NET MVC3的伪静态实现
IPC通信 - 管道
自监督论文阅读笔记 Multi-motion and Appearance Self-Supervised Moving Object Detection
随机推荐
梯度下降、反向传播
Difference between @JsonProperty and JSONField?
设备树解析源码分析<devicetree>-1.基础结构
2021-04-23
采用Trench肖特基二极管,实现功率密度的显著提升
JSP的基本使用
IPC通信 - 管道
SolidWorks 操作视频 | 流体分析结果演示
ZEMAX | 在设计抬头显示器(HUD)时需要使用哪些工具?
网络间通信
page fault-页异常流程
opencv目标检测
自监督论文阅读笔记Efficient Self-supervised Vision Pretraining with Local Masked Reconstruction
自监督论文阅读笔记: MoCoV2使用动量对比学习改进基线
ZEMAX | 在 OpticStudio 中使用自由曲面进行设计
Makefile
ARMv8 架构----armv8 类别
卷积神经网络入门
003_旭日X3派初探:利用无线串口通信控制舵机
softmax和最大熵