程序设计就像盖房子,数据结构就像砖瓦,而算法就是设计图纸

        “程序设计”说白了就是大家所谓编程,先不管这个词中有什么深刻的内涵,先看看等式右面的这两个名词。


  按照官方的定义:数据结构即非数值计算的程序设计问题中的计算机的操作对象以及它们之间的关系和操作;算法是对特定问题求解步骤的一种描述,是对指令的有序序列。官方的解释就是经典,可是我们看了却更糊涂了。别急,听我给大家解释。


  程序设计就像盖房子,数据结构就像砖、瓦,而算法就是设计图纸。你若想盖房子首先必须有原料(数据结构),但是这些原料不能自动地盖起了你想要的房子;你必须按照设计图纸(算法)上的说明一砖一瓦地去砌。这样你才能拥有你想要的房子。程序设计也一样,你使用的编译工具(如Jave /C/Basic/Pascal等)中有各种功能语句或基本结构(如Read/Write/Real/Boolean等),它们不会自动排列成你要的程序代码。你得按照程序规定的功能去编写,而程序的功能是实现就是算法的具体体现。所以通俗地说:你必须按照特定的规则,把特定的功能语句和基本结构按照特定的顺序排列起来,形成一个有特定功能的程序,这就是:程序设计=数据结构+算法。


  数据结构是程序设计这座大厦的基础,没有基础,无论设计有多么高明,这座大厦不可能建造起来的。算法则是程序设计的思想,它的灵魂!没有灵魂的程序不能叫程序,只是一堆杂乱无章的符号而已。在程序设计中,数据结构就像物质,算法就是意识。这就像哲学上说的:意识是依赖与物质而存在的,物质是由于意识而发展。双方是相互依存、缺一不可的!


  数据结构内容不多仅仅有几个系统自带的基本结构(像顺序结构、分支结构、循环结构、函数过程)数据类型(整型、实型、布尔、字符等)和用户定义的高级点的数据结构(数组、集合、文件、指针(队列、栈、树、图等)······)就这么多。可是算法却不同了,它是多中多样的!它可以让你让数据以你想要的方式排列(当然要符合语法和功能要求^_^)。再打个比方,数据结构是人体的各种组织、器官,算法则是人的思想。你可以用你的思想去支配你身体的各个可以运动的器官随意运动。如果,你想去取一个苹果,你可以走过去,也可以跑过去,只要你想,你甚至可以爬过去。但是无论如何,你你的器官还你的器官(没有变),目的还是同一个目的(取苹果),而方式却是随心所欲!这就是算法的灵活性,不固定性。因此可以这样说:数据结构是死的,而算法是活的!现在明白许多了吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值