请前辈们告诉我《算法导论》里思考题5-1,5-2,4-6,4-7怎么做,拜托了。

flushbonading 2010-08-18 09:41:00
4-6 VLSI芯片测试
4-7 Monge矩阵
5-1 概率计数
5-2 搜索无序数组
...全文
436 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
AAA20090987 2010-08-19
  • 打赏
  • 举报
回复
直接看答案
xinzaiyiqi 2010-08-19
  • 打赏
  • 举报
回复
有的也不懂,求教
michael122 2010-08-19
  • 打赏
  • 举报
回复
后面两题改天再看吧,太长了。。
michael122 2010-08-19
  • 打赏
  • 举报
回复
4-7
a)归纳法就行了
b)第一行第三列的22改成24就行了
c)反证,假设有i<j 且f(j)>f(j), 则第i,j行,第f(i),f(j)列的交点的4个元素违背了Monge矩阵的定义
d)书上的提示基本就已经出来了。因为知道了偶数行的f值,那么对于某个奇数行i,有f(i-1)<=f(i)<=f(i+1), 两边都已知了,在这个范围里扫描一遍就行了。复杂度是O(m+n)这也很简单
e) 递归式 T(m)=T(m/2)+O(m+n) 递归树一共lgm层,所以T(m)=O(m+nlgm)
michael122 2010-08-19
  • 打赏
  • 举报
回复
4-6
a)这是显然的了,找个反例就行了。
b)任意两两组合,测试floor(n/2)对。对每一对的结果做如下处理:若两块显示都是好的,则随便挑一块出来;其他任何情况,把这两块都抛弃。这样可以挑出来m块(m<=n/2)。一般情况,拿着m块去递归的做就行了。但是有一个很特殊的情况:n是奇数时,且挑出来的m块是偶数,这样多出一块没有测试,m块中有可能正好一半是好的,这样就不满足递归的前提(前提是必须超过一半)。对多出的这一块做判断:拿这块跟m块一次测试m次,若>=m/2(注意m是偶数)块显示它是好的,那么这一块就是好的,任务就完成了。否则,这块肯定是坏的。这也间接说明那m块中超过一半是好的。然后递归就行了。
c) 按照b中的方法 T(n)<=T(n/2)+O(n) 根据主定理推出T(n)=O(n)
michael122 2010-08-19
  • 打赏
  • 举报
回复
这也太懒了吧。。
flushbonading 2010-08-19
  • 打赏
  • 举报
回复
网上的答案都是不全的。这些都没找到

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