算法设计与分析基础第二章部分课后题答案(曲师大)

Exercise 2.1
1.
Question i ii iii
a n 相加 不会
b 二进制表中的数 相乘 不会
c n 两个数字不断比较 不会
d 两个输入数中较大的数的大小,或两个输入数中较小的数的大小,或两个输入数的大小之和。 模除运算 会
e 二进制表中的位数 从剩余的主要候选名单中剔出若干 不会
f n 两位数字乘法 不会
4.a:最好的情况下是2只,最差的情况下是12只
b:都在袜子丢失中,丢失的总情况数为C_102=45,假设丢失的恰好是同一双的概率是:(C_51)/(C_10^2 )=1/9,而丢失的是不同的两双的概率是:(C_5^2 C_2^1 C_21)/(C_102 )=8/9,通过求期望值是4×1/9+3×8/9=28/9。
9.a.n(n+1)=2000n^2
b.100n2<0.01n3
c.log_2⁡n=ln⁡n
d.log⁡(_22)n>log_2⁡〖n2 〗
e.2(n-1)=2n
f.(n-1)!<n!

Exercise 2.2
3. a.〖(n2+1)〗10≥(〖n2)〗10=n20∈Θ(n20)
lim┬(n→∞)⁡〖〖(n2+1)〗10/n^20 〗=lim┬(n→∞)⁡〖(〖(n2+1)/n2 )〗^10=〗 lim┬(n→∞)⁡〖(1+〖1/n^2 )〗^10=〗 1
b.√(〖10n〗2+7n+3)≥√(〖10n〗2 )=√10 n∈Θ(n)
lim┬(n→∞)⁡〖√(〖10n〗2+7n+3)/n=lim┬(n→∞)⁡√(10+7/n+3/n2 ) 〗=10
c.2nlg(n+2)2+(n+2)2 lg n/2=4nlg(n+2)+(〖(n+2)/√2)〗^2 lg⁡(〖n/2)〗^2
=4nlg(n+2)+(n+2)^2/2 lg n^2/4
=4nlg(n+2)+1/2 (n2+4n+4)(lgn2-lg4)
≥4nlg(n+2)+n^2/2 lgn2+2nlgn2
≥8nlgn+n^2/2 lgn2∈Θ(nlgn)+Θ(n2 lgn^2)
=Θ(n^2 lgn^2)

d.2(n+1)+3(n-1)=2n×2+1/3×3n=Θ(2^n )+Θ(3^n )=Θ(3^n )
lim┬(n→∞)⁡〖(2(n+1)+3(n-1))/3^n 〗=1/3<1

e.log_2⁡n-1≤[log_2⁡n ]≤log_2⁡n
log_2⁡n-1≥log_2⁡n-1/2 log_2⁡〖n=1/2〗 log_2⁡n
∴[log_2⁡n ]∈Θ(log_2⁡n )=Θ(log⁡n)

