如何理解“程序=算法+数据结构”这句话

  1)算法:解决问题的流程/步骤(顺序、分支、循环...)

  2)数据结构:将数据按照某种特定的结构来保存

             数怎么存

    设计良好的数据结构会导致好的算法

查阅网上资料对这个凭借一句话获得图灵奖的Pascal之父——Nicklaus Wirth让他获得图灵奖的这句话就是他提出的著名公式:
“算法+数据结构=程序”。
这个公式对计算机科学的影响程度足以类似物理学中爱因斯坦的“E=MC^2”——一个公式展示出了程序的本质。
略会去查看了一下
通俗的说 算法相当于逻辑,小部分已为人们发掘出来(这里的小部分指的是书本里讲的各种算法,属于人们对于特定模式抽象出来的核心,比如排序),可以看做一种模式。对应于业务来说,一种逻辑(可能由其他元子逻辑组合而成)一旦确定下来,便可看做常量,固定不变。

 

               数据结构即数据表示,说白了就是数据,比如用户数据,属于互联网玩的主要部分。这里面有一个问题,就是如何合理高效表示数据。为此,人们想出了各种各样的数据结构,比如数组,比如树。还有一点就是代码通用性的考量。对于一个设计良好的数据(结构)来讲,应当可以保证在代码逻辑不变的基础上,功能的增加只需在数据层动点手脚完成:下拉菜单数据中追加一条“详情页”的数据和对应的回调方法,即可完成新菜单项的添加工作。

 

            问题 —> 数据结构+算法 == 程序 —> 解决问题

           

“算法“ -> 逻辑

“数据结构“ -> 存储

 

 

            

  

posted @   南北12345678  阅读(16547)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示