如何解釋計算機語言中的 演算法 ?

時間 2021-05-31 08:04:48

1樓:北南

演算法是如何解決某一類問題的一段精準的描述。我們一般用演算法處理計算、資料處理和自動推理類的問題。 這是來自英文wikipedia的定義。

如果我們把計算機語言理解為指令集的話,我們通過合理組織這些指令,從而在有限的步數內,讓計算機能處理完成乙個任務,這就是演算法。演算法未必需要在計算機上執行,比如說如何找100以內的素數,我們可以使用篩法,就是把2的倍數篩掉,3的倍數篩掉,(4已經被篩掉了),5的倍數篩掉。。。以此類推。

這就是乙個古老的演算法。你可以使用人類的自然語言來描述篩法,從而去教會乙個只有幾歲的小孩子來完成這個任務。你也可以用計算機的語言來描述篩法,讓計算機來完成這個任務。

演算法必須是精準的描述。比如我剛才對篩法的描述就不精準。這個篩法什麼時候結束呢?如果我們沒有設定這個結束條件的話,這個演算法就會一直執行下去,這樣不是「宕機」了,就是「溢位」了。

演算法本身是不難學的,你想,計算機都能理解的東西,你只要一步一步照著做不就好了。難點在於演算法的分析,通過演算法的分析,你才能知道要在什麼時候去用什麼樣的演算法。

如何自創一門計算機語言?

圓胖腫 其實語言相關的東西算起來就那麼幾種 paradigm pp,oop,fp 封裝層次 不強制封裝,封裝到物件,封裝到函式變化 動態型別,靜態型別,靜態型別 immutablecase case snake,caseCamel,case kebab 關鍵字 全英語單詞,符號 兩類抽象概念 物件和...

計算機語言中除了硬編碼和基本迴圈方式外你還有那些方式輸出 1 100?

加百列 1.讀取 dev random,搜尋出符合要求的整數,排序後按順序輸出。2.讀取檔案inode編號,輸出。3.一邊建立檔案,一邊讀取檔案數量,同時輸出。4.使用clone 與mmap 每建立乙個程序,記憶體計數就加1輸出。5.給printf封裝乙個引用計數,和檢測。每呼叫一次計數加1,檢測到...

完全不懂計算機語言,該如何在計算機領域創業?

無缺草 硬體來料加工生產 純銷售型公司,很少需要程式設計。軟體 網際網路公司,程式設計通常也只有3 10 90 以上都是其他職位。而且大家自動忽略了佔IT產業絕大多數的純銷售公司,只看中寥寥無幾的自研企業。就像90 的創業都是餐飲一樣,90 的IT創業也是賣手機 賣電腦 賣元器件 賣營銷服務等。以硬...