数据结构之堆排序和前,中,后,层序遍历,链式二叉树

首先我们要知道升序我们要建小堆,降序建大堆,这与我们的大多人直觉相违背。

因为我们大多数人认为应该将堆顶的数据输出,但如果这样就会导致堆顶出堆以后,堆结构会被破坏,显然我们不能这样。

所有我们反其道而行,每一次将最后一个子叶进行出堆操作。

就不会出现堆结构被破坏了。

再通过数学运算,堆排序的时间复杂度是N*logN;

并且从上往下建堆比从下往上要快。

现在我们要开始学习树的遍历。

树的遍历分三种递归遍历,前,中,后序遍历和一种循环遍历,层序遍历。

链式二叉树

此处是为了了解二叉树的结构,故重点不在增删查改,故为了方便期间,搭建好结点的信息以后,我们手动造树。

树个数的遍历

树的叶子的遍历

相关推荐
爱潜水的小L11 分钟前
自学嵌入式day28,文件操作
linux·数据结构·算法
2301_8003997214 分钟前
误用sizeof()计算指针
算法
ULTRA??23 分钟前
QT向量实现GJK碰撞检测算法几何图形二维版本
c++·qt·算法
flashlight_hi31 分钟前
LeetCode 分类刷题:987. 二叉树的垂序遍历
数据结构·算法·leetcode
小尧嵌入式32 分钟前
C++模板
开发语言·c++·算法
仰泳的熊猫36 分钟前
1120 Friend Numbers
数据结构·c++·算法·pat考试
仰泳的熊猫41 分钟前
1116 Come on! Let‘s C
数据结构·c++·算法·pat考试
Bear on Toilet1 小时前
17 . 爬楼梯
算法·深度优先
ACERT3331 小时前
03矩阵理论复习-内积空间和正规矩阵
算法·矩阵
肥猪猪爸1 小时前
TextToSql——Vanna的安装与使用
人工智能·python·算法·机器学习·大模型·ollama·vanna