Java的演算法講解以及案例!
演算法是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,java演算法就是採用Java語言來實現解決某一問題的清晰指令。
演算法的特徵:
輸入性:有零個或多個外部量作為演算法的輸入
輸出性:演算法產生至少一個量作為輸出
確定性:演算法中每條指令清晰,無歧義
有窮性:演算法中每條指令的執行次數有限,執行每條指令是時間也有限
可行性:演算法原則上能夠精確的執行,而且人們用紙和筆做有限次運算後即可完成
程式:演算法用某種程式設計語言的具體實現,程式可以不滿足又窮性
演算法的四個標準:
正確性:在合理的資料輸入下,能在有限時間內得出正確的結果
可讀性:應易於人的理解,易於除錯
健壯性:具備檢查錯誤和對錯誤進行適當處理的能力
效率:演算法執行時所需計算機資源的多少,包括執行時間和儲存空間
演算法的描述形式:1、自然語言2、演算法框圖法3、虛擬碼語言4、高階程式設計語言
演算法設計的一般過程:
1、理解問題
2、預測所有可能是輸入
3、在精確解和近似解間做選擇
4、確定適當的資料結構
5、演算法設計技術
6、描述演算法
7、跟蹤演算法
8、分析演算法的效率
9、根據演算法編寫程式碼
下面是Java實現的一個演算法:氣泡排序
/**
* 氣泡排序
*/
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;//若果沒有發生交換,則退出迴圈
}
}
}
}
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的演算法講解以及案例”的內容,希望能夠給大家帶來幫助。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2770432/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HyperLogLog 演算法的原理講解以及 Redis 是如何應用它的演算法Redis
- 通俗易懂--決策樹演算法、隨機森林演算法講解(演算法+案例)演算法隨機森林
- Spring:Bean的scope作用域案例講解以及Bean之間的依賴和繼承(3)SpringBean繼承
- 常用的資料分析方法及案例講解
- 精美圖文講解Java AQS 共享式獲取同步狀態以及Semaphore的應用JavaAQS
- Java中的static詳細講解Java
- Java講解RPC的基本實現JavaRPC
- 工廠模式講解以及DAOFactory開發模式
- Linux yum源配置以及yum命令講解Linux
- java之HashMap用法講解JavaHashMap
- 幾種排序演算法的原理以及 Java 實現排序演算法Java
- MVC 三層架構案例詳細講解MVC架構
- Python求10個數的平均數實戰案例講解!Python
- 演算法--揹包九講(詳細講解+程式碼)演算法
- NoSQL資料庫的分散式演算法講解SQL資料庫分散式演算法
- Java中棧和堆講解Java
- Js 的事件迴圈(Event Loop)機制以及例項講解JS事件OOP
- java 多執行緒(關於Thread的講解)Java執行緒thread
- Kubernetes stateful set講解以及一個基於postgreSQL的具體例子SQL
- 【案例講解】Python為什麼要使用描述符?Python
- 設計模式:用實際案例講解工廠模式設計模式
- HTML5前端常見攻擊方式案例講解!HTML前端
- 講講Java8的Optional類Java
- 面試題以及案例面試題
- 關於前端中常用的排序演算法-圖文講解前端排序演算法
- 深度優先搜尋演算法(DFS)講解演算法
- 深度優先搜尋演算法-dfs講解演算法
- 通俗易懂的講解一下Java的代理模式Java模式
- Dijkstra演算法和Floyd演算法超詳解以及區別演算法
- Java培訓:Java四大知識點講解Java
- 教科書級講解,秒懂最詳細Java的註解Java
- Java面試題講解,Java面試中最容易踩的坑請注意Java面試題
- Java RMI技術詳解與案例分析Java
- Java Stream過濾器案例解說 - FoojayJava過濾器
- 串的應用與kmp演算法講解--學習筆記KMP演算法筆記
- String類以及練習案例
- 【CNN】很詳細的講解什麼以及為什麼是卷積(Convolution)!CNN卷積
- 字串匹配演算法之 BF 和 KMP 講解字串匹配演算法KMP