Java的算法讲解以及案例!
算法是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,java算法就是采用Java語言來實現(xiàn)解決某一問題的清晰指令。
算法的特征:
輸入性:有零個或多個外部量作為算法的輸入
輸出性:算法產(chǎn)生至少一個量作為輸出
確定性:算法中每條指令清晰,無歧義
有窮性:算法中每條指令的執(zhí)行次數(shù)有限,執(zhí)行每條指令是時間也有限
可行性:算法原則上能夠精確的運行,而且人們用紙和筆做有限次運算后即可完成
程序:算法用某種程序設(shè)計語言的具體實現(xiàn),程序可以不滿足又窮性
算法的四個標準:
正確性:在合理的數(shù)據(jù)輸入下,能在有限時間內(nèi)得出正確的結(jié)果
可讀性:應(yīng)易于人的理解,易于調(diào)試
健壯性:具備檢查錯誤和對錯誤進行適當處理的能力
效率:算法執(zhí)行時所需計算機資源的多少,包括運行時間和存儲空間
算法的描述形式:1、自然語言2、算法框圖法3、偽代碼語言4、高級程序設(shè)計語言
算法設(shè)計的一般過程:
1、理解問題
2、預(yù)測所有可能是輸入
3、在精確解和近似解間做選擇
4、確定適當?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
for(int j=0;j
if(arr[j+1]
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));
}
}
以上就為大家介紹的“Java的算法講解以及案例”的內(nèi)容,希望能夠給大家?guī)韼椭?/p>
本文來自千鋒教育,轉(zhuǎn)載請注明出處。
總結(jié)
以上是生活随笔為你收集整理的Java的算法讲解以及案例!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一些Java开发人员在编程中常见的雷!
- 下一篇: Java教程分享:五分钟了解一致性has