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

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

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

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

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

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

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

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

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

链式二叉树

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

树个数的遍历

树的叶子的遍历

相关推荐
强化学习与机器人控制仿真40 分钟前
字节最新开源模型 DA3(Depth Anything 3)使用教程(一)从任意视角恢复视觉空间
人工智能·深度学习·神经网络·opencv·算法·目标检测·计算机视觉
Teacher.chenchong1 小时前
R语言实现物种分布预测与生态位分析:多元算法实现物种气候生态位动态分析与分布预测,涵盖数据清洗、模型评价到论文写作全流程
开发语言·算法·r语言
mit6.8241 小时前
高维状态机dp|环形dp
算法
Swift社区1 小时前
LeetCode 427 - 建立四叉树
算法·leetcode·职场和发展
u***j3241 小时前
算法设计模式总结
算法·设计模式
vir021 小时前
交换瓶子(贪心)
数据结构·算法
G***66912 小时前
算法设计模式:贪心与动态规划
算法·设计模式·动态规划
墨染点香2 小时前
LeetCode 刷题【160. 相交链表】
算法·leetcode·链表
少睡点觉2 小时前
LeetCode 238. 除自身以外数组的乘积 问题分析+解析
java·算法·leetcode
952363 小时前
数据结构-二叉树
java·数据结构·学习