C&C++
发布时间:2022-04-03 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 使用链接列表进行堆排序,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道是否有人曾经使用链表进行堆排序,如果他们可以提供
代码.我已经能够使用数组进行heapsort,但是尝试在链表中进行操作似乎不切实际,只是在
你知道的地方痛苦.我必须为我正在做的项目实现
链接列表,任何帮助将不胜感激.
我也在使用C.
答案是“你不想在链表上实现堆排序.”
Heapsort是一个很好的排序算法,因为它是O(n log n)并且它是就地的.但是,当您有链接列表时,heapsort不再是O(n log n),因为它依赖于对数组的随机访问,而链接列表中没有该数组.因此,您要么丢失了就地属性(但需要定义树状结构是O(n)空间).或者您将需要不使用它们,但请记住链接列表是O(n)用于成员查找.这使运行时复杂性变得像O(n ^ 2 log n),这比bubblesort更糟糕.
只需使用mergesort.您已经有O(n)内存开销要求.
大佬总结
以上是大佬教程为你收集整理的c – 使用链接列表进行堆排序全部内容,希望文章能够帮你解决c – 使用链接列表进行堆排序所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。