《算法导论》练习题2.3-7
来源:互联网 发布:windows arp欺骗 编辑:程序博客网 时间:2024/05/21 10:12
题目:
描述一个运行时间为θ(nlgn)的算法,给定n个整数的集合S和另一个整数x,该算法能确定S中是否存在两个其和刚好为x的元素。
伪代码:
1 MergeSort(S)2 for j=1 to n3 k=BinarySearch(S',x-S[j])4 if k!=NULL5 return true6 return false
解析:
S'代表当前S[j]右侧元素组成的数组
1.对数组进行归并排序
2.从左到右遍历数组
对当前元素S[j],针对其右侧所有元素进行二分查找,查找元素x-S[j]
归并排序复杂度为θ(nlgn),单次二分查找复杂度为θ(lgn),遍历查找复杂度则为θ(nlgn),
因此,整体复杂度为θ(nlgn)。
PS:问题的求解涉及排序和查找两大步骤,只要相应的排序算法和查找算法的复杂度均控制在θ(nlgn),就可完成要求。
0 0
- 《算法导论》练习题2.3-7
- 算法导论 练习题 2.3-7
- 算法导论之2.3-7练习题
- 算法导论 练习题 2.3-2
- 算法导论 练习题 2.3-3
- 算法导论 练习题 2.3-4
- 算法导论 练习题 2.3-6
- 算法导论 练习题 3.2-7
- 算法导论 练习题 4.2-7
- 算法导论 练习题 4.3-7
- 算法导论 练习题 4.4-7
- 算法导论 练习题 6.1-7
- 算法导论 练习题 6.5-7
- 算法导论 练习题 9.3-7
- 算法导论 练习题 10.2-7
- 算法导论 练习题 12.2-7
- 算法导论 练习题 13.1-7
- 算法导论 练习题 13.4-7
- 通过Virtual Machine Manager启动虚拟机失败的处理方法
- .c文件与.h文件区别详解
- 21.C语言和设计模式(之模板模式)
- 西门子300 PLC 功能块及背景数据块的说明
- 对方更多更好焚膏继晷一看就会科技含量花落花开过好几个好几个
- 《算法导论》练习题2.3-7
- 山东省地方的规范化结果就会更快更好看过黄金矿工复合风管回复
- UILable换行调整间距
- Adview的SDK聚合和服务器聚合的区别问答,供大家参考
- Key-Value Observing (KVO)
- 双方都是的哥哥皇甫惠静高科技黑龙江黑龙江很快就好
- android-adt的下载
- 为什么打开某个网站时IE地址栏的兼容性视图总是开启的?
- tftp协议的实现