排序方法統計

2021-09-26 05:24:46 字數 2011 閱讀 6088

1、氣泡排序

相鄰元素之間逐對兩兩比較,若不符合預期則先交換位置再繼續比較,如此,每次比較都能把最大或最小的元素放在預期位置,直到完成排序。

/// /// 氣泡排序

///

///

///

public static int popsort(int array)

else continue;}}

return arr;

}

2、快速排序

2、同時從數字序列的兩頭進行掃瞄對比,將大於參考值的數字都放於參考值的一側,小於參考值的數字置於另一側。直到i,j指向同乙個位置,這個位置即為參考值的預期位置,設為m。

3、對大於參考值一側,令i=m+1,對小於參考值的一側,令j=m-1。再分別對參考值的兩側重複步驟1、2。

4、重複步驟1、2、3,直到i>j。

/// /// 快速排序

///

///

///

///

///

private static int sortunit(int array, int left, int right)

array[left] = array[right];

counts.count2++;

while (array[left] <= key && right > left)

array[right] = array[left];

counts.count2++;

}//最後將基準數放到指標重合位置

array[left] = key;

return right;

}/// /// 快速排序

///

/// 要排序的無序陣列

/// 指標left

/// 指標right

public static void quicksort(int array, int left, int right)

//呼叫快速排序方法,將陣列和指標傳入

int index = sortunit(array, left, right);

//遞迴呼叫,分別對排序好的左右兩小部分(左邊小於原先基準數的數列 右邊大於原先基準數的數列)進行重複步驟排序

quicksort(array, left, index - 1);//左邊

quicksort(array, index + 1, right);//右邊

}

3.選擇排序

就像打擂台,把元素乙個乙個往擂台上擺,優勝劣汰,從而確定第一名,第二名,第三名。。。直到排序完成。

public static void selectsort(int  arr,int n)

}int tmp = arr[index];

arr[index] = arr[i];

arr[i] = tmp;

system.out.println(arrays.tostring(arr));

}}

4、二分查詢演算法

要求,序列是有序的,思想與快速排序類似,也運用了分而治之。

//遞迴實現二分法查詢

int binarysearch(int * a,int key,int low,int high)

int middle=(low+high)/2;

if(key==a[middle])

if(middle==low||middle==high)

if(key==a[high])

else

}if(keya[middle])

}//迴圈實現二分法查詢

int binarysearchbycircle(int * a,int key,int high)

if(keya[middle])

}return -1;

}

記得應用遞迴時,return,否則會一直執行到return -1,結束,導致輸出始終為-1.

演算法 統計排序(桶排序)

看了一道筆試題,說有100w個資料,範圍在0 65535之間,要求用最少的空間和最快的速度進行排序。剛開始的思路是,65535就是2 16,那首先要把資料型別定義為short。其次,要用最少的空間,那最好還是不用遞迴,那不用快排。不遞迴,速度又快,那肯定是堆排序了。o n 的空間 o nlogn 的...

篩選法統計素數

學習到一種高效的篩選素數的方法 埃拉託色尼篩選法,如果要選出 2,n 範圍內的素數,可以參考以下步驟 1.構造乙個 2,n 範圍的陣列,全部標記為1 true 2.刪除掉陣列中的非素數,將其標記為0 false 刪除2的倍數 刪除3的倍數 刪除4的倍數 沒有必要,已經在 中刪除了 刪除5的倍數 3....

統計學習方法 統計學習基礎(一)

監督學習 統計學習的三要素 模型評估與模型選擇 一 統計學習的特點 以方法為中心 目標是對資料進行 與分析 統計學習的方法 可以總結出統計學習的三要素 模型 策略和演算法。監督學習的任務是學習乙個模型,使模型能夠對任意給定的輸入能做出乙個好的 基本概念 假設空間 模型屬於由輸入空間到輸出空間的對映的...