云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Introduction To Algorithms算法导论的部分习题解答

Introduction To Algorithms算法导论的部分习题解答

  • 62 次阅读
  • 3 次下载
  • 2025/6/14 11:35:39

Chapter2 Getting Start

2.1 Insertion sort

2.1.2 将Insertion-Sort重写为按非递减顺序排序 2.1.3 计算两个n位的二进制数组之和

2.2 Analyzing algorithms

2.2.1将函数n3/1000?100n2?100n?3用符号?表示 2.2.2写出选择排序算法selection-sort

当前n-1个元素排好序后,第n个元素已经是最大的元素了. 最好时间和最坏时间均为?(n2)

2.3 Designing algorithms

2if?????n?2?T(n)??k2T(n/2)?nif???n?2,for?k?1 ?2.3.3 计算递归方程的解

(1) 当k?1时,n?2,显然有T(n)?nlgn

(2) 假设当k?i时公式成立,即T(n)?nlgn?2ilg2i?i?2i,

则当k?i?1,即n?2i?1时,

T(n)?T(2i?1)?2T(2i)?2i?1?i?2i?1?2i?1?(i?1)2i?2i?1lg(2i?1)?nlgn

????T(n)?nlgn ?

2.3.4 给出insertion sort的递归版本的递归式

?(1)if??n?1? T(n)???T(n?1)??(n)if??n?1

2.3-6 使用二分查找来替代insertion-sort中while循环内的线性扫描,是否可以将算法的时间提高到?(nlgn)?

虽然用二分查找法可以将查找正确位置的时间复杂度降下来,但是移位操作的复杂度并没有减少,所以最坏情况下该算法的时间复杂度依然是?(n2)

2.3-7 给出一个算法,使得其能在?(nlgn)的时间内找出在一个n元

素的整数数组内,是否存在两个元素之和为x

首先利用快速排序将数组排序,时间?(nlgn),然后再进行查找:

Search(A,n,x) QuickSort(A,n); i←1; j←n;

while A[i]+A[j]?x and i

return true else

return false

时间复杂度为?(n)。

或者也可以先固定一个元素然后去二分查找x减去元素的差,复杂度为?(nlgn)。

Chapter3 Growth of functions

3.1Asymptotic notation 3.1.2证明对于b?0,(n?a)b??(nb)

a?0时,(n?a)b?(n?n)b?2bnb

(n?a)b?nb

对于c1?1,c2?2b,c1nb?(n?a)b?c2nb

a?0时,(n?a)b?nb

存在n0??2a,当n?n0时,(n?a)b?(n/2)b

对于c1?2?b,c2?1,c1nb?(n?a)b?c2nb

3.1-4 判断2n?1与22n是否等于O(2n)

3.1.6 证明如果算法的运行时间为?(g(n)),如果其最坏运行时间为O(g(n)),最佳运行时间为?(g(n))。

最坏时间O(g(n)),即T?c2g(n); 最佳时间?(g(n)),即T?c1g(n)

?T??(g(n))

3.1.7:证明o(g(n))??(g(n))??

定义

3.2 Standard notation and common functions 3.2.2 证明alogc?cloga

bblgalogbc?logbclga?lgclogbalgalgclgb

lgalgc?logbalgc?lgb??????alogbc?clogba

3.2.3

nnlg(n!)??(nlgn)n!??(2)???and???n!?o(n) 证明

lgn!??lgi??lgn?nlgni?1i?1nn?lgi??[lgi?lg(n?i)]??lg[i(n?i)]??lg(i?1i?1i?1i?1nn/2n/2n/2n1)?nlgn?n?nlgn422

??????lg(n!)??(nlgn)

当n>4时,i(n?i)?2,?n!??i(n?i)?2n,?n!??(2n)

2i?1n/2n!?nn,?n!?o(nn)

3.2.4?是否多项式有界 ?lgn??!与??lglgn??!设lgn=m,则m!?2?m()me2m?()m?em(lnm?1)?mlnm?1?nlnlnn

∴lgn!不是多项式有界的。

meme

搜索更多关于: Introduction To Algorithms算法导论 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

Chapter2 Getting Start 2.1 Insertion sort 2.1.2 将Insertion-Sort重写为按非递减顺序排序 2.1.3 计算两个n位的二进制数组之和 2.2 Analyzing algorithms 2.2.1将函数n3/1000?100n2?100n?3用符号?表示 2.2.2写出选择排序算法selection-sort 当前n-1个元素排好序后,第n个元素已经是最大的元素了. 最好时间和最坏时间均为?(n2) 2.3 Designing algorithms 2if?????n?2?T(n)??k2T(n/2)?nif???n?2,for?k?1 ?2.3.3 计算递归方程的解

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com