《算法导论(原书第3版)》一思考题

简介: 本节书摘来自华章出版社《算法导论(原书第3版)》一 书中的第3章,第3.3节,作者:(美)Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest,Clifford Stein,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

思考题

3-1 (多项式的渐近行为) 假设p(n)=∑di=0aini是一个关于n的d次多项式,其中ad>0,k是一个常量。使用渐近记号的定义来证明下面的性质。

a.若k≥d,则p(n)=O(nk)。

b.若k≤d,则p(n)=Ω(nk)。

c.若k=d,则p(n)=Θ(nk)。

d.若k>d,则p(n)=o(nk)。

e.若k

3-2 (相对渐近增长) 为下表中的每对表达式(A,B)指出A是否是B的O、o、Ω、ω或Θ。假设k≥1、ε>0且c>1均为常量。回答应该以表格的形式,将“是”或“否”写在每个空格中。

screenshot

3-3 (根据渐近增长率排序)

a.根据增长的阶来排序下面的函数,即求出满足g1=Ω(g2),g2=Ω(g3),…,g29=Ω(g30)的函数的一种排列g1,g2,…,g30。把你的表划分成等价类,使得函数f(n)和g(n)在相同类中当且仅当f(n)=Θ(g(n))。
61

lg(lgn)2lgn(2)lgnn2n!(lgn)!

32nn3lg2nlg(n!)22nn1/lgn

lnlnnlg*nn·2nnlglgnlnn1

2lgn(lgn)lgnen4lgn(n+1)!lgn

lg*(lgn)22lgnn2nnlgn22n+1

b.给出非负函数f(n)的一个例子,使得对所有在(a)部分中的函数gi(n),f(n)既不是O(gi(n))也不是Ω(gi(n))。

3-4 (渐近记号的性质) 假设f(n)和g(n)为渐近正函数。证明或反驳下面的每个猜测。

a.f(n)=O(g(n))蕴涵g(n)=O(f(n))。

b.f(n)+g(n)=Θ(min(f(n),g(n)))。

c.f(n)=O(g(n))蕴涵lg(f(n))=O(lg(g(n))),其中对所有足够大的n,有lg(g(n))≥1且f(n)≥1。

d.f(n)=O(g(n))蕴涵2f(n)=O(2g(n))。

e.f(n)=O((f(n))2)。

f.f(n)=O(g(n))蕴涵g(n)=Ω(f(n))。

g.f(n)=Θ(f(n/2))。

h.f(n)+o(f(n))=Θ(f(n))。

3-5 (O与Ω的一些变形) 某些作者用一种与我们稍微不同的方式来定义Ω;假设我们使用Ω∞(读作“Ω无穷”)来表示这种可选的定义。若存在正常量c,使得对无穷多个整数n,有f(n)≥cg(n)≥0,则称f(n)=Ω∞(g(n))。

a.证明:对渐近非负的任意两个函数f(n)和g(n),或者f(n)=O(g(n))或者f(n)=Ω∞(g(n))或者二者均成立,然而,如果使用Ω来代替Ω∞,那么该命题并不为真。
62

b.描述用Ω∞代替Ω来刻画程序运行时间的潜在优点与缺点。

某些作者也用一种稍微不同的方式来定义O;假设使用O′来表示这种可选的定义。我们称f(n)=O′(g(n))当且仅当f(n)=O(g(n))。

c.如果使用O′代替O但仍然使用Ω,定理3.1中的“当且仅当”的每个方向将出现什么情况?

有些作者定义O(读作“软O”)来意指忽略对数因子的O:
O(g(n))={f(n):存在正常量c,k和n0,使得对所有n≥n0,有0≤f(n)≤cg(n)lgk(n)}

d.用一种类似的方式定义Ω和Θ。证明与定理3.1相对应的类似结论。

3-6 (多重函数) 我们可以把用于函数lg中的重复操作符应用于实数集上的任意单调递增函数f(n)。对给定的常量c∈R,我们定义多重函数f*c为
f*c(n)=min{i≥0:f(i)(n)≤c}

该函数不必在所有情况下都为良定义的。换句话说,值f*c(n)是为缩小其参数到c或更小所需要函数f重复应用的数目。

对如下每个函数f(n)和常量c,给出f*c(n)的一个尽量紧确的界。

screenshot

相关文章
手机充电器的兼容性
手机充电器的兼容性主要取决于两个方面:充电器的输出规格和手机的输入规格。
|
开发工具 数据安全/隐私保护 git
Github新的认证方式
Github新的认证方式
688 0
|
4月前
|
人工智能 小程序 数据安全/隐私保护
2026年零基础部署OpenClaw(Clawdbot)集成微信小程序保姆级教程
2026年,AI自动化工具已深度渗透到私域运营、个人办公、中小企业服务等各类场景,OpenClaw(前身为Clawdbot、Moltbot,三者为同一套AI网关系统的不同命名迭代,旧名相关操作命令完全兼容)凭借轻量化容器化架构、灵活的插件扩展能力、自然语言驱动的任务执行效率,以及对多平台的无缝适配特性,成为新手与中小企业打造专属AI助手的首选工具。微信小程序作为国民级轻应用载体,无需下载安装、触达便捷、覆盖全年龄段用户,且依托微信生态实现流量闭环,将OpenClaw与微信小程序深度对接,可快速解锁“小程序发指令、AI自动化执行、实时反馈结果”的核心体验,适配私域客户服务、智能咨询、办公提效、内
2267 2
|
2月前
|
存储 缓存 监控
【架构设计】高性能架构设计:QPS/TPS/RT核心指标、性能优化方法论、水平/垂直扩展、缓存、异步、池化
本文系统构建高性能架构知识体系:以QPS/TPS/RT为核心标尺,遵循“空间换时间、分而治之、无状态化”等七大原则;涵盖垂直/水平扩展骨架、缓存/异步/池化三大引擎,并通过全链路监控、压测、限流熔断等保障闭环。
|
8月前
|
传感器 人工智能 API
仅100多元,他给视障人群装上AI“眼睛”
上海两名开发者为验证AI助盲实效,亲手打造百元AI眼镜,蒙眼实测过马路、识盲道,并开源项目鼓励更多人参与。技术导航,人心照亮。
1744 6
仅100多元,他给视障人群装上AI“眼睛”
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
数据采集 机器学习/深度学习 人工智能
用人工智能和missForest构建完美预测模型,数据插补轻松驾驭
用人工智能和missForest构建完美预测模型,数据插补轻松驾驭
820 1
|
弹性计算 固态存储 ice
阿里云ECS服务器2核16G、4核32G和8核64G不同配置租赁价格表
2024年阿里云服务器提供多种配置与实例规格,如2核16G、4核32G及8核64G等,用户可根据需求选择内存型r8i、通用算力型u1等不同架构。以2核16G为例,r8i每月334.19元起,u1则为286.2元起。公网带宽与系统盘亦有多档价位。实际价格与折扣请参照官网。
1182 5
|
数据采集 Java 调度
深入解析Java线程池的扩容机制与拒绝策略
深入解析Java线程池的扩容机制与拒绝策略
1274 0
|
人工智能 文字识别 自然语言处理
又要起飞,浏览器居然都可以本地 OCR 啦
又要起飞,浏览器居然都可以本地 OCR 啦
575 0