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 的增長率成正比,...