前言:
听到算法的乐趣,大家是不 会想起《算法的乐趣》这本书呢?这段时间在研究算法,本篇博客主要作为算法的开篇,来和大家谈谈算法!
核心:
百度定义:
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
算法的特征:
有穷性:指算法必须能在执行有限个步骤之后停止
确切性:算法的每一步骤必须有确切的定义
输出项:一个算法有一个或者多个输出
可行性:算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步骤,也称为有效性。
方法:
递推法
递归法
穷举法
贪心法
动态规范法
分治法
这些方法在我们的算法中用到了其思想。
生活中例子:
生活处处有算法,从一个篮子里面选择一个最大的苹果;排队买票;玩扑克等等,这些都是算法,三大基本算法为:选择、冒泡、插入;以后的算法则是在这三个基础上优化而来的!所以学习算法从最基本的三大排序开始。
总结:
算法的学习等着我们去探索,不断学习!