日韩在线不卡一区二区三区四区五区,欧美视频一区二区三,欧美视频中文字幕一区二区,高端 精品 国产 探花,亚欧无吗一二三四五六区
RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
python冒泡函數(shù)優(yōu)化 python冒泡程序

python寫冒泡排序

冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序算法。

道縣網(wǎng)站建設公司創(chuàng)新互聯(lián)建站,道縣網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為道縣上千余家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的道縣做網(wǎng)站的公司定做!

它重復地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來。走訪元素的工作是重復地進行直到?jīng)]有相鄰元素需要交換,也就是說該元素列已經(jīng)排序完成。

這個算法的名字由來是因為越小的元素會經(jīng)由交換慢慢“浮”到數(shù)列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名“冒泡排序”。

中文名

冒泡排序

外文名

Bubble Sort

所屬學科

計算機科學

時間復雜度

O(n2)

算法穩(wěn)定性

穩(wěn)定排序算法

快速

導航

算法分析算法描述優(yōu)化算法比較

算法原理

冒泡排序算法的原理如下:[1]

比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。[1]

對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數(shù)。[1]

針對所有的元素重復以上的步驟,除了最后一個。[1]

持續(xù)每次對越來越少的元素重復上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。

冒泡排序python代碼

.example-btn{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.example-btn:hover{color:#fff;background-color:#47a447;border-color:#398439}.example-btn:active{background-image:none}div.example{width:98%;color:#000;background-color:#f6f4f0;background-color:#d0e69c;background-color:#dcecb5;background-color:#e5eecc;margin:0 0 5px 0;padding:5px;border:1px solid #d4d4d4;background-image:-webkit-linear-gradient(#fff,#e5eecc 100px);background-image:linear-gradient(#fff,#e5eecc 100px)}div.example_code{line-height:1.4em;width:98%;background-color:#fff;padding:5px;border:1px solid #d4d4d4;font-size:110%;font-family:Menlo,Monaco,Consolas,"Andale Mono","lucida console","Courier New",monospace;word-break:break-all;word-wrap:break-word}div.example_result{background-color:#fff;padding:4px;border:1px solid #d4d4d4;width:98%}div.code{width:98%;border:1px solid #d4d4d4;background-color:#f6f4f0;color:#444;padding:5px;margin:0}div.code div{font-size:110%}div.code div,div.code p,div.example_code p{font-family:"courier new"}pre{margin:15px auto;font:12px/20px Menlo,Monaco,Consolas,"Andale Mono","lucida console","Courier New",monospace;white-space:pre-wrap;word-break:break-all;word-wrap:break-word;border:1px solid #ddd;border-left-width:4px;padding:10px 15px} 排序算法是《數(shù)據(jù)結構與算法》中最基本的算法之一。排序算法可以分為內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。常見的內(nèi)部排序算法有:插入排序、希爾排序、選擇排序、冒泡排序、歸并排序、快速排序、堆排序、基數(shù)排序等。以下是冒泡排序算法:

冒泡排序(Bubble Sort)也是一種簡單直觀的排序算法。它重復地走訪過要排序的數(shù)列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數(shù)列的工作是重復地進行直到?jīng)]有再需要交換,也就是說該數(shù)列已經(jīng)排序完成。這個算法的名字由來是因為越小的元素會經(jīng)由交換慢慢"浮"到數(shù)列的頂端。

作為最簡單的排序算法之一,冒泡排序給我的感覺就像 Abandon 在單詞書里出現(xiàn)的感覺一樣,每次都在第一頁第一位,所以最熟悉。冒泡排序還有一種優(yōu)化算法,就是立一個 flag,當在一趟序列遍歷中元素沒有發(fā)生交換,則證明該序列已經(jīng)有序。但這種改進對于提升性能來

說并沒有什么太大作用。 1. 算法步驟

比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。

對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。這步做完后,最后的元素會是最大的數(shù)。

針對所有的元素重復以上的步驟,除了最后一個。

持續(xù)每次對越來越少的元素重復上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。

2. 動圖演示

3. 什么時候最快

當輸入的數(shù)據(jù)已經(jīng)是正序時(都已經(jīng)是正序了,我還要你冒泡排序有何用?。?。

4. 什么時候最慢

當輸入的數(shù)據(jù)是反序時(寫一個 for 循環(huán)反序輸出數(shù)據(jù)不就行了,干嘛要用你冒泡排序呢,我是閑的嗎)。 5. JavaScript 代碼實現(xiàn) 實例 function bubbleSort ( arr ) {

var len = arr. length ;

for ( var i = 0 ; i arr [ j+ 1 ] :

? ? ? ? ? ? arr [ j ] , arr [ j + 1 ] = arr [ j + 1 ] , arr [ j ]

return arr

7. Go 代碼實現(xiàn) 實例 func bubbleSort ( arr [] int ) [] int {

? ? length := len ( arr )

? ? for i := 0 ; i length ; i ++ {

? ? ? ? ? ? for j := 0 ; j length - 1 - i ; j ++ {

? ? ? ? ? ? ? ? ? ? if arr [ j ] arr [ j + 1 ] {

? ? ? ? ? ? ? ? ? ? ? ? ? ? arr [ j ], arr [ j + 1 ] = arr [ j + 1 ], arr [ j ]

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? }

? ? return arr

}

8. Java 代碼實現(xiàn) 實例 public class BubbleSort implements IArraySort {

@Override

public int [ ] sort ( int [ ] sourceArray ) throws Exception {

? ? // 對 arr 進行拷貝,不改變參數(shù)內(nèi)容

? ? int [ ] arr = Arrays . copyOf ( sourceArray, sourceArray. length ) ;

? ? for ( int i = 1 ; i

在python中怎么進行冒泡排序呢?

python代碼和運行結果如下:

可見成功將亂序數(shù)組A按升序輸出

附源碼鏈接:冒泡排序


本文題目:python冒泡函數(shù)優(yōu)化 python冒泡程序
標題網(wǎng)址:http://biofuelwatch.net/article/doesjco.html
日韩在线不卡一区二区三区四区五区,欧美视频一区二区三,欧美视频中文字幕一区二区,高端 精品 国产 探花,亚欧无吗一二三四五六区