1/**2
* 插入排序,在前k個元素有序的前提下插入arr[k],將前面有序元素依次與arr[k]比較、移動,
3* 最終將arr[k]插入有序元素中的合適位置,形成k+1個有序元素4*/
6public
void
testinsert()
13 arr[j] =temp;14}
15 }
1/**2
* 簡單選擇排序,每次遍歷選出min與相應位置元素交換,每次遍歷都可確定乙個元素的最終位置3*/
5public
void
test******select() 12}
13int t =arr[min];
14 arr[min] =arr[i];
15 arr[i] =t;16}
17 }
1/**2
* 氣泡排序,與相鄰的元素比較大小並交換,每一輪比較都會確定乙個元素的最終位置3*/
5public
void
testbubble() 13}
14}15 }
1/**2
* 歸併排序,將n個有序序列合併成k(k3
* 即先使用其他排序演算法進行小範圍排序,然後使用歸併排序進行合併。4*/
5int i=0, j=0;
6for(; iarr2.length;)
9if (i >=arr.length)
12else
if (j >=arr2.length)
資料結構與演算法基礎
電腦科學的研究物件是問題 解決問題的過程,以及通過該過程得到解決方案。演算法是具有有限步驟的過程,依照這個過程能解決問題。因此,演算法就是解決方案。電腦科學是研究問題及其解決方案,以及研究目前無解的問題的科學。可以簡答的認為電腦科學就是研究演算法的科學。抽象資料元素 沒有實際含義的資料元素,例如 a...
資料結構與演算法基礎
一 資料結構概述 資料結構的主要任務是通過分析資料物件的結構特徵,包括邏輯結構及資料物件之間的關係,然後把邏輯結構表示成計算機課實現的物理結構,從而便於計算機處理。概念術語 二 資料的邏輯結構與物理結構 邏輯結構 logical structure 是指在資料物件中資料元素之間的相互關係。資料元素之...
資料結構與演算法基礎(一)b 演算法和演算法分析
資料結構與演算法基礎 一 b 演算法和演算法分析 1.1 定義 對特定問題 求解方法和步驟 的一種描述 指令 的 有限序列 指令表示乙個或多個操作 1.2描述 自然語言 英語 中文 流程圖 傳統框圖 ns流程圖 1.3 演算法與程式 演算法考慮如何從輸入轉換為輸出,乙個問題有多個演算法 程式 用某種...