亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

深入淺析java中的簡單選擇排序

發布時間:2020-11-18 16:04:22 來源:億速云 閱讀:142 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關深入淺析java中的簡單選擇排序,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

選擇排序的基本算法思想:

每一趟在 n-i+1 (i=1,2,3,……,n-1)個記錄中選取關鍵字最小的記錄作為有序序列中第i個記錄。

簡單選擇排序:

設所排序序列的記錄個數為n。i取1,2,…,n-1,從所有n-i+1個記錄(Ri,Ri+1,…,Rn)中找出排序碼最小的記錄,與第i個記錄交換。執行n-1趟 后就完成了記錄序列的排序。

算法實現代碼如下:

package exp_sort;
public class SimpleSelectSort {
  static int i;
  static int temp;
  public static void selectSort(int array[]) {
    for (i = 0; i < array.length; i++) {
      int k = i;  //記錄當前位置
      for (int j = i + 1; j < array.length; j++) {
        if (array[j] < array[k]) {   //找出最小的數,并用k指向最小數的位置
          k = j;
        }
      }
            //交換最小數array[k]與第i位上的數
      if (k != i) {
        temp = array[i];
        array[i] = array[k];
        array[k] = temp;
      }
    }
  }
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    int array[] = { 38, 62, 35, 77, 55, 14, 35, 98 };
    selectSort(array);
    for (int i = 0; i < array.length; i++) {
      System.out.print(array[i] + " ");
    }
    System.out.println("\n");
  }
}

算法分析:

在此排序過程中,需要移動記錄的次數比較少。最好情況下,即待排序記錄初始狀態就已經是正序排列了,則不需要移動記錄;最壞情況下,即待排序記錄初始狀態是按照逆序排列的,則需要移動次數最多是:3(n-1)。排序過程中需要進行的比較次數與初始狀態下待排序的記錄序列的排列情況無關。當i=1時,需要進行n-1次比較;當i=n時,共需要進行的比較次數是:n(n-1)/2,即比較操作的時間復雜度是:O(n^2),進行移動操作的時間復雜度為O(n);該排序是不穩定排序

關于深入淺析java中的簡單選擇排序就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宝鸡市| 文安县| 泸西县| 昔阳县| 长垣县| 上虞市| 西安市| 罗山县| 嘉兴市| 东明县| 安泽县| 县级市| 江川县| 象州县| 新丰县| 宜兰市| 象山县| 扎囊县| 襄垣县| 庆阳市| 武邑县| 建瓯市| 南川市| 陕西省| 开原市| 喀什市| 泸定县| 依兰县| 北京市| 古交市| 德阳市| 荣成市| 澳门| 同心县| 榕江县| 合山市| 额尔古纳市| 汽车| 乐陵市| 抚宁县| 铜山县|