时间复杂度和空间复杂度的概念
时间复杂度和空间复杂度的概念如下:
时间复杂度的概念:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。
一个算法执行所耗费的时间理论上来说是算不出来的,因为它不仅仅与算法有关,还与运行这个算法的机器也有关系,所以,一个算法耗费的时间是需要放在机器上实际测验才能知道的,但是我们不能每个算法都拿来上机测试,来记录该算法的时间,所以就有了时间复杂度。
空间复杂度的概念:空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度。空间复杂度不是程序占用了多少bytes的空间,所以空间复杂度算的是变量的个数。空间复杂度计算规则基本跟时间复杂度类似,也使用大O渐进表示法。
算法的评定指标还有哪些?
1、正确性。一个合格的算法首先应该保证是正确的。正确性应该是算法最基本、也是最重要的评定指标。正确性是保证其他一切评定指标的基础。
2、可读性。可读性就是说程序员编写的算法能够让受试人群阅读的简易水平。一个好的算法应该做到人们可以比较容易地阅读理解它的意义。
3、鲁棒性。鲁棒性的另一名称是容错性。当一个程序中出现中出现的数据错误或者不合常理的时候,算法能够表现出来的反应以及处理能力。
算法的评定指标一共有5个。它们分别是时间复杂度、空间复杂度、正确性、可读性和鲁棒性。这5个指标可以用来检测程序员编写算法的好坏优劣。