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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java反射案例講解Java反射
- HyperLogLog 演算法的原理講解以及 Redis 是如何應用它的演算法Redis
- DRM 分析及案例講解
- Hash演算法的講解演算法
- Spring:Bean的scope作用域案例講解以及Bean之間的依賴和繼承(3)SpringBean繼承
- 通俗易懂--決策樹演算法、隨機森林演算法講解(演算法+案例)演算法隨機森林
- java集合框架的講解Java框架
- 常用的資料分析方法及案例講解
- Oracle ADF 應用--案例講解Oracle
- 工廠模式講解以及DAOFactory開發模式
- Java中的static詳細講解Java
- 精美圖文講解Java AQS 共享式獲取同步狀態以及Semaphore的應用JavaAQS
- java之HashMap用法講解JavaHashMap
- MVC 三層架構案例詳細講解MVC架構
- Linux yum源配置以及yum命令講解Linux
- Java講解RPC的基本實現JavaRPC
- 演算法--揹包九講(詳細講解+程式碼)演算法
- 幾種排序演算法的原理以及 Java 實現排序演算法Java
- Java堆、棧和常量池以及相關String的詳細講解(經典中的經典)Java
- ios GCD 死鎖幾個案例 詳細講解iOSGC
- 面試題以及案例面試題
- Java中棧和堆講解Java
- Java EL 詳細用法講解Java
- NoSQL資料庫的分散式演算法講解SQL資料庫分散式演算法
- Python求10個數的平均數實戰案例講解!Python
- Js 的事件迴圈(Event Loop)機制以及例項講解JS事件OOP
- 遺傳演算法講解(Matlab描述)演算法Matlab
- HTML5前端常見攻擊方式案例講解!HTML前端
- 設計模式:用實際案例講解工廠模式設計模式
- 運維注意事項及案例講解(個人心得)運維
- 例項講解Java工廠模式Java模式
- Java面試題講解,Java面試中最容易踩的坑請注意Java面試題
- 講講Java8的Optional類Java
- 深度優先搜尋演算法-dfs講解演算法
- 全網最!詳!細!Tarjan演算法講解。演算法
- 深度優先搜尋演算法(DFS)講解演算法
- 【案例講解】Python為什麼要使用描述符?Python
- spring心得8--AOP各種通知案例講解.docSpring