当前位置:鱼C工作室 >数据结构和算法 > 查看文章

谈谈算法 – 数据结构和算法02

谈谈算法

 

让编程改变世界

Change the world by program


 

谈谈算法

 

我们这门课程叫“数据结构和算法”,有鱼油可能会问这不是两门课程呢?为什么整在一起讲解呢?不是徒增我们的思想负担吗?

矮油,这看来小甲鱼是有必要跟大家解释一下数据结构和算法的关系啦。

 

打个比方,其实数据结构和算法的关系就比好基友是一辈子的关系。

他们患难见真情,他们生死不相弃,他们荣辱与共,他们一生情一辈子……

 

事实上,数据结构和算法也有类似的关系。只谈数据结构,我们可以在很短的时间内就把几种重要的数据结构介绍完。

不过听完后,你可能没啥感觉,不知道这些数据结构有啥用处。

但如果我们把相应的算法结合起来讲一讲,演示一下,你就会发现,甚至开始感慨:O,原来小甲鱼以及计算机界的前辈们,的确是一些很牛很牛的人,他们的工作使很多看似很难解决的问题变得如此美妙和神奇A。

 

算法初体验

 

小学学过珠算的鱼油应该很有印象,每天加法运算敲得手指都快断了就算那1+2+…+99+100。

这会儿,小甲鱼就给大家介绍一个有关也是有关从1加到100的小故事作为开端吧!

 

很久很久很久以前……

 

有部分淘气的鱼油可能不屑一顾,切,我们刚开始学习小甲鱼你的《零基础入门学习C语言》的时候,早就教过我们用C来写1加到100的代码咯。

那时候你还说咱计算机的速度是何其快啊!

int i, sum = 0, n = 100;
 
for(i=1; i <= n; i++)
{
    sum = sum + i;
}
 
printf(%d”, sum);

 

对比下,用高斯先生的算法,我们可以这么写:

int i, sum = 0, n = 100;
 
sum = (1+n)*n/2;
 
printf(%d”, sum);

 

可能以计算机的神速,两个算法都可以秒杀解决掉!

但是,如果我们把条件换成1加到1千万,或者1加到1千亿,差距就可想而知了,甚至人脑都可以比电脑计算得快了。

 

那么什么是算法呢?

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。

懵了吧?用小甲鱼的话来讲,算法就是你泡妞儿的技巧和方式。

 

从刚才的例子中我们看到,对于给定的问题,是可以有多种算法来解决的。

这就像追女孩子,总不可能每个人追女孩子的方式都一样吧?

 

举个例子,小甲鱼常常在街上看到很多美眉,但旁边都是挽着条件十分一般的男朋友。

这时候,小甲鱼就会由衷的佩服该男同胞一定是用了特别牛掰的算法追到美眉的!

 

就像没有药可以包治百病一样,一个问题可以由多个算法解决,一个算法也不可能具有通解所有问题的能力。

考虑到大部分学习小甲鱼《数据结构和算法》的鱼油都是学生,都要对付各种考试和考核。

 

注意,小甲鱼这里用了“对付”而不是“应付”,虽然是填鸭式教育,但是,如果我们能从中学到有用的知识并且可以对付考试,是最好的!

所以小甲鱼这个系列的视频教程也是针对性的要把经常考试的概念提一提说一说谈一谈侃一侃。

 

分页阅读: 1 2 下一页
为您推荐

报歉!评论已关闭.