标题:计算一个程序的空间复杂度
只看楼主
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
 问题点数:0 回复次数:1 
计算一个程序的空间复杂度
template<class T>
T Abc(T&a,T&b,T&c)
{return a+b+b*c+(a+b-c)/(a+b)+4;
}
书上说的我一点都看不懂,不知道这里有没有人能帮我详细解释一下如何计算一个程序的空间复杂度。我现在是自学算法,刚开始感觉有点吃力,还望大家多多帮助啊 感谢大家
搜索更多相关主题的帖子: 空间 Abc 算法 
2006-06-19 11:50
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
得分:0 
书上是这样解释的

S(P)=C+S(p)(实例特征)

在估算S(p)之前,必须选择分析所使用的实例特征。两种可能性是:1,数据类型T;2.a,b,c的大小。假定使用T作为实例特征。由于a,b,c是引用参数,所以在函数中不需要为他们的值分配空间,但是必须保存指向这些参数的指针。如果每个指针需要2个字节,那么就是6个字节的指针空间。因此函数所需要分配总空间是个常量,S(abc)=0。如果用abc的大小作实例特征。则S(abc)=0。
-------------------------------------------
为什么不管如何S(abc)=0呢?

[此贴子已经被作者于2006-6-19 12:55:08编辑过]


2006-06-19 12:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-73298-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.261821 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved