算法就是为了解决一个问题而提出有效执行步骤
而一个问题的解决方案有很多,就会存在优劣之分,那么如何判断一个算法的优劣?
一般来说,有两个参考点,即时间复杂度+空间复杂度
1,什么是时间复杂度
就是算法执行所需要的时间,一般我们可以通过算法的代码来进行估算,一般是观察执行的代码行数,每行代码的执行次数
2,空间复杂度
就是算法在执行过程中需要消耗的存储空间
所以一个算法是在这两者做一个权衡,在要求响应速度的地方,我们通常会优先考虑时间复杂度,而牺牲空间复杂度
算法就是为了解决一个问题而提出有效执行步骤
而一个问题的解决方案有很多,就会存在优劣之分,那么如何判断一个算法的优劣?
一般来说,有两个参考点,即时间复杂度+空间复杂度
1,什么是时间复杂度
就是算法执行所需要的时间,一般我们可以通过算法的代码来进行估算,一般是观察执行的代码行数,每行代码的执行次数
2,空间复杂度
就是算法在执行过程中需要消耗的存储空间
所以一个算法是在这两者做一个权衡,在要求响应速度的地方,我们通常会优先考虑时间复杂度,而牺牲空间复杂度