文章 2023-07-13 来自:开发者社区

【数据结构】向上调整建堆和向下调整建堆的天壤之别以及堆排序算法

向上调整void AdjustUp(HPDataType* a, int child) { int parent = (child - 1) / 2; while (child > 0) { if (a[child] > a[parent]) { Swap(&a[child], &a[parent]); child = paren...

【数据结构】向上调整建堆和向下调整建堆的天壤之别以及堆排序算法
文章 2022-04-19 来自:开发者社区

一篇解建堆,堆的实现,堆排序,TopK问题(C语言)《数据结构与算法》

1. 堆的概念及结构 2. 堆的实现 在实现堆有两个比较重要的事情就是理解向上调整算法和向下调整算法。堆的向上调整算法:是为了在插入数据的时候使原来的结构不变,还是一个堆。堆的向下调整算法:1.是为了建堆。或者给你一个数组这个数组逻辑上可以看做一颗完全二叉树,但是还不是一个堆,我们要通过算法,把它构建成一个堆。2.删除堆数据的时候要用向下调整算法。2.1. 堆向下调整算法 现在我们给出一个数组,....

一篇解建堆,堆的实现,堆排序,TopK问题(C语言)《数据结构与算法》

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

智能引擎技术

AI Online Serving,阿里巴巴集团搜推广算法与工程技术的大本营,大数据深度学习时代的创新主场。

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问