堆排序
堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏、最好、平均时间复杂度均为O(nlogn),它也是不稳定排序。
1. 算法步骤
1.1 创建一个堆[0......n-1];
1.2 把堆首(最大值)和堆尾互换;
1.3 把堆的尺寸缩小1,并调用shift_down(0),目的是把新的数组顶端数据调整到响相应位置;
1.4 重复步骤2,知道堆的尺寸为1。
堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏、最好、平均时间复杂度均为O(nlogn),它也是不稳定排序。
1.1 创建一个堆[0......n-1];
1.2 把堆首(最大值)和堆尾互换;
1.3 把堆的尺寸缩小1,并调用shift_down(0),目的是把新的数组顶端数据调整到响相应位置;
1.4 重复步骤2,知道堆的尺寸为1。
本文标题:十大排序算法之七:堆排序(Python)
本文链接:https://www.haomeiwen.com/subject/emhztctx.html
网友评论