資料結構與演算法分析之簡單排序演算法

來源:互聯網
上載者:User

標籤:blog   http   java   strong   資料   width   

    在排序演算法中,簡單排序主要有三種,分別為冒泡排序、選擇排序、插入排序,學習理解好這三種排序演算法有助於進一步研究資料結構與演算法分析。下面,簡單地談一談冒泡排序、選擇排序、插入排序的原理及區別。


冒泡排序原理:1、比較相鄰的元素。如果前一個比後一個大,它們就交換。2、每對元素都要進行同樣的動作,從後往前比較。3、每趟都會確定一個位置的元素,因此n個元素,需要n-1趟才能確定各個元素的位置。 例如:對23,4,56,11四個數進行冒泡排序。第一趟 4,23,11,56第二趟 4,11,23,56第三趟 4,11,23,56Java程式實現如下:  選擇排序原理:1、選擇排序與其他兩種排序相比,會多了一個虛擬指標,該指標永遠指向每趟比較中最小值所在的位置下標。2、每一趟比較都與虛擬指標所對應的元素比較,如果該元素比指標所對應的元素小,那麼虛擬指標指向新的地址,進行下一個元素比較。3、每趟都會確定一個位置的元素,因此n個元素,需要n-1趟才能確定各個元素的位置。 例如:對23,4,56,11四個數進行選擇排序。第一趟 4,23,56,11第二趟 4,11,56,23第三趟 4,11,23,56Java程式實現如下:

插入排序原理:1、元素區被分成有序地區和無序地區。2、從第二個元素開始,與前面的元素比較,確定插入的位置。3、如果元素大於比較元素,則改元素需要往後移動。 例如:對23,4,56,11四個數進行插入排序。第一趟 4,23,56,11第二趟 4,23,56,11第三趟 4,11,23,56Java程式實現如下:

三種簡單排序的異同點:1、冒泡排序和選擇排序每一趟都會確定一個位置上的元素,兩者的排序效率比較低。2、選擇排序隱含著最小值指標,每趟比較都與該指標所對元素比較。3、插入排序在排序過程中有明顯的分區,一邊為有序的元素,一邊為無序的元素。4、插入排序的效率比冒泡排序和選擇排序的效率都高。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.