时间复杂度+常见复杂度解释
--------------------- 作者:CrankZ 来源:CSDN 原文:https://blog.csdn.net/CrankZ/article/details/84726408 版权声明:本文为博主原创文章,转载请附上博文链接! 前言 算法的效率 虽然计算机能快速的完成运算处理,但实际上,它也需要根据输入数据的大小和算法效率来消耗一定的处理器资源。要想编写出能高效运行的程序,我们就需要考虑到算法的效率。 算法的效率主要由以下两个复杂度来评估: 时间复杂度 :评估执行程序所需的时间。可以估算出程序对处理器的使用程度。 空间复杂度 :评估执行程序所需的存储空间。可以估算出程序对计算机内存的使用程度。 设计算法时,一般是要先考虑系统环境,然后权衡时间复杂度和空间复杂度,选取一个平衡点。不过,时间复杂度要比空间复杂度更容易产生问题,因此算法研究的主要也是时间复杂度,不特别说明的情况下,复杂度就是指时间复杂度。 本文只分析时间复杂度 什么是时间复杂度 了解时间复杂度之前,先了解时间频度 时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多