一:算法
特定问题求解步骤的描述
在计算机中表现为指令的有限序列
算法是独立存在的一种解决问题的方法和思想
对于算法而言,语言不重要,重要的是思想
二:算法特性
输入:有0个或多个输入
输出:至少一个输出
有穷:有限步骤之后自动结束
确定:每一步都有确定的含义
可行:每一步可行
三:算法设计准则
正确性,可读性,健壮性,高性价比
程序=数据结构+算法
四:影响算法效率的因素
算法采用的的策略和方法
问题输入的规模
编译器产生的代码
计算机执行的速度
五:算法效率度量
主要关注算法的最坏情况是否满足要求
O表示法
空间复杂度和时间复杂度的策略
大多数的情况,增加空间复杂度来降低时间复杂度,因为硬件内存的进步超过时间复杂度
综合考略时间和空间的要求
严重依赖操作(Operation)数量的最高次项,其它次要项和常数项可以忽略