文章目录
- 算法的时间复杂度与空间复杂度
- 1. 算法效率
- 2. 时间复杂度
- 2.1 时间复杂度的概念
- 2.2 大O渐进表示法
- 2.3 常见时间复杂度计算实例
- 实例1 ——
- 实例2 ——
- 实例3 ——
- 实例4 —— 时间复杂度是做悲观预期
- 实例5 —— 冒泡排序·思想计算
- 实例6 —— 二分查找·思想计算
- 实例7、8-—— 递归·时间复杂度计算
- 3. 空间复杂度
- 实例1 ——
- 实例2 ——
- 实例3 ——
- 4. 常见复杂度的对比
算法的时间复杂度与空间复杂度
反爬链接
1. 算法效率
引:如何衡量一个算法的好坏呢?
算法在编译链接成可执行程序后,运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度。
时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间。在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度(摩尔定律:硬件每18个月翻倍)。所以我们如今已经不需要再特别关注一个算法的空间复杂度,重点关注时间复杂度。
2. 时间复杂度
2.1 时间复杂度的概念
在计算机科学中,算法的时间复杂度是一个函数(是含未知数的数学表达式啦hh),它定量描述了该算法的运行时间。
计算时间复杂度不是计算时间。一个算法执行所耗费的时间,理论上是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。但是我们如果每个算法都上机测试,就很麻烦;且运行环境不同,花费时间也不同。
一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。
即:找到某条基本语句与问题规模N之间的数学表达式,就是算出了该算法的时间复杂度。
2.2 大O渐进表示法
标签:count,int,复杂度,++,算法,实例,时间,DS From: https://blog.51cto.com/u_15091587/6189403