首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果你有一个O(n^3)的算法,那么在一台速度是它10倍的计算机上,你可以同时做多少个元素?

如果有一个O(n^3)的算法,表示算法的时间复杂度是O(n^3),其中n表示输入规模。在一台速度是它10倍的计算机上,可以同时处理的元素个数取决于计算机的处理速度和算法的时间复杂度。

假设在原始计算机上,处理n个元素需要t秒。在速度是它10倍的计算机上,处理n个元素所需的时间可以缩短为t/10秒。

那么在速度是它10倍的计算机上,可以同时处理的元素个数可以通过以下公式计算:

同时处理的元素个数 = (速度是它10倍的计算机上的处理时间) / (原始计算机上的处理时间)

假设原始计算机上处理n个元素需要t秒,则速度是它10倍的计算机上处理n个元素需要t/10秒。代入公式中,可以得到:

同时处理的元素个数 = (t/10) / t = 1/10

因此,在速度是它10倍的计算机上,可以同时处理的元素个数是原始计算机上的1/10。

需要注意的是,这个计算结果是基于假设原始计算机上处理n个元素需要t秒,并且速度是它10倍的计算机上的处理时间可以缩短为t/10秒。实际情况可能会有所不同,具体的计算结果需要根据实际情况进行评估。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

《图解算法》第1章 算法简介

如果答案为10,那就够了 二分查找 二分查找一种算法,其输入一个有序元素列表。...如果要查找元素饮食列表中,二分查找返回其位置;否则返回null 更佳查找方式 一般而言,对于包含n元素列表,用二分查找最多需要log2n步,而简单查找最多需要n步 对数:可能不记得什么对数了...对数幂运算逆运算 本书使用大O表示法讨论运行时间时,log指都是log2。使用简单查找法查找元素时,最糟糕情况下需要查看每个元素。因此,如果列表包含8个数字,最多需要检查8个数字。...而使用二分查找时,最多需要检查log n元素如果列表包含8个元素最多需要检查3元素,因为log8=3(23=8)。...这位旅行商要前往5个城市,同时要确保旅程最短。对于每种顺序,他都计算总旅程,再挑选出旅程最短路线。5个城市120种不同排列方式 n!(n阶乘) ? ? ?

46920

保姆级教学!带你玩转时间复杂度和空间复杂度!

复杂度分析 刚刚我说过,本蛋看来,复杂度分析数据结构和算法中最重要知识点,毫不夸张说,这就是数据结构与算法学习核心所在。学会了就入了门,学不会就永远不知道门儿在哪。...简单来说,就是需要提前写好算法代码和编好测试数据,然后计算机上跑,通过最后得出运行时间判断算法时效高低,这里运行时间就是我们日常时间。...我且不用“万一费劲心思写好算法代码本身个很糟糕解法”这种理由去反驳,事后统计法本身存在很多缺陷,并不是一个对我们来说有用度量指标: 首先,事后统计法太依赖计算软件和硬件等性能。...代码 core i7 处理器就比 core i5 处理器运算速度快,更不用说不同操作系统、不同编程语言等软件方面,就算是一台电脑上,用所有的东西都一样,内存占用或者 CPU 使用率也会造成运行时间差异...如果 x 列表 lst 中,那么 x n 种情况,它可能出现在 0 到 n-1 中任意位置,假设出现在每个位置概率都相同,都为 1/n