4.a.随着n的增大这些函数都会趋于正无穷,没有一个确定的函数值能证明他们的顺序。
b.(1)lim┬(n→∞)⁡〖log⁡n/n〗=lim┬(n→∞)⁡〖〖(log〗⁡〖n)’〗/n’〗=lim┬(n→∞)⁡〖1/n=0〗
∴log⁡〖n∈Ο(n)〗
(2) lim┬(n→∞)⁡〖n/(n log_2⁡n )〗=lim┬(n→∞)⁡〖1/log_2⁡n =0〗
∴n∈Ο(n log_2⁡n)
(3)由(1)式易得Θ(log⁡n)∈Θ(n^2)
(4)lim┬(n→∞)⁡〖n2/n3 〗=lim┬(n→∞)⁡〖1/n〗=0
∴n2∈Ο(n3)
(5) lim┬(n→∞)⁡〖n3/2n 〗=lim┬(n→∞)⁡〖(〖(n〗3)’)/(〖(2〗n)’)=lim┬(n→∞)⁡〖(3n2)/(2n ln2)=2/1n2〗 〗 lim┬(n→∞)⁡〖n2/2n =6/(〖1n〗^2 2)〗 lim┬(n→∞)⁡〖1/2^n 〗=0
∴n3∈Ο(2n)
(6)利用史特林公式易得2^n∈Ο(n!)
5. 由前至后分别属于的类型为:阶乘,对数,指数,幂函数,对数的平方,幂函数,指数函数,具体的优先级为:
〖5lg⁡(n+100)〗10,〖ln〗2 n,∛n,0.001n4+3n3+1,3n,22n,(n-2)!
Exercise 2.3
4.算法求得的是n项的平方和,基本操作是乘法,这个操作执行了n次,效率类型为Θ(n),假如我们使用二进制标的位数作为度量标准那么效率类型为Θ∈(2^b),其中b=[log_2⁡n+1],通过:
〖(n+1)〗3=n3+3n^2+3n+1
〖(n+1)〗3-n3=3n^2+3n+1
〖n3-(n-1)〗3=3(〖n-1)〗^2+3(n-1)+1
⋯⋯
33-23=3×2^2+3×2+1
23-13=3×1^2+3×1+1
求和得:
〖(n+1)〗3-1=3(12+22+32+⋯+n^2 )+3(1+2+3+⋯+n)+n
由于1+2+3+⋯+n=(n(n+1))/2
因此:n3+3n2+3n=3(12+22+32+⋯+n2 )+3 (n(n+1))/2+n
即:12+22+32+⋯+n2=(n(n+1)(2n+1))/6
10.10×10×10=1000
Exercise 2.4
4.a.Q(n)=Q(n-1)+2×n-1
Q(n-1)=Q(n-2)+2×(n-1)-1
⋯⋯
即:Q(n)=1+3+5+⋯+2×n-1=n(1+2×n-1)/2=n^2
代码:
#include
using namespace std;
int qu(int n)
{
if(n==1)
return 1;
else
return qu(n-1)+2*n-1;
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cout<<qu(i)<<" ";
}
return 0;
}
运行结果:

由此可得:Q(n)=n^2
b.设乘法次数为M(n),其中M(1)=0,因为:
Q(2)=Q(1)+2×1-1
⋯⋯
Q(n-1)=Q(n-2)+2×(n-1)-1
Q(n)=Q(n-1)+2×n-1
因此:M(n)=n-1
c.设加减次数为C(n),其中C(1)=0,因为:
Q(2)=(Q(1)+2×1-1)or(Q(1)+2(2-1)-1)
⋯⋯
Q(n-1)=Q(n-2)+2×(n-1)-1
Q(n)=Q(n-1)+2×n-1
在一个在递推公式中如果以前者为标准C(n)=2(n-1),如果以后者为标准则C(n)=3(n-1)
9.代码:
#include
using namespace std;
int Riddle(int a[],int n)
{
int temp;
if(n==1)
{
return a[0];
}
else
{
int b[100];
for(int j=0;j<n-1;j++)
{
b[j]=a[j];
}
temp=Riddle(b,n-1);
if(temp<a[n-1])
{
return temp;
}
else
{
return a[n-1];
}
}

}
int main()
{
int n,a[100];
cout<<“输入一个整数n:”<<endl;
cin>>n;
cout<<“输入数:”<<endl;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
cout<<“最小的数为:”<<Riddle(a,n);
return 0;
}
运行结果:

该程序可以求列表最小值
通过temp值和数组末尾的元素的比较,因此设次数为C(n),则C(n)=n-1。

