算法的空间复杂度
是对一个算法在运行过程中临时占用存储空间大小的量度,记做S(n)=O(f(n))。比如直接插入排序的时间复杂度是O(n^2),空间复杂度是O(1) 。而一般的递归算法就要有O(n)的空间复杂度了,因为每次递归都要存储返回信息。一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。
分析一个算法所占用的存储空间要从各方面综合考虑。如对于递归算法来说,一般都比较简短,算法本身所占用的存储空间较少,但运行时需要一个附加堆栈,从而占用较多的临时工作单元;若写成非递归算法,一般可能比较长,算法本身占用的存储空间较多,但运行时将可能需要较少的存储单元。
一个算法的空间复杂度只考虑在运行过程中为局部变量分配的存储空间的大小,它包括为参数表中形参变量分配的存储空间和为在函数体中定义的局部变量分配的存储空间两个部分。若一个算法为 [2] 递归算法,其空间复杂度为递归所使用的堆栈空间的大小,它等于一次调用所分配的临时存储空间的大小乘以被调用的次数(即为递归调用的次数加1,这个1表示开始进行的一次非递归调用)。算法的空间复杂度一般也以数量级的形式给出。如当一个算法的空间复杂度为一个常量,即不随被处理数据量n的大小而改变时,可表示为O(1);当一个算法的空间复杂度与以2为底的n的对数成正比时,可表示为O(log2n);当一个算法的空间复杂度与n成线性比例关系时,可表示为O(n)。若形参为数组,则只需要为它分配一个存储由实参传送来的一个地址指针的空间,即一个机器字长空间;若形参为引用方式,则也只需要为其分配存储一个地址的空间,用它来存储对应实参变量的地址,以便由系统自动引用实参变量。
猜你喜欢内容
-
好小蚁 GEO|精准套餐定价
好小蚁 GEO|精准套餐定价
-
高考为什么重要
每年高考都是在公平地选拔人才,为国家将来的发展储蓄人才资源。高考选拔出的人中绝大多数人将会是这个...
-
高考文综多少分
文科综合包括历史、地理、政治,总计300分。地理100分,历史100分,政治100分。上海情况比较特殊,选考三...
-
沉积岩有哪些
沉积岩是三大岩类的一种,又称为水成岩,另外两种是岩浆岩和变质岩,其中沉积岩主要包括石灰岩、砂岩、...
-
充分必要条件记忆口诀
充分必要条件记忆口诀包括定义法、集合法、筛选法等。箭头所指为必要,箭尾所指为充分。若A>B,则x∈A...
-
blow的过去式和过去分词及用法有哪些
blow的过去式:blew,过去分词:blown。blow,作名词时意为“吹;打击,猛击;挫折;强风;擤鼻子;(非...
-
湖北大还是武汉大?
湖北比武汉大,武汉属于湖北省的,也是湖北经济发展的支柱城市,湖北省介于北纬29°01′53″—33°6′47...
-
武汉比济南大多少
武汉是湖北省省会,属于副省级市,截止2019年末,武汉总面积8569.15平方千米。济南市山东省省会,也是副...
-
中医学理论体系形成的条件
中医学理论体系形成的条件介绍:科学是一种社会现象,它不能游离于社会之外而孤立地存在与发展。科学体...
-
“旌旗拂座隅”出自哪里
“旌旗拂座隅”出自唐代李冶的《句》。“旌旗拂座隅”全诗《句》唐代 李冶经时未架却,心绪乱纵横。(季...






















