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

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

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

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

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

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

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

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

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

链式二叉树

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

树个数的遍历

树的叶子的遍历

相关推荐
HAPPY酷11 小时前
std::pair` 与 `std::map` 基础
开发语言·c++·算法
喜欢吃燃面11 小时前
基础算法:高精度
开发语言·c++·学习·算法
堕27411 小时前
java数据结构当中的《Lambda表达式》
java·数据结构·python
wengqidaifeng11 小时前
数据结构(三)栈和队列(下)队列:程序世界的秩序之美
数据结构
努力学算法的蒟蒻11 小时前
day84(2.12)——leetcode面试经典150
算法·leetcode·面试
程序员酥皮蛋12 小时前
hot 100 第二十三题 23.反转链表
数据结构·算法·leetcode·链表
TracyCoder12312 小时前
LeetCode Hot100(51/100)——155. 最小栈
数据结构·算法·leetcode
wu_asia12 小时前
每日一练叁
算法
dalong1012 小时前
A24:圈住小猫游戏
笔记·算法·游戏·aardio
Y.O.U..12 小时前
力扣刷题-86.分隔链表
算法·leetcode·链表