1)算法:解決問題的流程/步驟(順序、分支、循環...)
2)數據結構:將數據按照某種特定的結構來保存
數怎么存
設計良好的數據結構會導致好的算法
查閱網上資料對這個憑借一句話獲得圖靈獎的Pascal之父——Nicklaus Wirth讓他獲得圖靈獎的這句話就是他提出的著名公式:
“算法+數據結構=程序”。
這個公式對計算機科學的影響程度足以類似物理學中愛因斯坦的“E=MC^2”——一個公式展示出了程序的本質。
略會去查看了一下
通俗的說 算法相當於邏輯,小部分已為人們發掘出來(這里的小部分指的是書本里講的各種算法,屬於人們對於特定模式抽象出來的核心,比如排序),可以看做一種模式。對應於業務來說,一種邏輯(可能由其他元子邏輯組合而成)一旦確定下來,便可看做常量,固定不變。
數據結構即數據表示,說白了就是數據,比如用戶數據,屬於互聯網玩的主要部分。這里面有一個問題,就是如何合理高效表示數據。為此,人們想出了各種各樣的數據結構,比如數組,比如樹。還有一點就是代碼通用性的考量。對於一個設計良好的數據(結構)來講,應當可以保證在代碼邏輯不變的基礎上,功能的增加只需在數據層動點手腳完成:下拉菜單數據中追加一條“詳情頁”的數據和對應的回調方法,即可完成新菜單項的添加工作。
問題 —> 數據結構+算法 == 程序 —> 解決問題
“算法“ -> 邏輯
“數據結構“ -> 存儲
