算法小结(一)

在我们身边有很多的人认为算法很难,但是在我眼里,算法有这么难么?

   我们这里需要理解一个概念,什么是算法,很多人提到算法认为就是计算的方法,但是是这样子的么,我们其实在生活中随时都会遇到算法,因为当我们遇到一个问题需要去解决的时候,同时这个解决的方法需要不断的重复的时候算法就产生了。这里我想分享一下学算法的技巧(只是个人的经验)。

   1、首先,我们学习算法我们就不需要用复杂的思维去思考算法的运算方法,用最简单的计算方法,也就是计算机思维,其实计算机思维就只有两个,要么是,要么不是,不存在是和不是之间的,同时还有一个重复的环节,当我们将这个重复的环节当做一个整体来看就很简单清楚了。

这里我举一个例子,比如这里有很多的苹果,我想将这些苹果选一个最大的,按照我们最简单的人的思维来讲,就是直接用眼睛看,但是这样子的误差很大,所以我们就会选择用另外的一种方法,那就是比较。

首先,你会拿一个苹果。并且会拿一个最近的苹果放在一只手上,然后再用另一个手去拿另一个 苹果进行比较,如果后一个苹果大就交换,如果不大就放下拿下一个苹果去比较。

这个就是选择排序的核心思想,假定一个位置的苹果(或者数字)是最大的,然后通过比较让最大的放在这个位置上,然后再去选择第二个最大的。

这个例子就充分体现出计算机思维,其实整个步骤就只有三个,分别是是假设,判断,重复!假设的环节相当于我暂定它是最大的,然后我就去判断,这判断的过程也和简单,就之后是或者不是,不存在第三种关系,接下来就是重复的过程就完成了一个算法了。

2、0和1的理解

     很多人把0和1理解为数字上的比较,所以对算法很是不理解,那么电脑中的0和1真的 是数字么。答案是肯定的,如果是数字的话为什么不用1和2或者其他的呢,很简单,0代表的不单单是0,还代表着没有 的意思,同时1代表的是有的意思,这个就相当有趣了,如果把0代表没有的意思话,那么很多想否,空等我们都可以用0表示,那么1我们就可以用有,满等表示,有人在这里问,这0和1在算法中有什么关系呢,下面就是揭开谜底的时候了。

      算法中很多地方我们都要用到一个容器来装数字,那么这个时候判断容器有无的时候我们就可以用0和1的思想,有就返回1,没有就返回0,这个时候我们思想就变的简单多了,同理,我们来判断满或者没满的时候我们也可以用0和1 的思想,这样子我们就不会去思考容器中装的是什么东西,我 们只需要知道这个容器的容积情况。

      那么在排序中我们也能用0和1来表示大小,同时能通过返回值来知道数字的大小然后进行排序。

3、多多假设自己是计算机

      这个过程会让你用计算机的思维去理解算法,同时这个过程是最慢的过程,同时它也是最有效的过程,当你看见一个算法之后,你用上计算机思维去思考它会通过这个方法给我们一个什么样的结果,然后将这个结果写下来和电脑上的答案进行比较,时间长了之后你就会知道算法其实算是一门语言,一门最简单的语言,这个语言不像汉语和英语这种传统性语言一样一个同样的字或者单词表示这不一样的意思,而算法只有唯一的一个答案在等着的。因为它只有一个答案,所以它就是很简单了。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值