氣泡排序與選擇排序

2021-07-27 10:07:39 字數 1254 閱讀 3327

一、基礎氣泡排序的基礎概念

1.氣泡排序的演算法如下:重複地走訪要排序的數列,一次比較兩個元素,如果它們的順序錯誤,就把他們交換過來,走訪數列的工作需要重複進行,直到沒有再需要交換的數列,此時該數列已經完成排序。

二、冒泡演算法的基本思路

1.從頭開始掃瞄待排序的元素,在掃瞄的過程中一次對相鄰的元素進行比較,將關鍵字值較大的元素後移。          2.每經過一趟排序後,關鍵字值最大的元素將移到末尾,此時記下該元素的位置,下一次排序只需要比較到此位置為止,直到所有元素都已經被有序排列。

3.一般來說,對n個元素進行氣泡排序,總共需要進行n-1次,第一次需要比較n-1次,第二次需要比較n-2次,以此類推,第i次則需要比較n-i次,最後一次即第第n-1次需要比較1次。

三、選擇排序的基礎概念

1.選擇排序是一種簡單直觀的排序演算法,它的工作原理是每一次從待排序的資料元素中選出最小或者最大的乙個元素,將其存放在序列的起始位置,直到全部待排序的資料排完。

四、選擇排序的基本思路

選擇排序和氣泡排序差不多,只是氣泡排序在發現比它小時就交換位置,而選擇排序只有在確定了最小的資料之後才會發生交換。

1.和氣泡排序一樣,對n個元素進行選擇排序,總共需要進行n-1次,第一次需要比較n-1次,第二次需要比較n-2次.......第i次需要比較n-i次,最後一次即第n-1次需要比較一次。

2.第i趟選擇排序是通過n-i關鍵字的比較,從n-i個記錄中選出關鍵字最小的記錄,並和第i個記錄進行交換。

3.每一次比較相鄰元素時,僅將較小值的位置記錄下來,只有在一次迴圈完成以後確定了最小的資料,才發生交換。

五、排序口訣

外層迴圈長度-1

內層迴圈長度-1

外層迴圈中完成比較後值的交換

排序 氣泡排序與選擇排序

最近複習大學學過的演算法,這裡做個筆記。排序,我們學過 這裡需要了解什麼是時間複雜度,什麼是空間複雜度。簡單而言,時間複雜度指執行的次數,空間複雜度指消耗的記憶體。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序 如從大到小 首字母從z到a 錯誤就把他們交換過來。走訪元素的工作是重複地...

選擇排序與氣泡排序

今早心血來潮,又想看看氣泡排序.於是乎度娘一番,找到了度娘給我的這篇文章,前面的文字描述還是簡單易懂的,可惜給出的 示範有些文不對題.於是乎又wiki一番.發現上文給出的 形似選擇排序,於是總結如下 我們假設有乙個陣列 624159 對應的索引也就是 0 5,如果我想描述第二個位置,也就是數字2的位...

選擇排序與氣泡排序

選擇排序 static void sort1 int arr var temp arr i arr i arr min arr min temp 氣泡排序 static void sort2 int arr static void main string args sort1 arr foreach...