当前位置:网站首页>树——前序
树——前序
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 //右结点
}
边栏推荐
猜你喜欢
MySql的Sql语句的练习(试试你能写出来几道呢)
ZEMAX | 如何围绕空间中的任何点旋转任何元素
内网渗透信息收集
深度学习理论课程第四、五章总结
ZEMAX | 在 OpticStudio 中使用自由曲面进行设计
ZEMAX | 在OpticStudio中建立扩增实境(VR)头戴式显示器
Practice of MySql's Sql statement (try how many you can write)
IPC通信 - 管道
自监督论文阅读笔记Index Your Position: A Novel Self-Supervised Learning Method for Remote Sensing Images Sema
ZEMAX | 如何使用ZOS-API创建自定义操作数
随机推荐
自监督论文阅读笔记Reading and Writing: Discriminative and Generative Modelingfor Self-Supervised Text Recogn
A.1#【内存管理】——1.1.2 zone: struct zone
自监督论文阅读笔记 Self-supervised Label Augmentation via Input Transformations
【第二周】卷积神经网络
Difference between @JsonProperty and JSONField?
ZEMAX | 探索 OpticStudio中的序列模式
ZEMAX | 绘图分辨率结果对光线追迹的影响
PCB设计经验之模拟电路和数字电路区别为何那么大
深度学习理论课程第四、五章总结
最优化方法概述
网络间通信
ASP.NET MVC3的伪静态实现
ZEMAX | How to rotate any element around any point in space
VS2022 encapsulation under Windows dynamic library and dynamic library calls
MATLAB自带的dwt2和wavedec2函数实现基于小波变换的自适应阈值图像边缘检测
全球一流医疗技术公司如何最大程度提高设计工作效率 | SOLIDWORKS 产品探索
贴片电阻的结构是怎样的?唯样商城
POE交换机全方位解读(中)
二叉树常见的问题和解决思路
在大程序中怎么样显示LED点阵