日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python排序算法(二) 快速排序、希尔排序、归并排序

發(fā)布時間:2025/3/12 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python排序算法(二) 快速排序、希尔排序、归并排序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這篇文章有的排序算法是:快速排序、希爾排序、歸并排序。

快速排序

''' 快速排序 '''def quick_sort(aList, first, last):if first >= last:returnmin_val = aList[first]low_index = firsthight_index = lastwhile low_index < hight_index:# hight 左移動while low_index < hight_index and min_val <= aList[hight_index]:hight_index -= 1aList[low_index] = aList[hight_index]# low 右移動while low_index < hight_index and min_val > aList[low_index]:low_index += 1aList[hight_index] = aList[low_index]aList[low_index] = min_val# 左邊quick_sort(aList, first, low_index - 1)# 右邊quick_sort(aList, low_index + 1, last)if __name__ == "__main__":li = [54, 26, 93, 17, 77, 31, 44, 55, 20]# li = [26, 93, 54]print(li)quick_sort(li, 0, len(li) - 1)print(li)

快速排序的思路是:

1、從列表中找出一個元素,min_val 作為“基準”元素。

2、然后對列表進行排序,排序的規(guī)則是,比min_val基準元素小的放在基準元素的左邊,比min_val 基準元素大的放在基準元素的右面。這個時候基準元素就在這個列表的中間的位置。這個稱為分區(qū)操作。

3、遞歸進行操作,就是在把基準元素左邊的元素當做一個列表重復第2步操作,把基準元素左邊的元素當做一個列表重復第2步操作。

歸并排序

''' 歸并排序 '''def merge_sort(aList):n = len(aList)if n <= 1:return aListmid = n//2left_li = merge_sort(aList[:mid])right_li = merge_sort(aList[mid:])left_pointer, right_pointer = 0, 0result = []while left_pointer < len(left_li) and right_pointer < len(right_li):if left_li[left_pointer] <= right_li[right_pointer]:result.append(left_li[left_pointer])left_pointer += 1else:result.append(right_li[right_pointer])right_pointer += 1result += left_li[left_pointer:]result += right_li[right_pointer:]return resultif __name__ == "__main__":li = [54, 26, 93, 17, 77, 31, 44, 55, 20]print(li)a = merge_sort(li)print(a)

歸并排序的思路是:

1、歸并排序的思想就是先遞歸分解數(shù)組,再合并數(shù)組。

2、然后將兩個列表第一個元素進行比較,將小的數(shù)據(jù)push到新的列表里面。

希爾排序

''' 希爾排序 '''def shell_sort(aList):n = len(aList)gap = n // 2while gap > 0:for j in range(gap, n):i = jwhile i > 0:if aList[i] < aList[i - gap]:aList[i - gap], aList[i] = aList[i], aList[i - gap]i -= gapelse:breakgap //= 2if __name__ == "__main__":li = [54, 26, 93, 17, 77, 31, 44, 55, 20]print(li)shell_sort(li)print(li)

?

總結(jié)

以上是生活随笔為你收集整理的Python排序算法(二) 快速排序、希尔排序、归并排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产剧情在线视频 | 高级家教课程在线观看 | 亚洲一区二区三区在线视频观看 | 91色漫| 欧美精品乱码久久久久久按摩 | 国产九九精品 | 国产一二三在线视频 | 免费无遮挡在线观看视频网站 | 成人一区二区精品 | 在线看网站 | 噜噜色网 | 色婷婷久久一区二区三区麻豆 | 有码av在线 | 国产精品情侣呻吟对白视频 | 一本到免费视频 | 福利姬在线播放 | 就操网| 欧美性猛交久久久乱大交小说 | 中国一级大黄大黄大色毛片 | 成人在线不卡 | 视频二区 | 日韩v在线 | 亚洲日本三级 | 18久久 | 欧美精品一区二区三区久久久 | free性满足hd国产精品久 | 激情久久中文字幕 | 91精品啪在线观看国产线免费 | 日韩 国产 在线 | 亚洲最色网站 | 黄色一极毛片 | 午夜日韩 | 日韩av看片| 日本一区二区在线免费 | 国产a大片 | 波多野结衣av在线免费观看 | 成年人性生活免费视频 | 亚洲品质自拍 | 免费男女乱淫真视频免费播放 | 国产一区免费在线观看 | 国产尤物在线观看 | 奇米影视欧美 | a一级视频 | 精品无码人妻一区二区三 | 亚洲天堂av线 | 激情在线观看视频 | 人妻洗澡被强公日日澡 | 久久久久亚洲精品中文字幕 | 性欧美在线视频 | 亚洲中文字幕一区二区在线观看 | 女同性69囗交 | 又粗又猛又爽又黄少妇视频网站 | 少妇性xxxxxxxxx色武功 | 精品国产乱码一区二区三 | 粉嫩av国产一区二区三区 | 操操操爽爽爽 | 夜夜嗨aⅴ一区二区三区 | 91丨国产丨捆绑调教 | 欧美日本一区二区三区 | 高跟鞋丝袜猛烈xxxx | 欧美视频在线观看视频 | 日韩av成人在线观看 | 中国黄色录像 | 国产呦系列 | 九九色精品 | 成年人免费网 | 91麻豆免费看 | 日韩在线电影一区 | 日韩一区中文 | 久久91av| 狠狠干2021 | 久久天堂视频 | 浴室里强摁做开腿呻吟男男 | 国产露脸150部国语对白 | 日本免费精品 | 久久久久亚洲av成人片 | 国内精品一区二区三区 | 男同精品 | 麻豆久久久9性大片 | 成人在线视频免费播放 | 国产免费一区二区三区网站免费 | 国产在线久 | 熟女熟妇伦久久影院毛片一区二区 | 亚洲av无码一区二区三区人 | 日本一区二区视频免费 | 老子影院午夜伦不卡大全 | 熟女俱乐部一区二区视频在线 | 岛国av在线免费观看 | 在线h网 | 污污内射在线观看一区二区少妇 | 日日干,夜夜操 | 一区二区成人网 | 中文日韩 | av在线资源网 | 日韩二区三区 | 久久久久久影院 | 亚洲综合中文字幕在线 | 一本色道久久综合亚洲精品图片 | 中文字幕一区二区精品 |