算法导论2.3-7

Q:

请给出一个运行时间为θ(nlgn)的算法,使之能在一个由n个整数构成的集合S和另一个整数X时,判断出S中是否存在有两个其和等于X的元素。

A:

先对S[1 TO N]进行合并排序--------------------------------θ(nlgn)

FOR a <- [1 TO N-1]-------------------------------------n-1

       用二分法试图找到b(最坏情况时),使得b+a==x---------θ(nlgn)

所以:

      T(n)=θ(nlgn)

 

时间复杂度小结:

注意,下面函数图像差别是在n很大时,虽然下面n的范围是0-10,但其实这里省去了实际过程中的 c1nlgn与c2n^2的c1和c2,所以差别如此显著

最坏情况下,插入排序与合并排序的对比:

image

注:高的一条是n^2

image 

最好情况下,插入排序时间复杂度θ(n),合并排序时间复杂度θ(nlgn)

image

注:高的一条为nlgn

image

另:

插入排序,选择排序:θ(n^2)

合并排序:θ(nlgn)

二分查找:θ(lgn)

转载于:https://www.cnblogs.com/jiangzhen/archive/2010/05/05/1727860.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1318. 或运算的最小翻转次数(位运算)

1. 题目 给你三个正整数 a、b 和 c。 你可以对 a 和 b 的二进制表示进行位翻转操作&#xff0c;返回能够使按位或运算 a OR b c 成立的最小翻转次数。 「位翻转操作」是指将一个数的二进制表示任何单个位上的 1 变成 0 或者 0 变成 1 。 示例 1&#xff1a; 输入&#x…

redis和mysql数据不一致_高并发下为什么 redis 和数据库不一致?怎么解决?

现在的web架构一般都用redis作为缓存层来减轻数据库的压力&#xff0c;数据在此架构下的读取问题&#xff0c;一般都是先判断redis缓存是否有数据&#xff0c;如果有&#xff0c;直接返回&#xff0c;否则读取数据库的数据&#xff0c;写入redis&#xff0c;返回数据&#xff0…

LeetCode 91. 解码方法(动态规划)

1. 题目 一条包含字母 A-Z 的消息通过以下方式进行了编码&#xff1a; A -> 1 B -> 2 ... Z -> 26给定一个只包含数字的非空字符串&#xff0c;请计算解码方法的总数。 示例 1: 输入: "12" 输出: 2 解释: 它可以解码为 "AB"&#xff08;1 2&am…

vim粘贴板和系统粘贴板的共享(linux)

不的不说,当你习惯了vim给你的编程带来乐趣后&#xff0c;你将会越来越喜欢它&#xff01; 在以前刚开始用vim的时候&#xff0c;总觉的在vim里面&#xff0c;鼠标没有起到像其他编辑器那样的功能&#xff0c;不能通过鼠标控制vim下光标移动&#xff0c;而当时又不熟悉vim的移动…

java的vector_java中的Vector类

public class VectorVector 类实现了可动态扩充的对象数组。类似数组&#xff0c;它包含的元素可通过数组下标来访问。但是&#xff0c;在 Vector 创建之后。Vector 可根据增加和删除元素的需要来扩大或缩小。每个向量可通过维护 capacity 和 capacityIncrement 来优化存储空间…

LeetCode 1238. 循环码排列(格雷编码+旋转数组)

1. 题目 给你两个整数 n 和 start。你的任务是返回任意 (0,1,2,,...,2^n-1) 的排列 p&#xff0c;并且满足&#xff1a; p[0] start p[i] 和 p[i1] 的二进制表示形式只有一位不同 p[0] 和 p[2^n -1] 的二进制表示形式也只有一位不同示例 1&#xff1a; 输入&#xff1a;n 2…

java 0 1背包_浅谈java实现背包算法(0-1背包问题)

0-1背包的问题背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品&#xff0c;每种物品都有自己的重量和价格&#xff0c;在限定的总重量内&#xff0c;我们如何选择&#xff0c;才能使得物品的总价格最高。问题的名称来源于如何选择最合适的…

关于Python的应用发布技术

