首页
诗词
字典
板报
句子
名言
友答
励志
学校
网站地图
软件架构设计
软件开发
软件架构设计
CVS SVN
VSTS
PowerDesigner
Rational
软件测试
当前位置:
首页
>
教程频道
>
软件管理
>
软件架构设计
>
求该算法复杂度,该如何解决
2012-09-10
求该算法复杂度for (i1i1ni++){for (jijj(j-1)&i)// 求i的子集{...}}求该算法复杂度,最好还要证
求该算法复杂度
for (i=1;i<1<<n;i++)
{
for (j=i;j;j=(j-1)&i) // 求i的子集
{
...
}
}
求该算法复杂度,最好还要证明,谢谢
[解决办法]
FM请查看一下私信
探讨
不是2进制有多少个1。注释写的挺清楚的,是枚举所有的子集。每个i如果有j个1的话,里层for就迭代2^j次。
有j个1的二进制数有C(n,j)个,它需要迭代2^j次。加起来根据二项式定理,总共里层for迭代3^n次。
[解决办法]
就是那个二项式展开
探讨
引用:
不是2进制有多少个1。注释写的挺清楚的,是枚举所有的子集。每个i如果有j个1的话,里层for就迭代2^j次。
有j个1的二进制数有C(n,j)个,它需要迭代2^j次。加起来根据二项式定理,总共里层for迭代3^n次。
前面我能理解,复杂度为sum(j=1 to n,C(n,j)*2^j),这是怎么推到3^n的?
[解决办法]
用二项式定理展开(x+2)^n,然后左右代入x=1
查看更多
下一篇
本文网址:
https://www.reader8.net/jiaocheng/20120910/1815416.html
读书人精选
热点排行
ClassNotFoundException: org.hibernate
tomcat 杜撰内存设置
JAX-RS入门 6: 数据处理(1)
Autumn特点集
Spring-Validator 配备
SpringAOP组合MemCached做缓存的设想
关于textarea自动生成N多空格的有关问题
TongGTP学习小结
问答题与选择题-编码模式的转变
批量处置