数据结构
文章平均质量分 96
默|笙
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【数据结构】八大排序详解
排序什么是排序?排序就是将一组数据按照某种规则重新排列,这个规则可以是升序,降序,当然也可以是我们自己所拟定的规则。应用场景我们在哪里可以接触到排序呢?比较明显的,想想我们平常刷抖音微博的那些热搜词条,为什么总是显示热度高的?是因为排序。比较隐晦的,想想我们平时用微信与qq发消息时,新发的消息总是在最下面,而不会跑到中间去,这是为什么?也是因为排序。原创 2025-04-28 22:01:58 · 952 阅读 · 1 评论 -
【数据结构】链式结构二叉树详解
根的左子树也是一颗二叉树,我们同样可以根据结构把它们分为小根节点(不是根节点,代称),小根节点的左子树,小根节点的右子树(右子树同样)。根的左子树也是一颗二叉树,我们同样可以根据结构把它们分为小根节点(不是根节点,代称),小根节点的左子树,小根节点的右子树(右子树同样)。思路:我们的二叉树只能访问目前节点它的左子树和右子树,想要一层层遍历,就需要我们访问它的左孩子之后立刻访问它的右孩子,但是这样我们就不能往回去遍历左子树了,我们需要将节点顺序进行存储,再顺序拿出。当然,节点本身也是要存点东西的,数据。原创 2025-04-13 22:51:00 · 1375 阅读 · 0 评论 -
【数据结构】堆排序和TopK问题详解
经过对堆的实现和理解,我们知晓了堆结构的特殊,即堆顶一定是最大值或最小值。如果我们反复的取堆顶元素进行打印然后删除,最后就能得到一串输出为升序或降序的值。那么,我们可不可以利用堆的这种特性来实现真正的排序呢?当然是可以的。那么接下来,就让我们走进堆排序吧~思路:既然要用到堆排序,那我们是不是要先进行建堆?而建堆最离不开的就是向上调整算法和向下调整算法。建完堆之后,放到存储结构里看,依然不是我们想要的升序或降序排列。我们还要进行下一个操作,那么利用堆顶的特性,把每次刷新的堆顶一直往后面放如何?原创 2025-04-08 00:43:44 · 1222 阅读 · 0 评论 -
【数据结构】---堆详解
思路:1.堆的底层结构是一个数组,为了避免静态数组的内存限制,在这里我们使用动态数组。2.为了实现之后对动态数组的插入和扩容等操作,我们定义了两个变量 size (记录动态数组存储的元素个数)和capacity(记录动态数组的总容量)。3.最后将三个变量封装为一个结构体,构成一个新的类型—堆。//堆结构的定义int size;}HP;对 int 类型进行重命名,这样我们在以后想利用堆存储其他类型的数据时,可仅修改这里的 int对结构体重命名,方便后续使用。原创 2025-04-06 14:23:13 · 1316 阅读 · 28 评论
分享