算法设计与分析基础第二章部分课后题答案相关推荐

  1. 算法设计与分析基础 第一章谜题

    习题1.1 10.b 欧几里得游戏 一开始,板上写有两个不相等的正整数,两个玩家交替写数字,每一次,当前玩家都必须在板上写出任意两个板上数字的差,而且这两个数字必须是新的,也就是说,不能与板上任何一个 ...

  2. 计算机网络原理(第二章)课后题答案

    第二章 1.计算机网络应用可以分为哪几种体系结构的应用类型?各种应用类型的特点是什么? C/S结构:通信旨在客户与服务器之间进行,客户与客户不直接通信 纯P2P结构:没有永远在线的服务器,任意端系统/ ...

  3. (算法设计与分析)第二章递归与分治策略-第二节:分治和典型分治问题

    文章目录 一:分治法基本概念 (1)基本思想 (2)适用条件 (3)复杂度分析 二:典型分治问题 (1)二分搜索 (2)大整数乘法 A:大整数乘法(Karatsuba算法) B:字符串乘法 (3)St ...

  4. 第一章 算法设计与分析基础知识

    系列文章目录 第一章 算法设计与分析基础知识 第二章 算法的分治策略 第三章 算法的动态规划 第四章 算法的贪心法 -- @[TOC](这里写目录标题) # 一级目录 ## 二级目录 ### 三级目录 ...

  5. 计算机算法设计与分析第五章思维导图知识点总结 ( 初稿 )

    复习链接 计算机算法设计与分析第一章思维导图 计算机算法设计与分析第二章思维导图&&知识点总结 计算机算法设计与分析第三章思维导图&&知识点总结 计算机算法设计与分析第 ...

  6. 计算几何学习总结(使用教材算法设计与分析(第二版))

    ** 计算几何总结(使用教材算法设计与分析(第二版)李春葆 清华大学出版社) ** (代码大部分为书中原有代码,如有雷同,实属正常.) #include<bits/stdc++.h> us ...

  7. 算法设计与分析基础-笔记-上

    算法设计与分析基础 绪论 什么是算法 一系列解决问题的明确指令,对于符合一定规范的输入,能够在有限的时间内获得要求的输出. 例子:最大公约数:俩个不全为0 的非负整数 m m m和 n n n的最大公 ...

  8. 计算机算法设计与分析读后感,算法设计与分析基础经典读后感有感

    <算法设计与分析基础>是一本由Anany levitin著作,清华大学出版社出版的胶版纸图书,本书定价:49.00元,页数:409,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助 ...

  9. 算法设计与分析第七章分支限界算法(完结篇)

    算法设计与分析第七章分支限界算法 一.分支界限算法概述 1.分支限界法类似于回溯法,是一种在问题的解空间树上搜索问题解的算法. 分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解 ...

  10. 计算机组成原理唐朔飞课后答案第六章,计算机组成原理第六章部分课后题答案(唐朔飞版)...

    计算机组成原理第六章部分课后题答案(唐朔飞版) 6.4 设机器数字‎长为8位(含1位符号‎位在内),写出对应下‎列各真值的‎原码.补码和反码‎. -13/64,29/128,100,-87 解:十进制 ...

最新文章

  1. SURF 特征检测及匹配
  2. oracle 12C(12.2.0.1)安装-plm系统(一)
  3. 内联函数与普通函数、成员函数与静态函数的区别(知识整理)
  4. android mvvm 官方例子,详解Android的MVVM框架 - 数据绑定
  5. 哈希表 Hashtable c# 1613537346
  6. C盘空间太小,建议删除如下文件以释放空间!
  7. 系统中了莫名奇怪的毒,杀毒软件不起作用了,怎么办
  8. Qt Creator 使用技巧(功能快捷键如注释、声明和实现之间切换)
  9. 内存管理基础学习笔记 - 4.2 缺页中断处理 - do_page_fault
  10. andorid6.0 mtk6737平台 ctp调试方法
  11. 美国大学生数学建模竞赛选题、经验以及准备材料
  12. MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题
  13. 使用Gmsh画非均匀网格
  14. CSK会议通话降噪解决方案,以A.I.横扫噪音
  15. 修改GL-iNet路由器的reset键功能
  16. 计算机word茶的功效,乌龙茶的功效与作用 Microsoft Word 文档
  17. uniapp实现onShow获取页面传递参数方法
  18. SQLyog图形化l数据库的操作和学习
  19. 图形学基础 | 详解3D中的obj文件格式
  20. 海思3520Dv300和NVP6124B摄像头自适应

热门文章

  1. 【转自知乎】送给前端的你,推荐几篇前端汇总文章
  2. Python3制作百度文库免费下载器
  3. 8-BIT OPTIMIZERS VIA BLOCK-WISE QUANTIZATION--通过块级量化的8位优化器
  4. 基本知识 100136
  5. 计算混响时间的意义_混响时间的测量方法和步骤
  6. Windows7集成SP1微软原版光盘镜像下载大全
  7. 程序员表白源码集合打包带走
  8. 如何检测VC运行库是否安装
  9. 光纤组网基础知识 (2) - 光纤跳线、尾纤、连接器、法兰盘、耦合器
  10. 「以云为核,无感极速」顶象第五代验证码