堆排序算法流程图
2023-07-04 20:04:50 0 举报
本图通过一个示例(利用大根堆进行排序)介绍堆排序的过程。 算法的基本思想: 1.首先将待排序的数组构造成一个大根堆,此时,整个数组的最大值就是堆结构的顶端 2.将顶端的数与末尾的数交换,此时,末尾的数为最大值,剩余待排序数组个数为n-1 3.将剩余的n-1个数再构造成大根堆,再将顶端数与n-1位置的数交换,如此反复执行,便能得到有序数组
作者其他创作
大纲/内容
3
8.堆顶元素23与有效元素中最后一个元素4替换
10
7.调整有效元素列表为堆:堆顶元素3与其左子树10替换
10.堆顶元素11与有效元素中最后一个元素3替换
9.调整有效元素列表为堆:堆顶元素4与其左子树11替换
11
2.堆顶元素56与有效元素中最后一个元素4替换
1.最大堆
4.调整有效元素列表为堆:堆顶元素4与其右子树11替换
23
3.调整有效元素列表为堆:堆顶元素与其右子树44替换
6.调整有效元素列表为堆:堆顶元素3与其左子树23替换
44
5.堆顶元素44与有效元素中最后一个元素3替换
56
4
11.调整有效元素列表为堆:堆顶元素3与其左子树10替换
13.调整有效元素列表为堆:堆顶元素3与其右子树4替换
12.堆顶元素10与有效元素中最后一个元素3替换
堆排序算法流程图
15.堆顶元素3与有效元素中最后一个元素3替换,此时已为升序数组
14.堆顶元素4与有效元素中最后一个元素3替换
0 条评论
下一页