echo编辑整理,欢迎转载,转载请声明文章来源。欢迎添加echo微信(微信号:t2421499075) 交流学习。
很多人一听算法觉得这个东西离自己太远,觉得这是个特别高档的东西,也有些人认为算法是个天马行空的东西。总之一谈到算法很多人都觉得what?都很迷茫!这片文章带你解读算法!
什么是算法?
算法(algorithm):简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果
算法的意义是什么?
既然算法就是一种计算步骤或者计算方法,那么为什么还能给我们这么高端的感觉?存在的意义是啥?
- 举个例子:
现在我们有一组数据如下:[1, 2, 3, 4, 5, 6, 7, 8, 9]
总共9个数,假若我随机想一个数,让你猜,你会怎么去猜?随机猜还是从左到右一个一个猜?如果说我想的数字为9,你从左到右猜的话要猜9次,但是如果你使用折半比较大小(二分法)的形式来猜,你会发现最终最终猜测的次数从9次变成了4次。
从这里我们可以明显的看到,不同的计算方法给我们带来的效果和花费的时间是不一样的。使用二分法给我们节省了很多时间。这就是算法给我们带来的意义所在。但是算法不仅仅能够给我们带来时间的节约,也可能给我们带来空间的节约。
算法有哪些特征
- 有穷性:算法的有穷性是指算法必须能在执行有限个步骤之后终止;
- 确切性:算法的每一步骤必须有确切的定义;
- 输入项:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;
- 输出项:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
- 可行性:算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成(也称之为有效性)。
常见算法的实例有哪些?
冒泡、选择、归并、希尔、线性、二分法等等
学习算法我们需要具备哪些条件
- 结构化的设计思想
- 有一定的逻辑能力
- 有一定的算学基础