
堆是一种选择排序,堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种 。可以利用数组的特点快速定位指定索引的元素 。
【堆是一种什么排序】堆分为大根堆和小根堆,是完全二叉树 。大根堆的要求是每个节点的值都不大于其父节点的值 。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一定在堆顶 。
堆排序的时间,主要由建立初始堆和反复重建堆这两部分的时间开销构成,它们均是通过调用Heapify实现的 。
由于建初始堆所需的比较次数较多,所以堆排序不适宜于记录数较少的文件 。堆排序是就地排序,辅助空间为0 。它是不稳定的排序方法 。(排序的稳定性是指如果在排序的序列中,存在前后相同的两个元素的话,排序前和排序后他们的相对位置不发生变化)
推荐阅读
- 大写e的ascii码是多少
- 软件调试的目的是什么
- c语言可以处理的文件类型是
- 字符型是什么
- c语言中strcmp是什么意思
- ioexception是什么异常
- 什么是指针
- 16开纸是多大 16开的纸尺寸是多少
- 风湿热是什么病怎么治 风湿热是什么症状?怎样治疗?谢谢
- 干燥综合症怎么引起的 干燥综合症是什么原因引起的怎样治疗
