當前位置:首頁>時尚>偽代碼怎么寫最簡單(教你寫一手漂亮的偽代碼)
發布時間:2024-08-04閱讀(19)
最近在復盤《算法設計與分析》這門課程的時候,發現老師寫得一手漂亮的偽代碼,著實羨慕不已,看他寫其實已經知道大致寫偽代碼的規則,但本著嚴謹的態度,還是系統的學習和整理出來。在學習過程中,我們不可能將每一個算法都完完整整敲一遍,那么偽代碼就可以很快捷和清晰的寫出對一個算法的解決思路。我在網上查到的博客中要么寫的過于繁瑣,要么就是沒有實例,這也激起了我想要整理這篇文章的動力,若文章中有錯誤或者不足,希望大家指出。
偽代碼的7個主要部分
1. 算法名稱2. 指令序列3. 輸入/輸出4. 分支選擇5. 賦值6. 循環7. 算法結束文章將從這7個部分依次進行說明
1.算法名稱有兩種表示算法的偽代碼:過程(Procedure)
函數(Function)過程和函數的區別是:過程是執行一系列操作,不需要返回操作的結果,無返回數據。函數是執行一系列的操作后,要將操作的結果返回,有返回數據。簡單來說二者就是有沒有返回數據。算法偽代碼的書寫規則:
Procedure <算法名>([<參數列表>])Function <算法名>([<參數列表>])
2.指令序列指令序列是算法的主體。指令序列的書寫規則:> 用Begin作為開始,用End作為結束;> 或者用“{”作為開始,用“/}”作為結束例如:

或者

3.輸入/輸出輸入:Input輸出:Output 或Return看個人的習慣吧,我輸出一般用Return4.分支選擇總體有兩種分支,類似于C中的if語句 和if else語句用法是一樣的,可以嵌套。

5.賦值
有兩種 可以用:=或者<-作為賦值操作符,相當于C語言中的=例如:
x:=x 1;x<-x 1;
選擇哪個,看自己的習慣吧 6.循環兩種方式:計數式循環(for循環)和條件式循環(while循環)。(1)計數式循環
For 變量:=初值 To 終值{ 指令序列; /}
循環次數:終值-初值 1(2)條件式循環
While (條件) do{ 指令序列; /}
7.算法結束關鍵字End的后面加上算法名稱,表示算法結束,是算法的最后一句。例如:
End DFS
補充
除了這些,像運算符號* / - %等等,都是和C語言用法一樣數組:A[j]指示數組A的第j個元素。符號“ …”用來指示數組中值的范圍。例如:A[1…j]表示含元素A[1], A[2], … , A[j]的子數組;還有個寫法是A[0:n]表示數組下標從0開始一直到n二維數組也是:A[0:m,0:n]
舉個例子
例如冒泡排序的偽代碼:會發現偽代碼的7大部分沒有提到的內容是:冒號的作用
變量名 : 數據類型
還有var這是變量的意思,如果學過javascript應該會有比較深一點的理解,我在這里理解就是告訴讀者,這是一個變量。

再舉個插入排序的例子

關于語句后面有沒有分號,我看有些人說有,有些說沒有,其實擬C偽代碼可以加分號,這樣看起來更習慣
說明
這個偽代碼是算法比較規范的偽代碼規則,我在網上查到有java的偽代碼,python偽代碼,php偽代碼等等,和其他的,我的理解就是把沒有完整實現的代碼叫做了偽代碼,其實只要能夠清楚表達思路,讓別人很容易理解,都可以稱作偽代碼吧。不受嚴格語法的約束,我想這也是偽代碼寫起來比較快樂的原因吧。
更多內容請WX搜索:松鼠技術站
歡迎分享轉載→http://m.avcorse.com/read-369372.html
Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