首页
学习
活动
专区
工具
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的阶乘) ? ? ?

47220

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

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

29130
  • 你一定能看懂的算法基础书(代码示例基于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.3K70

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

    大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 稳定的意义 如果我们只是面对简单的数字排序,那么稳定性确实也没有多大意义。...如果要排序的内容是一个复杂对象的多个数字属性,但是其原本的初始顺序毫无意义,那么稳定性依旧将毫无意义。 那么排序算法的「稳定性」在什么情况下才会变得有意义呢?...这个还是要分应用场景来看,很多使用情况下,并没有什么实质的意义,而在有些情况下却有很重要的意义。 有很多算法你现在看着没啥,但是当放在大数据云计算的条件下它的稳定性非常重要。

    30020

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

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

    66440

    每周学点大数据 | 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.

    61090

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

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

    2.1K90

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

    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。

    55610

    算法 - 程序的灵魂

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

    1.1K20

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

    解法:在创建这个堆的过程中,二叉树的大小是从 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)。

    81520

    图解算法学习笔记

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

    1.6K20

    微软面试100题

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

    1.4K70

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

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

    91550

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

    如果你遇到更复杂的复杂度场景,也可以根据定义来判断自己的复杂度表达式是否正确。 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.5K40

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

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

    1.3K43

    进程、线程、协程篇

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

    58030

    时间复杂度详解

    一、算法效率 1.什么是算法效率 算法效率是指算法执行的时间,算法执行时间需通过依据该算法编制的程序在计算机上运行时所消耗的时间来度量。...时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。...那么这道题的时间复杂度我们就可以写成O(N^2),O()是固定写法,不能改变,代表的是你使用的方法是大O的渐进表示法,而N^2你可以随便写 写成X^2也是没有任何问题的。...,就要比对n-1个数据,第二次就是n-2,第三次就是n-3.....一直到n-1次,只比对1个数据,那么它的时间复杂度就是1+2+3+......+n-1是一个等差数列,通过小学的知识我们就可以知道这个等差数列的计算结果为(n*(n-1))/2,最后就会出现一个决定性的因素n^2,那么其它的小东西就都可以忽略了。

    16210

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

    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,那么它会被清除。 分区处理:如果你使用了一个分区表,那么重写器会找出那个分区会被使用。

    65320
    领券