主函式import helper.sorttesthleper;
public class selectionsort
temp = a[i];
a[i] = a[minindex];
a[minindex] = temp;}}
}public static void main(string args)
}import j**a.util.random;
import sort.selectionsort;
public class sorttesthleper
return arr;
}// 列印陣列
public static > void printarray(t arr, int n)
}// 測試排序演算法效能
public static > void testsort( t arr, int n)
private static > void sort(t arr, int n)
// 判斷排序正確性
public static > boolean issorted(t arr, int n)
return true;
}}-資料為10000時
408ms
-資料為100000時
46438ms
-可以看資料量增加10倍,計算時間增加約100倍,是乙個o(n^2)的關係。
常見排序演算法效能測試
氣泡排序方法是最簡單的排序方法。這種方法的基本思想是,將待排序的元素看作是豎著排列的 氣泡 較小的元素比較輕,從而要往上浮。在氣泡排序演算法中我們要對這個 氣泡 序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,並時刻注意兩個相鄰的元素的順序是否正確。如果發現兩個相鄰元素的順序不對,即 輕...
測試演算法的效能(以選擇排序為例)
測試演算法的效能 很多時候我們需要對演算法的效能進行測試,最簡單的方式是看演算法在特定的資料集上的執行時間,簡單的測試演算法效能的函式實現見testsort 思想 用clock t計算某排序演算法所需的時間,endtime starttime clocks per sec來表示執行了多少秒。sort...
選擇排序的實現以及效能測試
用c 語言實現 選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法 比如序列 5,5,3 第一次就將第乙個 5 與 3 交換,導致第乙...