算法按用途分,体现设计目的、有什么特点
算法按实现方式分,有递归、迭代、平行、序列、过程、确定、不确定等等
算法按设计范型分,有分治、动态、贪心、线性、图论、简化等等
一个算法应该具有以下五个重要的特征:
有穷性: 一个算法必须保证执行有限步之后结束;确切性: 算法的每一步骤必须有确切的定义;
输入:一个算法有0个或多个输入,以刻画运算对象的初始情况;
输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
例:
归并排序算法
枚举法
数字全排列问题
优化高精度减法
高精度阶乘
高精度减法
高精度乘法
Dijkstra最短路径(一点到各顶点最短路径)
八皇后问题
快速排序算法
地图四色问题
穿越迷宫
常用排序算法
二分查找法完整版
标准快速排序算法
一躺快速排序法
快速排序算法
插入排序算法
选择排序算法
冒泡排序算法
统计算法
常用算法——广度优先搜索
常用算法——深度优先搜索