算法是所有程序设计的灵魂和基础
很多优秀的程序员都知道 "程序=数据结构+算法" 这个著名公式,简单来说就是 "程序=数据+逻辑"
这里有两个问题
一、什么是算法,字面意思
算法是用于计算的方法,通过这种方法可以达到预期的计算结果。
吹牛逼一点解释
算法是解决实际问题的精确描述方法,算法是对特定问题的求解步骤的一种精确描述方法。
广泛定义
算法是模型分析的一种可行的、确定的和有穷的规则。
通俗的讲
算法可以理解为一个完整的解题步骤,由一些基本运算和规则运算顺序构成。
再简单的讲
算法就是解决问题的方法
特点:有穷性,确切性,输入,输出,可行性。
二、算法的种类
1、按照应用来分类
基本算法、数据结构算法、几何算法、图论算法、规划算法、数值分析算法、加密算法、排序算法、查找算法
2、按照确定性
确定性算法,非确定性算法
3、按照算法思路划分
递推算法、递归算法、穷举算法、贪婪算法、分治算法等。