算法的定义
算法是解决特定问题求解步骤的描述,在计算机中为指令的有限列,并且每条指令表示一个或多个操作
算法的特性
有穷性,确定性,可行性,输入,输出
算法的设计要求
正确性,可读性,健壮性,高效率和低存储量需求
函数的渐进增长
给定两个函数f(n)和g(N),如果存在一个整数N,使得对于所有的n>N,f(n)总是比g(N)大,那么,我们说f(n)的增长渐进快于g(n)。
于是我们可以得出一个结论,判断一个算法好不好,我们只通过少量的数据是不可能做出准确的判断的,如果我们可以对比算法的关键执行次数,
函数的渐近增长性,基本上就可以分析出:某个算法,随着N变大,他会越来越优于另一算法,或者越来越差另一算法。
推导大O介
1.用常数1取代运行时间中所有的加法常数
2.在修改后的运行次数函数中,只保留最高阶项
3.如果最高阶项存在且不是1,则去除与这个项相乘的常数.
算法时间复杂度练习题
https://blog.csdn.net/wydyd110/article/details/83069304