28830
  • 一定能看懂算法基础书(代码示例基于Python)

    1.2 二分查找 假设要在电话簿中找一个名字以K打头的人,(现在谁还用电话簿!)可以从头开始翻页,直到进入以K打头部分。但很可能不这样,而是从中间开始,因为知道以K打头名字电话簿中间。...又假设要在字典中找一个O打头单词,也将从中间附近开始。 现在假设登录Facebook。当你这样时,Facebook必须核实是否其网站账户,因此必须在其数据库中查找你用户名。...因此,如果列表包含8个数字,最多需要检查8个数字。而使用二分查找时,最多需要检查log n元素如果列表包含8个元素最多需要检查3元素,因为log 8 = 3(23 = 8)。...没有——大O表示法指并非以秒为单位速度。大O表示法让你能够比较操作数,指出了算法运行时间增速。 再来看一个例子。为检查长度为n列表,二分查找需要执行log n次操作。...因此,可以说,最糟情况下,必须查看电话簿中每个条目,对应运行时间为O(n)。这是一个保证——知道简单查找运行时间不可能超过O(n)。

    1.2K70

    第一本算法书,就被女友抢走了...

    O表示法 大O表示法一种特殊表示法,指出了算法速度多快。谁在乎呢?实际上,经常要使用别人编写算法,在这种情况下,知道这些算法速度大有裨益。...本节将介绍大O表示法是什么,并使用它列出一些最常见算法运行时间。 算法运行时间以不同速度增加 Bob要为NASA编写一个查找算法,这个算法火箭即将登陆月球前开始执行,帮助计算着陆地点。...没有——大O表示法指并非以秒为单位速度。大O表示法让你能够比较操作数,指出了算法运行时间增速。 再来看一个例子。为检查长度为n 列表,二分查找需要执行log n 次操作。...算法1 一种方法是以每次画一个方式画16个格子。记住,大O表示法计算操作数。在这个示例中,画一个格子一次操作,需要画16个格子。如果每次画一个格子,需要执行多少次操作呢?...因此,可以说,最糟情况下,必须查看电话簿中每个条目,对应运行时间为O(n)。这是一个保证——知道简单查找运行时间不可能超过O(n)。

    43240

    【数据结构】十大经典排序算法总结与分析

    针对数组arr,计算arr[i]之前有多少个元素,则唯一确定了arr[i]排序后数组中位置。 非比较排序只要确定每个元素之前已有的元素个数即可,所有一次遍历即可解决。...算法思想本身独立于编程语言,所以写代码去实现算法时候很多细节可以不同处理。采用不稳定算法不管你具体实现时怎么写代码,最终相同元素位置总是不确定(可能没变也可能变了)。...而稳定排序算法具体实现时如果细节方面处理好就会是稳定,但有些细节没处理得到结果仍然不稳定。 4.3 稳定意义 如果我们只是面对简单数字排序,那么稳定性确实也没有多大意义。...如果要排序内容一个复杂对象多个数字属性,但是其原本初始顺序毫无意义,那么稳定性依旧将毫无意义。 那么排序算法「稳定性」什么情况下才会变得有意义呢?...这个还是要分应用场景来看,很多使用情况下,并没有什么实质意义,而在有些情况下却有很重要意义。 很多算法现在看着没啥,但是当放在大数据云计算条件下稳定性非常重要。

    23420

    每周学点大数据 | No.4算法分析之时间复杂度

    另外,现在计算发展速度很快,将同样算法和同样数据不同计算机上运行,得出结果速度往往也不同。所以从这个角度来看,只用得出结果时间这一指标来衡量,不够准确和恰当。...另外还要注意一点,我们实际算法分析时,如果使用大O记号来表示一个算法复杂度的话,所确定g(n)一定要足够紧确,这样才能最好地代表一个算法复杂性如何;因为我们去找一个很大很大g(n)也能满足T...小可:比如一个算法运行时间T(n)=2n+3那么它就是一个O(n)算法,就定义而言,T(n)=O(n2)也是成立。...另外,如果某个算法时间复杂度T(n)可以表示为一个多项式,那么这个算法可以叫作多项式算法。...王:其实这种需要O(2n)算法,还真的广泛存在。比如我要枚举一个集合所有子集,看看复杂度多大。 小可:如果一个集合n元素那么子集就有2n个! Mr.

    60890

    轻松搞定面试中红黑树问题

    3)每个叶结点(叶结点即指树尾端NIL指针或NULL结点)。 4)如果一个结点那么俩个儿子都是黑。...相比于BST,因为红黑树可以能确保树最长路径不大于两倍最短路径长度,所以可以看出查找效果最低保证最坏情况下也可以保证O(logN),这是要好于二叉查找树。...并不一定常数就比log(n) 小,hash还有hash函数耗时,明白了吧,如果考虑效率,特别是元素达到一定数量级时,考虑考虑hash。...红黑树并不适应所有应用树领域。如果数据基本上静态那么让他们待在他们能够插入,并且不影响平衡地方会具有更好性能。如果数据完全是静态,例如,做一个哈希表,性能可能会更好一些。...红黑树通过扩展节点域可以不改变时间复杂度情况下得到结点秩。 7.如何扩展红黑树来获得比某个结点小元素多少个

    65840

    算法数据结构中有哪些奇技淫巧?

    1、用 n & (n - 1)消去 n 最后一位 1 n 二进制表示中,如果我们对 n 执行 n = n & (n - 1) 那么可以n 最右边 1 消除掉,例如 n = 1001 n -...(1)、判断一个正整数 n 是否为 2 幂次方 如果一个 2 幂次方,意味着 n 二进制表示中,只有一个1,其他都是0。...其实这道题和(2)那道题差不多一样,我们只需要计算 n 和 m 这两个数多少个二进制位不一样就可以了,那么我们可以先让 n 和 m 进行异或,然后计算异或得到结果有多少个 1 就可以了。...可以假设每个输入只对应一种答案,且同样元素不能被重复利用。...对于这道题,一种做法这样: 从左到右遍历数组,遍历过程中,取一个元素 a,然后让 sum 减去 a,这样可以得到 b,即 b = sum - a。

    55110

    高级数据结构讲解与案例分析

    解法:创建这个堆过程中,二叉树大小从 1 逐渐增长到 n ,所以整个算法复杂度经过推导,最终结果 O(n)。...注意:算法面试中不要求推导只需要记住,初始化一个大小为 n 堆,所需要时间 O(n) 即可。...算法时间复杂度必须优于 O(nlogn) ,n 数组大小 示例:car,car,book,desk,desk,desk 解题思路 这道题输入一个字符串数组,数组里元素可能会重复一次甚至多次...解法 2:前缀树 如果用前缀树头帮助对字典存储进行优化,那么可以把搜索时间复杂度下降为 O(M),其中 M 表示字典里最长那个单词字符个数,很多情况下,字典里单词个数 N 远远大于 M ...最后得出,在当前位置, 6 右边比 6 小数只有一个。 通过这样方法,每次把当前数用线段树进行个数统计,然后再计算出比它小数即可。算法复杂度 O(nlogn)。

    80620

    算法 - 程序灵魂

    算法概念 算法(Algorithm)计算机处理信息本质,因为计算机程序本质上一个算法来告诉计算机确切步骤来执行一个指定任务。...经过大量分析,前辈们总结出一个算法计算机上运行时所消耗时间取决于以下因素: 1.算法采用策略、方法 2.编译产生代码质量 3.问题输入规模 4.机器执行指定速度 3、...时间复杂度与“大O记法” 我们假定计算机执行算法一个基本操作时间固定一个时间单位,那么多少个基本操作就代表会花费多少时间单位。...算然对于不同机器环境而言,确切单位时间不同,但是对于算法进行多少个基本操作(即花费多少时间单位)规模数量级上却是相同,由此可以忽略机器环境影响而客观反应算法时间效率。...例如,可以认为 3n² 和 100n² 属于同一个量级,如果两个算法处理同样规模实例代价分别为这两个函数,就认为它们效率“差不多”,都为 n² 级。

    1.1K20

    秀尔算法:破解RSA加密“不灭神话”

    同时,秀尔算法展示了因数分解这问题在量子计算机上可以很有效率解决,所以一个足够大量子计算可以破解RSA。...秀尔五步走 那么,秀尔算法究竟是怎样工作呢?秀尔五步法中,只有一步需要是需要用到量子计算,其他步骤则都可以采用传统方法解决。...我们来看一下周期 P : m mod N, m^2 mod N, m^3 mod N (由于这是一个指数函数,我们可以一个复杂质数转换成双曲正弦、余弦然后得到周期) 这个发现周期过程需要依赖量子计算同时计算许多状态能力...并不加速寻找传统傅立叶转变,但是能够一个量子振幅内执行一个傅立叶变换。一台量子计算机上可以指数增长般快速处理量子傅立叶变换。虽然超过了直接映射经典傅立叶变换范畴,量子计算机也可以其他事。...秀尔算法中只有一个步骤需要在量子计算机上完成,其他可以普通超级计算机上完成。量子计算机运行完子程序后就会将结果返回给超级计算机让继续完成计算过程。

    2.1K90

    微软面试100题

    如果一只每小时飞行25英里同时离开洛杉矶,两列火车之间往返飞行,请问当两列火车相遇时,鸟飞了多远? 6假设一张圆盘像唱机上唱盘那样转动。这张盘一半黑色,一半白色。...运算 19链接表和数组之间区别是什么? 20做一个链接表,为什么要选择这样方法? 21选择一种算法来整理出一个链接表。为什么要选择这种方法?现在用o(n)时间来。...30比较两个字符串,用o(n)时间和恒量空间。 31假设一个用1001个整数组成数组,这些整数任意排列,但是知道所有的整数都在1到1000(包括1000)之间。...此外,除一个数字出现两次外,其他所有数字只出现一次。假设只能对这个数组一次处理,用一种算法找出重复那个数字。如果在运算中使用了辅助存储方式,那么能找到不用这种方式算法吗?...42如果需要学习一门新计算机语言,会怎样? 43假设由你负责设计比尔·盖茨卫生间。当然,钱不成问题,但是可以和比尔谈。会怎样

    1.4K70

    可能最可爱一文读懂系列:皮卡丘の复杂度分析指南

    例如,如果参与战斗小宠物数量N那么线性搜索算法渐近复杂度ON)。如果不知道这个符号是什么,请不要担心。我们马上就告诉。 简单来说,要询问N个小宠物他们等级是什么,然后做出决定。...想象一下,问所有1000个小宠物,这绝对个累人工作! 对于一台机器来说,ON)可能并不坏,但对于一个看重响应速度和处理速度网站而言,它可能不是最好选择。...还是时间O(1) 空间O(N)呢? ? 这样选择取决于实际应用需要。 如果我们一个面向客户应用程序,响应速度就不应该很慢。...冒泡排序算法 时间复杂性:现在我们已经算法,再来分析时间和空间复杂性。我们可以清楚地从步骤2和3中看到算法中存在嵌套循环结构。第二个for循环范围N-1-i,表明依赖于上一个循环。...抓牌时,我们往往需要对牌组进行排序。插入排序思想非常类似于对牌组进行排序。 比方说,几张按升序排序的卡牌。如果被要求右边插入另一张牌,同时要保证手中牌仍然有序会怎么

    91150

    图解算法学习笔记

    O表示法指出了算法最糟糕情况下运行时间 第二章,选择排序 2.1,内存工作原理 计算机中,存储多项数据时,两种基本方式-数组和链表。但它们并非适用于所有情形。...链表中,元素并非靠在一起无法迅速计算出第五个元素内存 地址,而必须先访问第一个元素以获取第二个元素地址,再访问第二个元素以获取第三个元素 地址,以此类推,直到访问第五个元素。...使用广 度优先搜索可以: + 编写国际跳棋AI,计算最少走多少步就可获胜; + 编写拼写检查器,计算最少编辑多少个地方就可将错拼单词改成正确单词,如将 READED改为READER需要编辑一个地方...True 6.4.1 运行时间 如果在你整个人际关系网中搜索芒果销售商,就意味着将沿每条边前行(记住,边一个人到另一个箭头或连接),因此运行时间至少为 O(边数)。...还使用了一个队列,其中包含要检查每个人。将一个人添加到队列需要时间固定,即为 O(1),因此对每个人都这样需要总时间为 O(人数)。

    1.6K20

    算法时空复杂度分析实用指南

    如果遇到更复杂复杂度场景,也可以根据定义来判断自己复杂度表达式是否正确。 2、Big O 记号表示复杂度「上界」。 换句话说,只要你给出一个上界,用 Big O 记号表示就都是正确。...比如如下代码: for (int i = 0; i < N; i++) { print("hello world"); } 如果说这是一个算法那么显然时间复杂度O(N)。...但如果非要说它时间复杂度O(N^2),严格意义上讲可以,因为O记号表示一个上界嘛,这个算法时间复杂度确实不会超过N^2这个上界呀,虽然这个上界不够「紧」,但符合定义,所以没毛病。...就拿我们常见数据结构举例,比如很多语言都提供动态数组,可以自动进行扩容和缩容。尾部添加元素时间复杂度O(1)。...递归算法分析 对很多人来说,递归算法时间复杂度比较难分析。但如果 框架思维,明白所有递归算法本质遍历,那么分析起来应该没什么难度。

    1.4K40

    大厂-分布式专栏 16 数据库如何分库分表,读写分离

    这样每张表里500w行数据。 3.面试官:使用什么策略分库分表?或者说,根据什么算法拆分数据。 问题分析: 前两个问题我还对答如流,这个问题也ok,我用取模法呀。...到这里我已经我说得很全面了,至少点到了,那么问题来了 面试官: 刚刚说user表使用对key取模法,比如你2019年用户量 3000w, n = 6可以保证两年增长量不用再拆分,如果业务突飞猛进...我陷入了深深思考… 当时我被问住了,关于这个问题,我回来后查阅资料总结了一下: 对key取模法一个缺点:如果n变大,比如现在要把分片数调整为 n=12,那么之前已经计算取模值会变,那已经存在...答案将要面临大量额外数据迁移工作,如果这个n变动频繁,是不是考虑还有更好解决办法,答案就是一致性hash算法,这个算法触及了我知识盲区,这个算法复杂,可以参考一致性Hash算法及使用场景进一步了解...深入分析 这里还有个比较重要问题面试官没问,就是分库分表,分多少个库比较合适,分多少个表合适,经验可循吗? 这是我公司DBA那里得到经验值,补上,下次面试可以跟面试官多掰扯一下。

    1.2K43

    进程、线程、协程篇

    批处理系统 批处理系统:加载计算机上一个系统软件,控制下,计算机能够自动地、成批地处理一个或多个用户作业(这作业包括程序、数据和命令)。...上面的核心意思就是,无论多少个线程,多少个cpu, Python执行时候会淡定同一时刻只允许一个线程运行,擦。。。,那这还叫什么多线程呀?莫如此早下结结论,听我现场讲。...加入GIL主要原因是为了降低程序开发复杂度,比如现在写python不需要关心内存回收问题,因为Python解释器帮你自动定期进行内存回收,可以理解为python解释器里一个独立线程,每过一段时间起...wake up一次全局轮询看看哪些内存数据可以被清空,此时自己程序 里线程和 py解释器自己线程并发运行,假设线程删除了一个变量,py解释器垃圾回收线程清空这个变量过程中clearing...多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样道理,如果消费者处理能力大于生产者,那么消费者就必须等待生产者。

    57030

    数据结构思维 第十七章 排序

    在下降过程中,我们必须将数组分成两半,这在每一层上都需要与n成正比时间。回来路上,我们必须合并n元素,这也是线性如果层数为h,算法总工作量为O(nh)。那么多少层呢?...填充,然后运行ant ListSorterTest来确认它可以工作。 17.6 有界堆排序 有界堆一个限制为最多包含k个元素堆。如果n元素可以跟踪这个最大k个元素: 最初堆。...最坏情况下,如果元素按升序出现,我们总是执行分支 3。在这种情况下,处理n元素总时间O(n log k),对于n线性。...例如: 如果一个数据集不能放入一个程序内存,那么运行时间通常会大大增加,或者根本不能运行。如果选择一个需要较少空间算法,并且这样可以计算放入内存中,则可能会运行得更快。...同时运行多个程序服务器上,如果可以减少每个程序所需空间,则可以一台服务器上运行更多程序,从而降低硬件和能源成本。 所以这些一些原因,应该至少了解一些算法空间需求。

    46840

    详解关系型数据库运作机制

    O(1) vs O(n2) 时间复杂度用于计算算法处理数据用时。科学家使用大O表示法来进行时间复杂度描述,其定义对于输入数据算法需要进行多少步运算。...进一步说明 这里几点提示: 具体算法和数据结果会在本文稍后列示 一个完整hash表中进行一次搜索会提交一个元素O(1) 一个全平衡树种进行一次搜索会提交一个结果给O(log(n))...一个数组中进行一次搜索会提交一个结果给O(n) 最优排序算法时间复杂度与O(n*log(n))相当 低效排序算法时间复杂度与 O(n2)相当 时间复杂度类型: 平均事件场合...除了时间复杂度,复杂度还可以用来表示内存使用和磁碟I/O占用情况等。诚然,比n2更复杂计算n4,3n,nn 。 合并排序 如果要对一个集合进行排序该如何呢?什么?使用sort()?...多于JOIN连接清除:当你 两次相同条件JOIN连接但是其中一个条件被隐藏了或者一个多于JOIN,那么它会被清除。 分区处理:如果使用了一个分区表,那么重写器会找出那个分区会被使用。

    64320
    领券