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

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

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

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

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

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

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

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

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

、

链式二叉树

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

树个数的遍历

树的叶子的遍历

相关推荐
D e re k ZH14 分钟前
P5025 [SNOI2017] 炸弹
c++·算法
A boy CDEF girl23 分钟前
算法题专栏:优选算法
数据结构·算法·leetcode
没落之王29 分钟前
三易五行看宋朝的三界确立
大数据·人工智能·算法
坤坤子吖1 小时前
算法学习——单调队列
开发语言·c++·笔记·学习·算法
Js.Tx2 小时前
【具体数学 Concrete Mathematics】2.1.5 一般性的方法
算法·具体数学
秋天的怀念_David4 小时前
算法一千零一夜 · 作品相关:版权与致谢声明
程序人生·算法·学习方法
图灵-M4 小时前
【数据结构】静态 & 动态顺序表
c语言·数据结构·笔记
揽星河..4 小时前
【C语言】数组
c语言·开发语言·算法
careathers4 小时前
【数据结构】基于比较的排序算法 - 选择排序
数据结构·算法·排序算法
听风若依5 小时前
C++模板初阶
c++·算法