資料結構:對資料的描述。演算法:對操作的描述。
演算法+資料結構=程式
2.1什麼是演算法
演算法:廣義上,為解決乙個問題而採取的方法和步驟。
計算機演算法分為兩類,非數值演算法和數值演算法。
2.2簡單的演算法舉例
例2.11*2*3*…*100
從這個例子裡面,給出了新的思路,也就是迴圈的概念。通過迴圈能解決這類問題。
例2.2有50個學生,要求輸出成績在80分以上的學生的學號和成績
在這個例子裡面,出現了判斷加迴圈的思路。而且也把陣列最基本的概念穿插在其中。並且這是乙個將具體問題抽象化的典型。
例2.3判斷閏年
在這個例子裡面,主要把握的是運用判斷語句的時候,要掌握好有些問題的邏輯判斷的先後順序。
例2.41-1/2+1/3-1/4…-1/100
在這個例子裡面,首先要確定的是尋找規律。分子全是1,分母是遞增,符號的差異。然後就是從例2.1中運用的演算法就行運算。
例2.5判斷素數
由前面4個例子,再來判斷這個的時候,發現現在解決的數學問題中,數學的步驟就是演算法。
2.3演算法的特性
1)有窮性
2)確定性
3)有零個或多個輸入
4)有1個或多個輸出
5)有效性
2.4怎樣表示乙個演算法
表示乙個演算法,比較常用的就是傳統流程圖、結構化流程圖和偽**。
我覺得,如果是寫程式的話,用結構化流程圖寫演算法比較好。但是如果是給客戶講內容的話,或者寫一些其他思路,前期還是用流程圖比較好。雖然流程圖表示會顯複雜。
通過這樣幾個演算法的表示方法,來理解程式化結構化語言,順序結構,選擇結構,迴圈結構
2.5結構化程式設計演算法
一般來說,結構化設計的程式:
1)自頂而下
2)逐步細化
3)模組化設計
4)結構化編碼
學習語言的最終目的不是學習語言,最終還在於使工作更加便捷。所以掌握好演算法很關鍵,有了好的演算法,然後再好的語言,這才是在做對的事情。而不是為了學語言而學語言。
《程式設計實踐》chapter2
a b c c符號與b相同 若a,b,一正一負,c a b int a b 1 若a,b,同號,c a b a b 17 10 1.7 17 10 7 取模運算 17 10 1.7 17 10 317 10 1.7 17 20 有乙個除數時 17 10 3 運算方法等於 17 10,但結果的符號與1...
資料探勘 Chapter 2
本章 資料有什麼型別的屬性或字段組成?每個屬性具有何種型別的資料值 屬性 屬性是乙個資料字段,表示資料物件的乙個特徵。機器學習文獻更傾向於使用術語 特徵 而統計學家更源於使用術語 變數 資料探勘與資料庫的專業人士一般使用術語 屬性 屬性的種類 資料的基本統計描述 資料視覺化 層次視覺化 視覺化複雜物...
大話資料結構 Chapter 2 演算法
演算法是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作 演算法具有五個基本特性 輸入 輸出 有窮性 確定性和可行性。2.2.1 輸入輸出 演算法有0個或多個輸入,至少有乙個或多個輸出。2.2.2 有窮性 有窮性 指演算法在執行有限的步驟之後,自動結束而不會...