神奇的树
学习
不知道叫啥的喵
写的自我学习笔记东西如果有问题,欢迎大家告诉我昂~。
展开
-
并查集
定义:并查集是一种维护集合的数据结构,他的名字中,“并”,“查”,“集”分别取自合并,查找,集合。所有说,并查集支持下面两个操作:合并:合并两个集合。查找:判断两个元素是否在一个集合。那么我们用什么实现并查集?答案:数组。 int father[N];其中,father[i]表示元素i的父亲节点。例如:如果father[i]=i,则说明元素i是该集合的根节点,但是对于同一个...原创 2020-01-22 16:40:55 · 1213 阅读 · 0 评论 -
在最小堆中进行插入操作,然后进行顺序输出
在看本章前需要先了解最小堆的构建以及堆排序:连接:最小堆:https://blog.csdn.net/weixin_43570155/article/details/103946065堆排序:https://blog.csdn.net/weixin_43570155/article/details/103946522在堆中增加一个值:直接插入到新元素的末尾,在根据句情况判断元素是否需要向上...原创 2020-01-12 18:02:17 · 238 阅读 · 0 评论 -
堆排序
实现原理:比如我们现在要进行从小到大的排序,则我们可以先建立最小堆(之前写过最小堆的建立,网址 https://blog.csdn.net/weixin_43570155/article/details/103946065),然后每次删除顶部元素(删除后将最后一个元素插入至根节点)并将顶部元素输出或者放入一个新的数组中,直到堆为空位置。最终输出的或者存放在新数组中的那个数就是已经排序好了的。...原创 2020-01-12 16:41:03 · 80 阅读 · 0 评论 -
最小堆的构建
堆是什么?是一种特殊的完全二叉树,such as:但是这个二叉树有一个特点,就是所有的父节点都比子节点要小,符合这样特点的完全二叉树我们称为最小堆。反之,如果所有父节点都要比子节点要大,这样的完全二叉树称为最大堆。如何构建堆如下图所示,我们先把一串数字存储在数组里面,因违反二叉树存在一个节点下标i的左子树下标是2i,右子树的下标是2i+1;所以我们存在二维数组里面也可以很好的查找到一个节...原创 2020-01-12 15:30:11 · 1451 阅读 · 0 评论