什么是java算法
算法是指解題方案的準(zhǔn)確而完整的描述,是一系列解決問題的清晰指令,java算法就是采用Java語言來實現(xiàn)解決某一問題的清晰指令。
算法的特征:
輸入性:有零個或多個外部量作為算法的輸入
輸出性:算法產(chǎn)生至少一個量作為輸出
確定性:算法中每條指令清晰,無歧義
有窮性:算法中每條指令的執(zhí)行次數(shù)有限,執(zhí)行每條指令是時間也有限
可行性:算法原則上能夠精確的運行,而且人們用紙和筆做有限次運算后即可完成
程序:算法用某種程序設(shè)計語言的具體實現(xiàn),程序可以不滿足又窮性
算法的四個標(biāo)準(zhǔn):
正確性:在合理的數(shù)據(jù)輸入下,能在有限時間內(nèi)得出正確的結(jié)果
可讀性:應(yīng)易于人的理解,易于調(diào)試
健壯性:具備檢查錯誤和對錯誤進行適當(dāng)處理的能力
效率:算法執(zhí)行時所需計算機資源的多少,包括運行時間和存儲空間
算法的描述形式:1、自然語言 2、算法框圖法 3、偽代碼語言 4、高級程序設(shè)計語言
算法設(shè)計的一般過程:
1、理解問題
2、預(yù)測所有可能是輸入
3、在精確解和近似解間做選擇
4、確定適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)
5、算法設(shè)計技術(shù)
6、描述算法
7、跟蹤算法
8、分析算法的效率
9、根據(jù)算法編寫代碼
下面是Java實現(xiàn)的一個算法:冒泡排序
/** * 冒泡排序 */ public class BubbleSort1 { public static void BubbleSort(int[] arr) { boolean flag = true; while(flag){ int temp;//定義一個臨時變量 for(int i=0;i<arr.length-1;i++){//冒泡趟數(shù),n-1趟 for(int j=0;j<arr.length-i-1;j++){ if(arr[j+1]<arr[j]){ temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; flag = true; } } if(!flag){ break;//若果沒有發(fā)生交換,則退出循環(huán) } } } } public static void main(String[] args) { int arr[] = new int[]{1,6,2,2,5}; BubbleSort.BubbleSort(arr); System.out.println(Arrays.toString(arr)); } }
相關(guān)文章教程推薦:java入門教程