数据结构与算法论持久战(C++版)-进阶高手的大门

        今天开始,也陆续更新数据结构篇记录笔记,开篇简单的说了下数据结构与算法对于一个工程师的重要性,那现在我们来想一下:程序的本质是什么?

        客观上来讲,程序就是由一堆字符加符号组合成的英文文章;主观来说,就是解决问题的步骤,想想一个古老的脑经急转弯:怎么把大象放冰箱里?用程序来描述,就是三条语句:open -> put -> close。这就是把大象放冰箱里的三个步骤。说到这里,也许你还不清楚这与数据结构有什么关系,那么我们再来看一个例子:用程序实现1+2+...+100。

        很多人看了就能顺手捏来,很多人都会写出下边的代码,编译运行,结果5050,很开心,我们的代码很正确。

int result = 0;
for(int i=1; i<=100; i++)
{
   result += i;
}

然而,解决问题的方法有三六九,下边我们再来看看上边那个问题的另一种解法:

int result  = 0;
result = (1 + 100) * 100 / 2;

同样一个问题,第一种解法,使用了循环语句,而第二种只是一句数学运算就搞定,假如我们求的不是1到100,而是1到100000,那第一种要进行100000次循环,虽然结果也正确,但是别忘了:效率!

        既然同样的问题可以有不同的解决方式,那么怎么来评价一个程序的好坏?

        1、用尽量少的时间解决问题!

        2、用尽量少的步骤解决问题!

        3、用尽量少的内存解决问题!

    而数据结构与算法,就是为了从上边三个方面去解决问题!这也是为什么要记录《数据结构与算法论持久战(C++版)》这一系列的博客,在自己进步的同时,如若能给你带来一点点帮助,就幸甚万分!

总结;

        1、程序是为了解决实际问题而存在的

        2、同一个问题可以有多种解决方案

        3、专业程序员应该尽量追求高质量的程序

        4、程序 = 数据结构 + 算法

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值