全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

python快速排序的运作过程

发布时间:2023-11-12 01:19:56
发布人:xqq

python快速排序的运作过程

运作过程

1、从数列中挑出一个元素,称为基准,重新排序数列,所有元素比基准值小的摆放在基准前面。

所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区结束之后,该基准就处于数列的中间位置。这个称为分区操作。

2、小于基准值元素的子数列和大于基准值元素的子数列排序。

3、递归的最底部情形,是数列的大小是零或一。

也就是永远都已经被排序好了。虽然一直递归下去,但是这个算法总会结束,因为在每次的迭代中,它至少会把一个元素摆到它最后的位置去。

实例

#快速排序-递归

defquick_sort(alist,begin,end):

#递归的终止条件是begin>=last,即数组大小为1或0

#递归终止时,数组已经排好序了

ifbegin>=end:

return

else:

#以开头的值作为基准值,然后以基准值为界将数组分区,将分区后的左右两部分继续调用快速排序函数

mid_value=alist[begin]

low=begin

high=end

#分别从右往左寻找小于基准值的值,从左往右寻找大于基准值的值

whilelow

#从右往左寻找小于基准值的值

whilelow=mid_value:

high-=1

alist[low]=alist[high]

#从左往右寻找大于基准值的值

whilelow

low+=1

alist[high]=alist[low]

#循环结束时,low==high,这个位置正是基准点的位置

alist[low]=mid_value

#对low左边的元素执行快速排序

quick_sort(alist,begin,low-1)

quick_sort(alist,low+1,end)

if__name__=='__main__':

alist=[54,26,93,17,77,31,44,55,20]

print(alist)

quick_sort(alist,0,len(alist)-1)

print(alist)

以上就是python快速排序的运作过程,希望对大家有所帮助。更多Python学习教程请关注IT培训机构:千锋教育。

python培训

相关文章

python是什么意思啊

python是什么意思啊

2023-11-14
python库是什么意思

python库是什么意思

2023-11-14
python多进程取代多线程的探究

python多进程取代多线程的探究

2023-11-14
pythonGIL的原理

pythonGIL的原理

2023-11-14

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31
在线咨询 免费试学 教程领取