五月天堂网_免费看影片_1024手机看毛片_亚洲综合四区_男人的天堂影院_在线亚洲自拍

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 軟件研發(fā) > Python基礎(chǔ)篇:如何用Python實現(xiàn)排序算法

Python基礎(chǔ)篇:如何用Python實現(xiàn)排序算法

2020-06-17 14:53:35 | 來源:中培企業(yè)IT培訓網(wǎng)

排序是每個軟件工程師和開發(fā)人員都需要掌握的一項技能。不僅要通過編程訪談,而且要對程序本身有一個全面的了解。不同的排序算法,表明算法設(shè)計上如何嚴重影響程序的復雜性、運行速度和效率。實現(xiàn)排序算法的方法有很多,例如冒泡排序,選擇排序,歸并排序,希爾排序,快速排序,插入排序,堆排序,基數(shù)排序等,今天就給大家介紹,如何用Python實現(xiàn)排序算法的其中4個排序算法。

  方法一:快速排序

首先要打亂序列順序 ,以防算法陷入最壞時間復雜度。快速排序使用“分而治之”的方法。

對于一串序列,首先從中選取一個數(shù),凡是小于這個數(shù)的值就被放在左邊一摞,凡是大于這個數(shù)的值就被放在右邊一摞。然后,繼續(xù)對左右兩摞進行快速排序。

直到進行快速排序的序列長度小于 2 (即序列中只有一個值或者空值)。

  方法二:冒泡排序

冒泡排序(順序形式),從左向右,兩兩比較,如果左邊元素大于右邊,就交換兩個元素的位置。

其中,每一輪排序,序列中最大的元素浮動到最右面。也就是說,每一輪排序,至少確保有一個元素在正確的位置。

這樣接下來的循環(huán),就不需要考慮已經(jīng)排好序的元素了,每次內(nèi)層循環(huán)次數(shù)都會減一。

其中,如果有一輪循環(huán)之后,次序并沒有交換,這時我們就可以停止循環(huán),得到我們想要的有序序列了。

  方法三:選擇排序

選擇排序,每次選擇當前序列的最小值,將其與當前序列的第一個元素交換位置,每迭代一次,當前序列長度減一。迭代結(jié)束,即可得到有序序列。

  方法四:插入排序

插入排序的基本操作就是將一個數(shù)據(jù)插入到已經(jīng)排好序的有序數(shù)據(jù)中,從而得到一個新的、個數(shù)加一的有序數(shù)據(jù),算法適用于少量數(shù)據(jù)的排序,時間復雜度為O(n^2)。是穩(wěn)定的排序方法。

插入算法把要排序的數(shù)組分成兩部分:第一部分包含了這個數(shù)組的所有元素,但將最后一個元素除外(讓數(shù)組多一個空間才有插入的位置),而第二部分就只包含這一個元素(即待插入元素)。在第一部分排序完成后,再將這個最后元素插入到已排好序的第一部分中。

以上就是如何用Python實現(xiàn)排序算法的4種方法,不知道你學會了嗎。想了解更多Python的信息,請繼續(xù)關(guān)注中培偉業(yè)。

主站蜘蛛池模板: 久久网站免费看 | 毛片在线免费观看完整版 | 国产亚洲精品久久久美女18黄 | 红杏入口 | 黄色一级a毛片 | 亚洲国产91精品在线观看 | 欧美v日韩v | 精品国产一区二区三区噜噜噜 | 国产成a人亚洲精v品在线观看 | 国产精品视频区 | 在线播放亚洲视频 | 夜夜躁日日躁 | 10一13video| 尻逼影院| 成全视频免费高清观看在线动漫 | 男人av的天堂 | 最新日优天堂高清AV | 国内揄拍国内精品浪潮av | 国产二区精品在线观看 | 久久久在线视频 | 天天操天天射天天射 | 国产日韩欧美三级 | 成人AV鲁丝片一区二区免费 | 午夜精品久久久久久久99无限制 | 噼里啪啦国语版免费 | 中文字幕无码AV波多野吉衣 | 国产精品性爱亚洲av性爱 | 日本福利片 | 国产精品久久久久久无码不卡 | 三人交free性欧美 | 欧美国产日韩另类视频区 | 久久婷婷五月综合色和啪 | 日日摸夜夜爽无码 | 美丽的姑娘免费观看高清版 | av无码精品一区二区三区宅噜噜 | 狠狠色噜噜狼狼狼色综合久 | 亚洲第一视频在线播放 | 国产一区二区三区久久久久久 | 我爱52av好色| av不卡在线观看 | 日韩美女精品 |