没有合适的资源?快使用搜索试试~ 我知道了~
算法设计与分析C++语言描述陈慧南版课后答案.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 72 浏览量
2022-10-29
22:50:25
上传
评论
收藏 512KB PDF 举报
温馨提示
试读
16页
算法设计与分析C++语言描述陈慧南版课后答案.pdf算法设计与分析C++语言描述陈慧南版课后答案.pdf
资源推荐
资源详情
资源评论
第 一 章
P
15
1-3. 最大公约数为 1。快 1414 倍。
主要考虑循环次数,程序1-2 的 while循环体做了10次,程序1-3的 while循环体做了14141次(14142-2
循环)
若考虑其他语句,则没有这么多,可能就 601 倍。
第二章
P
32
2-8.(1)画线语句的执行次数为
(2)画线语句的执行次数为
n i
logn
。
(log n)
。划线语句的执行次数应该理解为一格整体。
j
1
i1 j1 k1
n(n 1)(n 2)
3
。
(n )
。
6
(3)画线语句的执行次数为
n
。
( n )
。
(4)当 n 为奇数时画线语句的执行次数为
(n 1)(n 3)
,
4
(n 2)
2
2
当 n 为偶数时画线语句的执行次数为 。
(n )
。
4
2-10. ( 1 ) 当
n 1
时 ,
5n
2
8n 2 5n
2
, 所 以 , 可 选
c 5
,
n
0
1
。 对 于
n n
0
,
f (n) 5n
2
8n 2 5n
2
,所以,
5n
2
8n 2 (n
2
)
。
(2) 当
n 8
时,
5n
2
8n 2 5n
2
n
2
2 4n
2
,所以,可选
c 4
,
n
0
8
。对于
n n
0
,
f (n) 5n
2
8n 2 4n
2
,所以,
5n
2
8n 2 (n
2
)
。
2 2 2
(3) 由(1)、(2)可知,取
c
1
4
,
c
2
5
,
n
0
8
,当
n n
0
时,有
c
1
n 5n 8n 2 c
2
n
,所
以
5n 8n 2 (n )
。
2-11. (1) 当
n 3
时,
log n n log n
,所以
f (n) 20n log n 21n
,
g(n) n log n 2n
。可
3 3
2 2
选
c
21
,
n
0
3
。对于
n n
0
,
f (n) cg(n)
,即
f (n) (g(n))
。注意:是
f
(
n
)和
g
(
n
)的关系。
2
log n n log n
,
(2) 当
n 4
时,
所以
f (n) n / log n n
,
g(n) n log n n
。可选
c 1
,
2 2 2 2 2
n
0
4
。对于
n n
0
,
f (n) n
2
cg(n)
,即
f (n) (g(n))
。
(3)因为
f (n) (log n)
logn log(logn)
n
log(logn)
,
g(n) n / log n nlog
n
2
。
n
,当
n 4
时,
f (n) n
g(n) n log
n
2 n
。所以,可选
c 1
,
n
0
4
,对于
n n
0
,
f (n) cg(n)
,即
f (n) (g(n))
。
第二章
2-17. 证明:设
n
2
i
,则
i log n
。
n
n
n
n
T
n
2
T
2
n
log
n
2
2T
2
2 log
2nlog n
2
2
2
2
2
2
T
n
2n
logn log2
2nlogn
2
2
2
2
T
n
22nlogn 2n
2
2
2
2T
2
n
n n
2 log 2 2nlogn 2n
3
2 2
2 2
2
2
3
T
n
2n
logn log4
22nlog n 2n
3
2
2
3
T
L L
n
32nlogn 2n 4n
3
2
n
2
kn
log
n
2
n
4
n
L
2
n
k
1
k
2
2
k
T
i1
2 T
2
2
i 1
nlogn 2n 4n L 2n
i 2
2 4 2nlogn
logn 1
i 2
i 1
n
i1
2n 2n log
2
n 2n log n log
2
n 3log n 2 n
n log n n log n
当
2
n 2
时,
T
n
2nlog
2
n
。所以,
T
n
n log
2
n
。
第五章
5-4. SolutionType DandC1(int left,int right)
{
while(!Small(left,right)&&left<right)
{
int m=Divide(left,right);
if(x<P(m) right=m-1;
else if(x>P[m]) left=m+1;
else return S(P)
}
}
5-7. template <class T>
int SortableList<T>::BSearch(const T&x,int left,int right) const
{
}
第五章
9.
4
2 6
if (left<=right)
{
}
return -1;
int m=(right+left)/3;
if (x<l[m]) return BSearch(x,left,m-1);
else if (x>l[m]) return BSearch(x,m+1,right);
else return m;
1 3 5 7
0 1 2 3 4 5 6 7
-1 0
证明:因为该算法在成功搜索的情况下,关键字之间的比较次数至少为
logn
,至多为
logn
1
。在
剩余15页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功