1. 有窮性:乙個演算法的操作步驟是有限的,不能是無限的
2. 確定性:演算法中的每乙個步驟都要確定的詞,不能含糊不清
3. 輸入: 演算法具有0個或多個輸入
4. 輸出: 演算法至少有1個或多個輸出
5. 可行性:演算法的每一步都是可行的,也就是說每一步都能夠執行有限的次數完成
1. 正確性:演算法的執行結果應當滿足預先規定的功能和效能要求。
2. 可讀性:乙個演算法的設計應當思路清晰、層次分明、易讀易懂。
3. 健壯性:當輸入不合法的資料時,能做適當處理,避免引起嚴重後果。
4. 高效性:有效地使用儲存空間,有高效的時間效率。
線性表
線性鍊錶
迴圈鍊錶
雙向鍊錶
棧陣列實現
鍊錶實現
佇列鏈佇列
迴圈佇列
串/陣列/廣義表
樹/二叉樹
先序遍歷
中序遍歷
後序遍歷
圖插入排序
直接插入排序
希爾排序
其他插入排序
快速排序
選擇排序
簡單選擇排序
樹形選擇排序
堆排序歸併排序
基數排序
多關鍵字排序
鏈式排序
以上並未列全, 有些資料結構的應用也是很有必要自己實現一遍的,後期上面依舊會補充.
演算法與資料結構 開篇概論
資料結構課程的概論,從以下這條線索進行闡述 問題 數學化 數學建模 選擇資料結構datastructure 演算法algorithm 及 設計步驟 驗證正確性 efficient效率檢驗 程式實現 資料結構描述了資料物件之間的結構關係,是相互之間具有一種或者多種特定關係的資料集合。資料結構,是抽象資...
資料結構與演算法之美 開篇
資料結構與演算法,是計算機的核心課程之一,是程式設計師武功體系的內功,想成為武林高手必須內功過硬,作為乙個非科班碼農,面試時因為內功不強而碰壁數次,使我真實的體驗到學好資料結構與演算法的重要性,為了不在這個方面繼續碰壁,也為了能在軟體開發工程師的道路上走的更遠更快,我決心集中精力學習突破這道關口 以...
資料結構和演算法開篇
如果說,熟練掌握程式語言是外功,那麼資料結構可謂是內功心法了 以下是我學習資料結構的總結和一些筆記 例子1 void printn int n double f int n double a,double x 在計算機中,有多次乘法與加法的運算時,一般按照權重,只需比較乘法次數就可以了,第乙個演算法...