深入淺析java中的簡(jiǎn)單選擇排序

這篇文章將為大家詳細(xì)講解有關(guān)深入淺析java中的簡(jiǎn)單選擇排序,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了五河免費(fèi)建站歡迎大家使用!

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

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

簡(jiǎn)單選擇排序:

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

算法實(shí)現(xiàn)代碼如下:

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;  //記錄當(dāng)前位置
      for (int j = i + 1; j < array.length; j++) {
        if (array[j] < array[k]) {   //找出最小的數(shù),并用k指向最小數(shù)的位置
          k = j;
        }
      }
            //交換最小數(shù)array[k]與第i位上的數(shù)
      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");
  }
}

算法分析:

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

關(guān)于深入淺析java中的簡(jiǎn)單選擇排序就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

分享題目:深入淺析java中的簡(jiǎn)單選擇排序
URL標(biāo)題:http://bm7419.com/article16/jcecdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、外貿(mào)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、Google、網(wǎng)站排名、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化