首页 > TAG信息列表 > big-o

array_unique PHP的操作数

有人知道array_unique()的Big O吗? 我还没有遍历源代码,但是我可以想象它遍历每个值并检查是否在数组中,它是否为O(n ^ 2),对吗? 谢谢解决方法:因为它使用排序而不是O(n ^ 2)扫描,所以它是O(nlogn). Note that keys are preserved. array_unique() sorts the values treated as str

java-优化算法以查找2d道路(线)中的交点

我有一个代表道路的线列表,因此每条道路都有一个“起点”和“终点”.我的目标是找到每条道路的“下一条”道路.如果一条道路的起点或终点落在另一条道路的起点或终点的顶部,则该道路为另一条道路的下一条.例如 : 道路A:起点(0,0)和终点(2,0) 道路B:起点(2,0)和终点(5,0)C路:起点(2,0)和

java-此算法的big-O复杂度是多少?

我有一个下面编写的函数.此功能本质上是合并排序. public static long nlgn(double[] nums) { if(nums.length > 1) { int elementsInA1 = nums.length/2; int elementsInA2 = nums.length - elementsInA1; double[] arr1 = ne

java-合并和排序2个有大数组的排序数组,以寻求澄清.

这是学校的工作.我不是在寻求代码帮助,但是由于我的老师没有帮助我来到这里. 在两种情况下,我被要求对两个排序后的数组进行合并和排序: >当两个数组的大小相等时 >当两个数组的大小不同时 现在,我已经完成了情况2,它也处理了情况1:/我只是不知道如何为情况1编写代码或它与情况2有何

c – 如何使用运行时限制创建数据结构

我需要实现一个支持插入删除和搜索的数据结构 O(log(n))并在O(1)中提取特殊对象.我的数据结构需要保存按其ID排序的车辆,并且每辆车都有一个字段,表示下一次服务之前的时间.我需要在O(1)中提取下一步需要服务的车辆.欢迎所有建议. 我知道我需要两个独立的数据结构,我想到有1个设置

java – 性能方面,Guava库有多好?

我已经浏览了Google Guava库,并在其中创建了许多好的,可用的数据结构. 如果有其他人使用过它,那么你可以提供有关它与大数据集一起使用时的表现的反馈吗?基本上我正在为其运营寻找BigO表示法. 提前致谢解决方法:番石榴贡献者在这里. 嗯,有什么可说的?所有基于散列的(和基于枚举的)集

Python中f.seek()的复杂性

f.seek(500000,0)在到达500000之前是否经历了文件的所有前499999个字符? 换句话说,是O(n)或O(1)的f.seek(n,0)?解决方法:您需要更具体地了解对象f的类型. 如果f是存储在磁盘上的文件的正常io module对象,则必须确定是否正在处理: >原始二进制文件对象>一个缓冲区对象,包装原始二进制文

java中2个字符串的.equals的时间复杂度是多少?

我想知道Java中.equals运算符的时间复杂度(大O)是两个字符串. 基本上,如果我做了stringOne.equals(stringTwo),它的表现如何? 谢谢.解决方法:最坏的情况是O(n),除非两个字符串是相同的对象,在这种情况下它是O(1). (尽管在这种情况下,n指的是从第一个字符开始的两个字符串中匹配字符

在Java中使用HashSets时,方法retainAll的时间和空间复杂度是多少?

例如,在下面的代码中: public int commonTwo(String[] a, String[] b) { Set common = new HashSet<String>(Arrays.asList(a)); common.retainAll(new HashSet<String>(Arrays.asList(b))); return common.size(); } 解决方法:让我们在the code处进行细读.方法retai

python – 在Pandas DataFrame中反转列顺序的大O复杂性是什么?

所以假设我在pandas中有一个带有m行和n列的DataFrame.我们还要说我想颠倒列的顺序,可以使用以下代码完成: df_reversed = df[df.columns[::-1]] 这项行动的大O复杂性是什么?我假设这将取决于列数,但它还取决于行数?解决方法:我不知道熊猫是如何实现这一点的,但我确实根据经验进行了

这段代码的时间复杂度o()是多少? java的

我认为是O(3 ^ n),任何想法?      此方法查找给定数字是否是给定集合的任何子集合的总和(overoads boolean isSumOf(int [] s,int n)).     如果taget等于0或者消耗集合中的当前数字(或不消耗)并再次尝试,则该方法在每次递归调用中都会查询,     目标> 0,而我们还没

java – 使用队列进行遍历遍历的级别顺序的空间复杂性

这是级别顺序遍历的代码: public void bfsTraveral() { if (root == null) { throw new NullPointerException("The root cannot be null."); } int currentLevelNodes = 0; int nextLevelNodes = 0; final Queue<TreeNode> queue = new L

c – 尝试计算算法的运行时间

我有以下算法: for(int i = n; i > 0; i--){ for(int j = 1; j < n; j *= 2){ for(int k = 0; k < j; k++){ ... // constant number C of operations } } } 我需要计算算法的运行时间复杂度, 我很确定外循环运行O(n)次,中间循环运行O(log(n)

java – 根据步数确定时间复杂度

类文件中有四种不同的算法,它们具有一定的时间复杂度.下面的输出是给定随机数据的数组大小n的每种排序所采取的步骤数.我可以获得一些关于如何确定时间复杂性的帮助吗?如果其中一种具有n ^ 2的时间复杂度,我很确定我必须采用步数并除以n ^ 2并查看它接近的数字,但我不知道该怎么做之

python – 这个2次幂函数的“大O”

以下功能的“大O”是什么?我的假设是它是O(log(n)),但我想仔细检查.该函数简单地确定其参数是否为2的幂. def pow_of_2(x): a = math.log(x, 2) if a == math.floor(a): return True else: return False 解决方法:函数的Big-O不是恒定时间. 函数的Big-O

python – 嵌套while循环的运行时间

要查找内部while循环的迭代次数,是否与查找内循环的运行时间相同?此外,内部循环依赖于外部循环,我知道我应该将内部while循环运行的次数乘以外部while循环以获得迭代的次数,对吧?我对如何计算while循环的迭代次数感到困惑.任何帮助,将不胜感激.谢谢! def nested(n): b = 1 w

java – Priority Queue poll()时间复杂度

鉴于以下代码: pq.offer(x); pq.poll(); 对于第一行代码,元素x被插入到优先级队列pq中,商品的时间复杂度是log(k),其中k是pq的大小. 那么我的问题是,对于紧跟在第一行之后的第二行代码,poll()的时间复杂度是多少? 在第一行提供之后,pq已经被排序了,所以poll只是检索并删除队列的头

java – 具有多个条件的for循环的大O.

我不知道之前是否有人问我,因为我不确定如何制定我的搜索,但我会尝试.下面这段代码的大O是什么? List<SomeObject> list = //... List is created here .1 int sum = 0; .2 for(int i = 0; i < list.size() && i < 75000; i++){

Java TreeMap firstEntry()方法的Big O中的运行时复杂性是多少?

我知道这个类使用的是红黑树,但是这意味着它是O(log(n))来获得最少的元素还是O(1)或其他什么? 谢谢!解决方法:鉴于它是二叉搜索树,它必须遍历树的高度(即O(log n))才能到达第一个(即最少)条目,因此该方法实际上是O(log n). 您可以在OpenJDK here中看到它是如何实现的. /** * Return

python bisect是O(n ^ 2)?

我正在运行一个简单的测试来监视使用bisect库排序插入列表需要多长时间 import numpy as np import bisect def get_time(N): myl = [] a = time.time() for i in np.arange(N): bisect.insort_left(myl, random.randint(0,1000000) ) b = time.time()

java – 计算Big-O复杂性

我最终会给这个程序一个类似60,000个400像素图像的输入文件,所以我试着想一想这个代码如何用大输入运行.为了便于阅读,我用“blah”和所有带有简单字母(nn,mm和kk)的ArrayList名称替换了不重要的东西. for (Perceptron P : nn){ //blah } for

java – 为什么嵌套循环与list.add给出O(n ^ 4)时间复杂度?

我遇到了这个代码片段的Big O时间复杂度的问题: 保证以下代码的时间复杂度为O(n ^ 4). ArrayList<Integer> list = new ArrayList<Integer>(); for(int i = n; i>=1; i--) //n for(int j = 1; j<=i; j++) //n if(!list.contains(i*j)) //n?

java – Big o表示法和递归函数

我正在尝试学习Big-O符号,但我很难计算递归函数的时间复杂度. 你能帮我理解下面例子的时间复杂度吗? public int recursiveFunction(int n) { if (n == 0) { return 0; } return Math.max(recursiveFunction(rand(n)) + 2,recursiveFunction(n - 1)); } publ

c – 在Big O表示法中,您如何考虑对其他方法的调用?

假设我们有这两种方法: void example(int p){ p += 10; p = exampleTwo(p); } int exampleTwo(int p){ int pp = 0; for(int i = 0; i < p; i++){ pp++; } return pp; } 方法exampleTwo具有线性运行时.它的运行时间是O(n). 那么,方法示例的大O符

字符串Python上的count操作的计算成本是多少?

例如: 'hello'.count('e') 这是O(n)吗?我猜它的工作方式是它扫描’你好’并在每次看到字母’e’时递增一个计数器.我如何在不猜测的情况下知道这一点?我尝试阅读源代码here,但发现这个问题一直困扰着: def count(s, *args): """count(s, sub[, start[,end]]) -> int Return