基礎排序 選擇排序與效率

2021-10-10 17:02:39 字數 928 閱讀 4203

相關使用的工具類與介面

執行效率

/**

* 這是選擇排序方法

* 陣列長度[2000] 值範圍[1-2000] 消耗的時間為[5]毫秒

* 陣列長度[4000] 值範圍[1-4000] 消耗的時間為[8]毫秒

* 陣列長度[8000] 值範圍[1-8000] 消耗的時間為[12]毫秒

* 陣列長度[16000] 值範圍[1-16000] 消耗的時間為[47]毫秒

* 陣列長度[32000] 值範圍[1-32000] 消耗的時間為[188]毫秒

* 陣列長度[64000] 值範圍[1-64000] 消耗的時間為[742]毫秒

* 陣列長度[128000] 值範圍[1-128000] 消耗的時間為[2933]毫秒

* 陣列長度[256000] 值範圍[1-256000] 消耗的時間為[11697]毫秒

* 陣列長度[512000] 值範圍[1-512000] 消耗的時間為[47148]毫秒

*/@test

public

void

arraysorttest()

實現類

@override

public

int[

]arraysortmethod

(int

ints)

}//如果外迴圈指標minindex不等於 i

//則說明內迴圈中找到了比它還小的 則進行替換

if(i != minindex)

}return ints;

}

演算法效率的分析 以選擇排序與氣泡排序為基礎

在前面我們實現了選擇排序與氣泡排序的具體實現,現在我們從數學的角度分析下演算法的效率問題 首先我們把兩種排序演算法的概念重溫一遍 選擇排序 在每一輪中,找出最小的元素放在他最終的位置。挺起來有些彆扭,我們舉個例項 eg 8,5,1,20,6,3 1ed 1,5,8,20,6,3 2ed 1,3,8,...

選擇排序 直接選擇排序與堆排序

選擇排序即每次從待排序的數列中選擇乙個最小的元素,然後把它放在已排好序列的最前面 假定這裡從小到大排序 直至序列完全有序。選擇排序分為線性結構的直接選擇排序與非線性的堆排序,後者是用相當於把樹的元素存在陣列中,通過元素下標來區分孩子結點與父親結點等等 1.直接選擇排序 直接上 void select...

排序 氣泡排序與選擇排序

最近複習大學學過的演算法,這裡做個筆記。排序,我們學過 這裡需要了解什麼是時間複雜度,什麼是空間複雜度。簡單而言,時間複雜度指執行的次數,空間複雜度指消耗的記憶體。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序 如從大到小 首字母從z到a 錯誤就把他們交換過來。走訪元素的工作是重複地...