10-9-堆排序-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版
课本源码部分
第10章 内部排序 - 堆排序
——《数据结构》-严蔚敏.吴伟民版
源码使用说明 链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑
习题集全解析 链接☛☛☛ 《数据结构题集》习题解析合辑
本源码引入的文件 链接☛ SequenceListType.c
文档中源码及测试数据存放目录:数据结构\▲课本算法实现\▲10 内部排序\09 HeapSort
概述
堆排序(Heap Sort)是利用堆积树(堆)这种数据结构所涉及的一种排序算法,它是选择排序的一种。
解析
堆排序利用数组的特点快速定位指定索引的元素,其仅需一个记录用作辅助存储空间。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值,即A[PARENT[i]] >= A[i]。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一定在堆顶。而小根堆恰好相反,最小的值在堆顶。
源码
文件一 ☛ HeapSort.h
文件二 ☛ HeapSort.c
文件三 ☛ HeapSort-main.c (测试文档)
文件四 ☛ TestData.txt(排序表测试数据)
测试结果展示