首页
诗词
字典
板报
句子
名言
友答
励志
学校
网站地图
软件架构设计
软件开发
软件架构设计
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
读书人精选
热点排行
类型转换与输入校验小结
电子支付工具引见
jdom的简略示例
zookeeper+dubbo+dubbo治理集群的简要配
身为码农,替 12306 说两句公道话
一个和朋友争论的老题,求解释,该如何解
dwr create creator="spring"
统制流量-滑动窗口机制
忘记李刚,一步一步跟小弟我学Struts2 —
怎么把学校漂亮的美女选择出来