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

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

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

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

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

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

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

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

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

链式二叉树

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

树个数的遍历

树的叶子的遍历

相关推荐
I_LPL3 小时前
hot100 栈专题
算法·
此生只爱蛋3 小时前
【数据结构】红黑树
数据结构
2401_879503413 小时前
C++中的观察者模式变体
开发语言·c++·算法
阿贵---4 小时前
C++中的备忘录模式
开发语言·c++·算法
setmoon2144 小时前
C++中的观察者模式实战
开发语言·c++·算法
2403_835568474 小时前
C++代码规范化工具
开发语言·c++·算法
tankeven4 小时前
HJ138 在树上游玩
c++·算法
北顾笙9804 小时前
测开准备-day01数据结构力扣
数据结构
lihihi5 小时前
P1209 [USACO1.3] 修理牛棚 Barn Repair
算法
博界IT精灵5 小时前
栈在表达式求值中的应用(暂时看到视频3.3.2_1的25min19秒)
数据结构