收集如何 将Py应用打包发布的各种技巧: 1.1. 工具 {{{k <yanbo.yuangmail.com> reply-to python-cngooglegroups.com, to python-cngooglegroups.com, date Tue, Apr 1, 2008 at 2:58 PM subject [CPyUG:45605]}}}[http://groups.google.com/group/python-cn/t/24…

LeetCode 第 25 场双周赛(718/1832,前39.2%)

文章目录1. 比赛结果2. 题目1. LeetCode 5384. 拥有最多糖果的孩子 easy2. LeetCode 5385. 改变一个整数能得到的最大差值 medium3. LeetCode 5386. 检查一个字符串是否可以打破另一个字符串 medium4. LeetCode 5387. 每个人戴不同帽子的方案数 hard1. 比赛结果 做出来了 1、2…

target java_java元注解 @Target注解用法

Target&#xff1a;Target说明了Annotation所修饰的对象范围&#xff1a;Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了tar…

云南干旱 谁人受损 心有戚戚 愤怒哀伤

西南大旱&#xff0c;云南旅游无影响 http://www.52uyn.com/xinwen/detail.php?tid9615云南旅游业未受旱情影响http://sogup.com/news/jiaodian/12235.html附其中内容&#xff1a; 为报道旱灾&#xff0c;报社两位同事风尘仆仆从北京、深圳赶来。在从机场开往市区的路上&…

LeetCode 第 187 场周赛(1336/3107,前43.0%)

文章目录1. 比赛结果2. 题目1. LeetCode 5400. 旅行终点站 easy2. LeetCode 5401. 是否所有 1 都至少相隔 k 个元素 medium3. LeetCode 5402. 绝对差不超过限制的最长连续子数组 medium4. LeetCode 5403. 有序矩阵中的第 k 个最小数组和 hard1. 比赛结果 15分钟做出来了 1、2 …

Asp.net 中 Eval 调用后台函数的写法

<%# GetXXX(Eval("ColumnName").ToString())%>转载于:https://www.cnblogs.com/Ken-Cai/archive/2010/05/18/1738375.html

Silverlight 3.0 Isolated Storage 独立存储空间

Silverlight支持一种类似Cookie的独立存储,它是基于客户端的文件系统,每个Silverlight应用程序都被分配了自己的独立的存储空间. 这个存储空间在不同的操作系统下是不同的WindowsXP下 是根据账户来分配的.一般在 C:\Document and Setting\Administrator\Local Setting\Applica…

java线程如何避免死锁_Java面试问题,如何避免Java线程中的死锁?

如何避免Java中的死锁?是流行的Java面试问题之一&#xff0c;也是多线程的流行话题之一。尽管问题看起来很简单&#xff0c;但是一旦深入&#xff0c;大多数Java开发人员就会陷入困境。面试问题以“什么是死锁?”当两个或多个线程正在等待彼此释放所需资源(锁定)并陷入无限时…

LeetCode 1201. 丑数 III(最小公倍数+二分查找)

1. 题目 请你帮忙设计一个程序&#xff0c;用来找出第 n 个丑数。 丑数是可以被 a 或 b 或 c 整除的 正整数。 示例 1&#xff1a; 输入&#xff1a;n 3, a 2, b 3, c 5 输出&#xff1a;4 解释&#xff1a;丑数序列为 2, 3, 4, 5, 6, 8, 9, 10... 其中第 3 个是 4。示例…

2008年最受欢迎的资源top100

fromhttp://topic.csdn.net/u/20090116/14/bbe94537-4d1a-44e3-b4bb-01e8c4bd5998.htmlgoogle北电华为腾讯网易迅雷中兴试题及面试经验 sql语句妙用&#xff0c;各种sql语句的详细用法与讲解 仿QQ2008聊天程序(c#源码) 要想精通java必须看的经典书籍&#xff08;强顶&#x…

java抢单功能_基于消息队列的高并发抢单功能实现方法与流程

本发明涉及嵌入式软件中间件&#xff0c;具体涉及一种基于消息队列的高并发抢单功能实现方法。背景技术&#xff1a;中间件是一种独立的系统软件或服务程序&#xff0c;分布式应用系统借助这种软件在不同的技术之间共享资源&#xff0c;管理计算资源和网络通讯。它在计算机系统…

LeetCode LCP 12. 小张刷题计划(二分查找)

1. 题目 为了提高自己的代码能力&#xff0c;小张制定了 LeetCode 刷题计划&#xff0c;他选中了 LeetCode 题库中的 n 道题&#xff0c;编号从 0 到 n-1&#xff0c;并计划在 m 天内按照题目编号顺序刷完所有的题目&#xff08;注意&#xff0c;小张不能用多天完成同一题&…

java 监控 配置 文件怎么打开_java实现文件变化监控的方法(推荐)

一. spring配置文件&#xff1a;application.xmlxmlns:tx"http://www.springframework.org/schema/tx" xmlns:aop"http://www.springframework.org/schema/aop"xmlns:context"http://www.springframework.org/schema/context" xmlns:dwr"ht…