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

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

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

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

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

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

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

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

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

链式二叉树

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

树个数的遍历

树的叶子的遍历

相关推荐
半夏知半秋16 小时前
rust学习-探讨为什么需要标注生命周期
开发语言·笔记·学习·算法·rust
漫随流水17 小时前
leetcode算法(二叉树的层序遍历Ⅱ)
数据结构·算法·leetcode·二叉树
源代码•宸17 小时前
Leetcode—166. 加一【简单】new(big.Int)法
经验分享·算法·leetcode·职场和发展·golang·new.bigint
性感博主在线瞎搞17 小时前
【算法】KMP算法的next数组的数学原理以及推导过程
数据结构·算法·kmp算法
老鼠只爱大米17 小时前
LeetCode算法题详解 128:最长连续序列
算法·leetcode·面试题·并查集·哈希集合·最长连续序列
一起努力啊~17 小时前
算法刷题--移除元素
算法
福楠17 小时前
C++ STL | 容器适配器
c语言·开发语言·数据结构·c++
ballball~~17 小时前
正态(高斯)分布(Gaussian distribution)
算法·概率论
独自破碎E17 小时前
链表中环的入口结点
数据结构·链表
Blossom.11817 小时前
强化学习推荐系统实战:从DQN到PPO的演进与落地
人工智能·python·深度学习·算法·机器学习·chatgpt·自动化