Skip to content

算法

一、什么是算法

算法就是解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如 以下方法就是一个算法:

public int test(int a,int b){
    return a+b;
}

二、如何评判算法的好坏

如果仅仅考虑效率,通过比较不同算法对同一组输入的执行处理时间(事后统计法)来判断是不科学的,因为执行时间依赖硬件以及运行环境的各种因素,不能够准确的判断。

一般通过以下维度进行评判:

  • 正确性、可读性、健壮性(对不合理的输入反应也能保证程序的运行,即程序在运行过程中出现一般性的错误,程序会自动进行错误处理函数)

  • 时间复杂度:估算程序指令的执行次数(执行时间)

  • 空间复杂度:估算所需占用的存储空间