首页 > TAG信息列表 > time-complexity

mysql-SELECT DISTINC(column)FROM table on a indexed column的计算复杂度

题 我不是计算机科学专业的学生,​​如果混淆了术语,请原谅我.调用的计算复杂度是多少 SELECT DISTINCT(column) FROM table 要么 SELECT * FROM table GROUP BY column 在被索引的列上?它与行数或列中不同值的数目成正比.我相信那将是O(1)* NUM_DISINCT_COLS与O(NUM_OF_ROWS)

Java中整数数组中的操作交换或比较比较昂贵

Java中整数数组中哪个操作交换或比较开销更大?还是可以将它们全部视为相同? 上下文:对几乎排序的数组进行排序(我不是在说k排序的数组,其中每个元素从正确的位置最多移位k).即使我们使用插入排序,到最后的比较次数也将与任何数组或最坏情况下的比较次数相同.是不是只是交换次数会减少.

java-如何找到此函数的增长顺序?

功能如下: int sum = 0; for (int n = N; n > 0; n /= 2) for (int i = 0; i < n; i++) sum++; 他们给出的增长顺序是O(n).那么他们是如何得到答案的呢?解决方法:该函数的时间复杂度是迭代次数: Time complexity = sum = N + N/2 + N/4 + ... = N*(1 + 1/2 + 1/4 + ...

Python中最长的递增子序列(For vs While循环)

我正在解决这个leetcode问题link,我们应该在其中找到列表或数组中最长的递增子序列.我使用解决了问题 两种方法. >首先使用while循环>使用嵌套的for循环 Even though the value of (i, j) or looping is exactly same, but for the higher length inputs, the while loop progra

在Python中创建嵌套列表的时间复杂性

我在Python 2.6.6中创建嵌套列表时遇到了一个奇怪的问题. 请考虑以下两个功能: def lists(n): start_time = time.time() lists = [None]*n for i in xrange(n): lists[i] = [None]*n for j in xrange(n): lists[i][j] =

C#-.net简单正则表达式二次复杂度

在构建简单的正则表达式时,我发现它在输入大小增加的情况下具有非常奇怪的性能. 这是另一个具有类似行为的真正正则表达式: a+b 我已经用一个简单的基准分析了它: Regex regex = new Regex("a+b", RegexOptions.Compiled); const int maxInputSize = 100; const int n = 1000; s

为什么除数很大时除法会更快

我想看看除法运算的常数,所以我运行了这段代码 import time def di(n): n/101 i = 10 while i < 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000: start = time.clock() di(i) end = time.clock() print

在哪里可以找到Java方法的时间复杂度?

我是Java新手,正在docs.oracle.com上学习各种方法,但很奇怪的是,他们没有提到那里描述的任何方法的时间复杂性,例如在此页上的:https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#get(int) 有一些有关“ get()”方法的信息,但没有有关复杂性的信息!我找不到合适的

我可以在不使用两个循环的情况下执行此任务吗?

我试图解决一个简单的问题,我要做的是, 如果n的值为2,则打印 2211 21 或如果n的值为3,则打印 333222111 332211 321 我写的是这个 n=3 for i in range(n,0,-1): for j in range(n,0,-1): print(str(j)*i,sep='',end='') print() 没有两个循环,有什么方法可以

java – 如何增强增强for for循环?

我正在迭代String对象列表的元素 一个接一个地: LinkedList list; // add values to the list here for (int i = 0; i < list.size(); i++) System.out.println(list.get(i)); 在这里,每次我在列表上调用get()时,列表从其一端一直迭代到第i个元素 – 因此上述循环的复杂

javascript – 访问对象中数据的复杂性

在我作为日常工作的一部分工作的一些项目中,我需要访问非常大的JS对象中的数据(大约数千个键值对).我正在努力提高代码的效率,所以我提出了几个问题: >访问此类对象中的字段时,JS的运行时复杂性是多少?我最初的预感是它是O(n) >通过点表示法或括号表示法访问时有区别吗? (例如obj.fiel

为什么Javascript === / ==字符串相等有时具有恒定的时间复杂度,有时具有线性时间复杂度?

在我发现常见/最新的Javascript实现使用String Interning进行性能提升(Do common JavaScript implementations use string interning?)后,我认为===对于字符串将获得恒定的O(1)时间.所以我对这个问题给出了错误的答案: JavaScript string equality performance comparison 因为根据

javascript的.length的时间复杂度

javascript的数组.length的时间复杂度是多少?我认为它会保持不变,因为看起来属性是在所有阵列上自动设置的,你只是在查找它?解决方法: I think it would be constant since it seems that property is set automatically on all arrays and you’re just looking it up? 对.大概.它

Python List Reverse的时间复杂度是多少?

我看过这个页面https://wiki.python.org/moin/TimeComplexity,但我没有看到列表中的反向功能.列表反转的时间复杂度是多少? 我的时间实验表明,对于较大的尺寸,它是O(n).任何人都可以证实吗? timeit反转大小列表的时间 10 .1027 100 .2347 1000 .6704 10000 6.204 2

java.util.Collections.sort()方法的时间复杂度是多少?

我写了以下课程: public class SortingObjectsWithAngleField implements Comparator<Point> { public int compare(Point p1, Point p2) { double delta = p1.getAngle() - p2.getAngle(); if(delta == 0.00001) return 0; return

Python的’in’效率/速度有多快? (明智的时间复杂性)

在Python中,in关键字的效率是多少,例如: a = [1, 2, 3] if 4 in a: ... 解决方法:这取决于右手operand: The operators in and not in test for collection membership. […] The collection membership test has traditionally been bound to sequences; an object is a membe

python – heapq.nlargest如何工作?

我在看this pycon talk, 34:30并且发言者说获得n个元素列表中的t个最大元素可以在O(t n)中完成. 怎么可能?我的理解是创建堆将是O(n),但是nlargest本身的复杂性是什么,是O(n t)还是O(t)(以及实际算法是什么)?解决方法:在这种情况下,发言者是错误的.实际成本是O(n * log(t)).仅在可迭

c – 权力的时间复杂度()

参见英文答案 > The most efficient way to implement an integer based power function pow(int, int)                                    17个 我实现了这个函数power(),它接受两个参数a和b并计算ab. typedef long long int LL; LL powe

在C中调用虚函数的时间复杂度

假设具有类型Base的继承层次结构具有F个虚函数,D个不同的派生类型,并假设每个派生类型都覆盖所有虚函数. 为Base *类型的指针p调用其中一个虚函数的时间复杂度是多少? 另外,如果总共有O个对象(在类型之间平均分配)并且所有对象具有相同的数据成员,那么系统的空间复杂性是多少?解决方

Python issubset()的复杂性

给定两组A和B及其长度:a = len(A)和b = len(B)其中a> = b. Python 2.7的issubset()函数的复杂性是什么,即B.issubset(A)?我可以从互联网上找到两个相互矛盾的答案: 1,O(a)或O(b) 发现:https://wiki.python.org/moin/TimeComplexity 和bit.ly/1AWB1QU (很抱歉,我无法发布更多的http链接,

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

在C中生成随机数的计算成本如何?

我正在考虑的方法来自:https://stackoverflow.com/a/19728404/6571958 #include <random> std::random_device rd; // only used once to initialise (seed) engine std::mt19937 rng(rd()); // random-number engine used (Mersenne-Twister in this case) std::uniform

java – 数组的查找时间复杂度与存储方式的关系

众所周知,索引对数组访问的时间复杂度为O(1). Java的ArrayList文档由数组支持,它的get操作也是如此: The size, isEmpty, get, set, iterator, and listIterator operations run in constant time. 通过在给定索引处获取元素的内存地址而不依赖于数组的大小(类似于start_address