百度百科描述
时间复杂度: http://baike.baidu.com/view/104946.htm?fr=aladdin
空间复杂度: http://baike.baidu.com/view/540497.htm?fr=aladdin
算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。(算法的复杂性体现在运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间(即寄存器)资源,因此复杂度分为时间和空间复杂度)。
一、定义
时间复杂度
在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。
空间复杂度:
空间复杂度(Space Complexity)是对一个算法在运行过程中临时占用存储空间大小的量度,记做S(n)=O(f(n))。比如直接插入排序的时间复杂度是O(n^2),空间复杂度是O(1) 。而一般的递归算法就要有O(n)的空间复杂度了,因为每次递归都要存储返回信息。一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。
二、 时间复杂度 计算方法
1. 一般情况下,算法的基本操作重复执行的次数是模块n的某一个函数f(n),
因此,算法的时间复杂度记做:T(n)=O(f(n))
分析:随着模块n的增大,算法执行的时间的增长率和 f(n) 的增长率成正比,所以 f(n) 越小,算法的时间复杂度越低,算法的效率越高。
2. 在计算时间复杂度的时候,先找出算法的基本操作,然后根据相应的各语句确定它的执行次数,
再找出 T(n) 的同数量级(它的同数量级有以下:1,log(2)n,n,n log(2)n ,n的平方,n的三次方,
2的n次方,n!),找出后,f(n) = 该数量级,若 T(n)/f(n) 求极限可得到一常数c,
则时间复杂度T(n) = O(f(n))
三、比较
对于一个算法,其时间复杂度和空间复杂度往往是相互影响的。当追求一个较好的时间复杂度时,
可能会使空间复杂度的性能变差,即可能导致占用较多的存储空间;反之,当追求一个较好的空间
复杂度时,可能会使时间复杂度的性能变差,即可能导致占用较长的运行时间。另外,算法的所有
性能之间都存在着或多或少的相互影响。因此,当设计一个算法(特别是大型算法)时,要综合考虑
算法的各项性能,算法的使用频率,算法处理的数据量的大小,算法描述语言的特性,算法运行的
机器系统环境等各方面因素,才能够设计出比较好的算法。算法的时间复杂度和空间复杂度合称为
算法的复杂度。
相关推荐
对时间复杂度和空间复杂度进行超级详细的讲解
算法的时间复杂度和空间复杂度 算法的时间复杂度和空间复杂度是衡量算法性能的两个重要指标。时间复杂度是指执行算法所需要的计算工作量,而空间复杂度则是指执行这个算法所需要的内存空间。 稳定排序和非稳定排序...
对java的8种排序方法的空间复杂度和时间复杂度,进行了一个简单的统计
"学习电脑信息常用的排序算法的时间复杂度和空间复杂度" 时间复杂度是指算法执行所耗费的时间,它是算法中语句执行次数的函数,用 T(n) 表示。时间复杂度是评价算法时间性能的重要指标。常见的时间复杂度有:常数阶...
在信息学奥赛中,算法的时间复杂度和空间复杂度是衡量算法效率的重要指标,尤其对于青少年编程者来说,理解并掌握这两点至关重要。算法效率分析主要包括时间效率和空间效率,它们分别对应于时间复杂度和空间复杂度的...
### 数据结构中的时间复杂度与空间复杂度 #### 引言 数据结构和算法是编程领域的核心组成部分。数据结构指的是组织、管理和存储数据的方式,而算法则是解决特定问题的一系列步骤。两者之间的关系紧密,相互依赖。...
### 算法复杂度详解:时间复杂度与空间复杂度 #### 一、时间复杂度 **1.... 在讨论算法效率时,我们通常... - 通过对算法的时间复杂度和空间复杂度进行分析,我们可以更好地理解算法的工作原理,并据此优化算法的设计。
在计算机科学中,算法的时间复杂度和空间复杂度是衡量算法效率的重要指标。时间复杂度主要关注算法执行所需时间的增长速度,而空间复杂度则关注算法执行过程中内存使用的程度。理解这两个概念对于优化代码和设计高效...
算法复杂度分为时间复杂度和空间复杂度。 其作用: 时间复杂度是指执行算法所需要的计算工作量; 而空间复杂度是指执行这个算法所需要的内存空间。 (算法的复杂性体现在运行该算法时的计算机所需资源的多少上,...
时间复杂度和空间复杂度,大O表示法【数据结构和算法入门2】
时间复杂度和空间复杂度.url
Python实现二分查找和哈希查找的示例代码及其时间复杂度和空间复杂度的分析 二分查找算法是搜索排序数组中某个元素的常用算法。其实现思路是,首先找到数组的中间元素,然后与要查找的元素比较,如果中间元素小于要...
算法讲解007【入门】时间复杂度和空间复杂度
算法设计目标与时间复杂度与空间复杂度.ppt
1. 题目应涵盖常见的算法概念和技术,如数组、算法、数据结构等。 2. 解析每道题应详细解释算法的原理、实现过程、时间复杂度和空间复杂度等。 3. 题目和解析应清晰、简洁,易于理解
算法基础知识点 算法基础是计算机科学中的一门重要课程,它是解决问题...算法基础是计算机科学中的一门重要课程,它包括算法概念、时间复杂度、空间复杂度和递归等内容。理解这些概念对于设计高效的算法是非常重要的。
【时间复杂度与空间复杂度】 在计算机科学中,算法的效率分析是评估其性能的重要手段,主要包括两个方面:时间复杂度和空间复杂度。 1. **时间复杂度** - **时间复杂度概念**:它描述了一个算法在处理问题时所需...