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

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

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

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

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

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

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

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

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

链式二叉树

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

树个数的遍历

树的叶子的遍历

相关推荐
一叶落43824 分钟前
题目:15. 三数之和
c语言·数据结构·算法·leetcode
y = xⁿ40 分钟前
【LeetCodehot100】2:两数相加 19 删除链表倒数第n个节点
数据结构·链表
老鱼说AI1 小时前
CUDA架构与高性能程序设计:异构数据并行计算
开发语言·c++·人工智能·算法·架构·cuda
罗湖老棍子2 小时前
【例 1】数列操作(信息学奥赛一本通- P1535)
数据结构·算法·树状数组·单点修改 区间查询
big_rabbit05022 小时前
[算法][力扣222]完全二叉树的节点个数
数据结构·算法·leetcode
张李浩3 小时前
Leetcode 15三题之和
算法·leetcode·职场和发展
2301_793804693 小时前
C++中的适配器模式变体
开发语言·c++·算法
x_xbx3 小时前
LeetCode:206. 反转链表
算法·leetcode·链表
abant23 小时前
leetcode 138 复制随机链表
算法·leetcode·链表
ab1515174 小时前
3.17二刷基础112 118 完成进阶52
数据结构·算法