算法、程序設計的注意事項

一、定義變量,得明確每個變量的意義,在實現程序邏輯時,得維護好變量

二、實現函數,實現某個程序邏輯時,應該想到這個程序的前提條件,例如:檢查大小是否越界、遞歸是否有終點、遞歸是否有返回

三、處理好邊界問題,適當用註釋寫出來,會方便很多

、循環不變量、在循環的時候、改變變量的值,但是不改變變量的含義

、小數據量的測試,驗證程序的正確性,這個小數據量可以包含很多種情形,數據爲空,邊界等等

六、大數據量的測試,驗證程序的魯棒性

七、看是否可以對特殊的用例進行優化,增加程序的魯棒性,例如快速排序算法的優化,或者leetcode283的優化,都是考慮到特殊的用例,進行優化

八、遞歸可能思維更加簡潔,但是時間和空間複雜度未必會更高

九、善於添加變量、數組、描述屬性,例如:求路徑,可以用一個動態數組中的值存儲每個節點的上一個節點(a[i] 第i 的節點的路徑的上一個節點是a[i]), 往往可以讓算法實現變得簡單

十、類的屬性(數據成員)是這個類的方法需要用到的,如果僅僅是一個方法用到可以定義臨時變量,

十一、類的數據成員是引用的話,只能在類的構造函數初始化列表中進行初始化

十二、凡是有變量作爲形參從用戶函數傳入,得考慮變量是否越界,或者處理變量時,也要考慮是否越界

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章