三種簡單排序演算法

2021-08-26 12:18:01 字數 1628 閱讀 4689

一、氣泡排序

外層迴圈out,從n-1逐漸減小,內層迴圈in,從0逐漸增加到out,進行比較swap。

package com.xwiam.algorithms.sort;

public class bubblesort

public void insert(long value)

public int find(long value)

}return nelems;

}public boolean delete(long value) else

nelems--;

return true;}}

public void display()

system.out.println("");

}public void sort() }}

}private void swap(int source, int dest)

public static void main(string args)

}

二、選擇排序

package com.xwiam.algorithms.sort;

public class selectsort

public void insert(long value)

public int find(long value)

}return nelems;

}public boolean delete(long value) else

nelems--;

return true;}}

public void display()

system.out.println("");

}public void selectsort()

}swap(out, min);}}

private void swap(int source, int dest)

public static void main(string args)

}

三、插入排序

package com.xwiam.algorithms.sort;

public class insertsort

public void insert(long value)

public void display()

system.out.println("");

}public void insertsort()

instance[in] = temp;}}

public static void main(string args)

}

四、三種簡單排序演算法的比較

氣泡排序做了n*(n-1)/2次比較,如果資料是隨機的,交換的次數是n*(n-1)/4。(最壞的情況下,即初始資料逆序時,每次比較都需要交換)

選擇排序做了n*(n-1)/2次比較,交換的次數<=n。當n值較小時,特別是如果交換的時間比比較的時間級大得多時,選擇排序是相當快的。

插入排序 資料隨機的話,做了n*(n-1)/4次比較,複製次數和比較次數大致相等,如果資料基本順序排序的話,比較次數和複製次數只需要o(n) 的時間。

演算法 三種簡單排序演算法

排序演算法比較常見的有 氣泡排序 簡單選擇排序 直接插入排序 希爾排序 堆排序 歸併排序和快速排序演算法等。今天先學習一下前面三種比較簡單的演算法。排序的穩定性 兩個或多個元素相等,排序過後仍然是原來的順序則為穩定排序。內部排序 排序過程都在記憶體中進行 外部排序 需要對外存進行訪問的排序過程。內排...

三種簡單排序

1.氣泡排序 氣泡排序是一種簡單的排序演算法,其基本思想如下 1 從第乙個開始起,比較相鄰的兩個元素的大小,如果前乙個比後乙個大,則進行交換 也就是小的冒上去 2 然後再和之前相鄰元素進行比較,若小,則冒上去。2 重複以上操作,直到最後乙個元素。1 public static void bubble...

三種簡單排序分析

一 氣泡排序 氣泡排序的原理就是按順序取出數列中相鄰的兩個數,依次比較,互換位置,最終完成排序的目的。時間複雜度 如果序列的初始狀態為 正序 則氣泡排序只需要進行一次排序,在排序的過程中只需要進行n 1次比較,且不移動記錄 反之,如果序列的初始狀態為 逆序 則需要進行n n 1 2次比較和記錄移動。...