1)算法:解决问题的流程/步骤(顺序、分支、循环...)
2)数据结构:将数据按照某种特定的结构来保存
数怎么存
设计良好的数据结构会导致好的算法
查阅网上资料对这个凭借一句话获得图灵奖的Pascal之父——Nicklaus Wirth让他获得图灵奖的这句话就是他提出的著名公式:
“算法+数据结构=程序”。
这个公式对计算机科学的影响程度足以类似物理学中爱因斯坦的“E=MC^2”——一个公式展示出了程序的本质。
略会去查看了一下
通俗的说 算法相当于逻辑,小部分已为人们发掘出来(这里的小部分指的是书本里讲的各种算法,属于人们对于特定模式抽象出来的核心,比如排序),可以看做一种模式。对应于业务来说,一种逻辑(可能由其他元子逻辑组合而成)一旦确定下来,便可看做常量,固定不变。
数据结构即数据表示,说白了就是数据,比如用户数据,属于互联网玩的主要部分。这里面有一个问题,就是如何合理高效表示数据。为此,人们想出了各种各样的数据结构,比如数组,比如树。还有一点就是代码通用性的考量。对于一个设计良好的数据(结构)来讲,应当可以保证在代码逻辑不变的基础上,功能的增加只需在数据层动点手脚完成:下拉菜单数据中追加一条“详情页”的数据和对应的回调方法,即可完成新菜单项的添加工作。
问题 —> 数据结构+算法 == 程序 —> 解决问题
“算法“ -> 逻辑
“数据结构“ -> 存储