初級排序演算法(二)

2021-08-08 16:49:59 字數 669 閱讀 6556

1. 選擇排序的遞迴實現

public static void choosesortrecursion(int arr) 

public static void recursion(int arr, int index)

} recursion(arr, ++index);

}

選擇排序是從位置0開始選擇最小的元素,每個位置的問題一樣,只是問題的規模變小,可以選擇遞迴。

從位置0到n - 2即可,因為到n - 1時只剩乙個元素,不需要再選擇。

2.插入排序的遞迴實現

public static void insertsortrecursion(int arr) 

public static void recursion(int arr, int index)

} recursion(arr, ++index);

}

3.複習一遍希爾排序

public static void shellsort(int arr) }}

h = (h - 1) / 3;

} }public static void exch(int arr, int a, int b)

初級排序演算法

回顧之前學習的各種排序演算法,從初級到高階,包括選擇排序,氣泡排序,插入排序,希爾排序,快速排序,歸併排序,堆排序等等,持續更新中 注 這裡實現的演算法都是遞增排序,也就是從小到大排序。思想 首先,找到陣列中最小的那個元素,其次,將它和陣列的第乙個元素交換位置 如果第乙個元素就是最小元素那麼它就和自...

初級排序演算法

排序模板 public class example private static boolean less comparable v,comparable w private static void exch comparable a,int i,int j private static void ...

演算法學習筆記(二) 初級排序演算法

時間複雜度 time complexity 總運算次數表示式中受n的變化影響最大的那一項 不含係數 注 若演算法中語句執行次數為乙個常數,則時間複雜度為o 1 若t n f n 求極限可得到一常數c,則時間複雜度t n o f n 隨著模組n的增大,演算法執行的時間的增長率和f n 的增長率成正比,...