更新時間:2020-12-04 16:35:39 來源:動力節點 瀏覽2347次
算法是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,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算法視頻教程全套免費下載,這是一套超級詳細的數據結構與算法基礎視頻教程,本套視頻教程適合數據結構與算法零基礎學員學習,且是你學習數據結構與算法的好幫手。
課程學習目錄
1.數據結構&算法:數據
2.數據結構&算法:數據元素
3.數據結構&算法:數據對象
4.數據結構&算法:概述
5.數據結構&算法:線性關系
6.數據結構&算法:樹形關系
7.數據結構&算法:圖形關系
8.數據結構&算法:數據關系小結
9.數據結構&算法:抽象數據類型
10.數據結構&算法:算法及性能分析-什么是算法
11.數據結構&算法:算法及性能分析-算法的基本特征
12.數據結構&算法:算法及性能分析-算法的設計要求
13.數據結構&算法:算法及性能分析-算法的時間復雜度
14.數據結構&算法:算法及性能分析-算法的時間復雜度分析1
15.數據結構&算法:算法及性能分析-算法的時間復雜度分析2
16.數據結構&算法:算法及性能分析-算法的空間復雜度
17.數據結構&算法:線性表抽象數據類型的定義
18.數據結構&算法:定義接口描述線性表的操作
19.數據結構&算法:線性表的順序實現插入元素分析
20.數據結構&算法:線性表的順序實現刪除元素分析
21.數據結構&算法:線性表的順序實現插入元素代碼
完整目錄可以關注動力節點Java視頻教程
主講老師:動力節點崔老師
講師簡介
山東科技大學軟件工程專業碩士研究生,13年以上軟件研發及管理經驗,曾先后就職于清華同方、互聯科技、神州數碼、百度糯米等知名軟件企業;主要從事JAVA程序設計、iOS手機開發、數據庫設計;精通數據結構和算法;在開發的過程中也經常進行新技術培訓;曾出版過大學使用的計算機相關教材,副主編教材三部,參編教材多部;授課風格非常風趣,在崔老師的課堂上大家總是被逗的開懷大笑,能夠讓學生在非常輕松的狀態下掌握相關技術;曾設計并主持研制短跑智能測試系統、海信日立SMS系統、考寶網等項目。
以上就是對“Java算法講解視頻,菜鳥入門”的介紹,希望對大家有所幫助,還想學習更多關于Java的課程,可以關注動力節點官網Java視頻教程,免費下載學習。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習