《演算法導論》中的演算法實現

2021-08-29 02:38:27 字數 1064 閱讀 9054

/**

* 插入排序

* * @param a

* @param desc 公升序

*/public static void insert(integer a, integer desc)

key = a[i];

}for (int k = 0; k < a.length; k++)

}/**

* 選擇排序法

* * @param a

*/public static void select(integer a)

}//a[i]與a[flag]交換位置

if (i != flag)

system.out.print("選擇排序第" + i + "步:");

for (int k = 0; k < a.length; k++)

system.out.println();

}}/**

* 分治法

* * @param a 為合併的陣列

* @param p 從下標 p開始

* @param q 下標中間 q

* @param r 下標r結束

*/public static void merge(integer a, integer p, integer q, integer r)

for (int j = 0; j < n2; j++)

int i = 0, j = 0;

int k = p;

while(true)else else

k++;}}

if(i==n1)

}else

}system.out.println("排序完的序列:");

for(int m=p;m<=r;m++)

}/**

* 合併排序

* @param a

* @param p

* @param r

*/public static void merge_sort(integer a,integer p,integer r)

}

演算法導論 演算法在計算中的作用

非形式地說,演算法就是任何良定義 對於良定義我的理解是給出的定義是清晰,不是模稜兩可的 地計算過程,該過程取某個值或值的集合作為輸入並產生某個值或值的集合作為輸出。這樣演算法就是把輸入轉換成輸出的計算步驟的乙個序列。我們也可以把演算法看成是用於求解良說明的計算問題的工具。一般來說,問題陳述說明了期望...

演算法導論 快速排序實現

package search 快速排序演算法導論 public class quicksort1 quicksort1 q new quicksort1 q.quicksort arr,0,arr.length 1 q.print1 arr 合併 public void quicksort int ...

演算法導論 隨機演算法

一.概率分布 對於有些問題本身是屬於概率問題,如僱傭問題 對於此類問題,我們需要利用概率分析來得到演算法的執行時間,有時也用來分析其他的量。例如,僱傭問題中的費用問題也需要結合概率分析來計算得到。為了使用概率分析,我們必須使用或者假設已知關於輸入的概率分布,然後通過分析該演算法計算出平均情況下的執行...