time-complexity

    0热度

    2回答

    我相信下面的代码是n^3的大的theta,这是正确的吗? for (int i = 0; i < n; i ++) { // A is an array of integers if (A[i] == 0) { for (int j = 0; j <= i; j++) { if (A[i] == 0) { for (int k = 0; k <=

    1热度

    1回答

    如果我有ķ排序的单链表,并通过每个列表的最大元素(在列表的最后),会有什么大O(运行时间/时间复杂度)是它们排序(归并) ?假设列表1〜k具有不同的大小:n_1〜n_k。我在想O(k * log(MAX(n_1〜n_k))),但不确定我是如何或为什么来到这个思路。

    2热度

    2回答

    证明或反驳:有一种普遍的排序算法,该算法可以排序 一个如果数组是最小堆排序,则长度为n的数组在O(n)中。 明天我写的考试和证明任务很害怕...这里是一个我从旧的考试发现非常难解决的预期...:/ 我想我知道答案,但我理由不好。所以我的理由是声明是错误的,因为当数组是最小堆排序时,让我们将其想象为一棵树,然后树的叶子将不会被排序。并且该排序需要在O(n)中排序。出于这个原因说法是错误的.. 这里我

    3热度

    1回答

    您已给出一组像{2,7},{3,8},{9,11},{-4,-1}等的间隔。问题是从这些时间间隔中找出第k分钟。 此外重复计数两次。例如,如果间隔是{1,4}和{2,6}且k = 3,则答案为2,因为如果我们变平的时间间隔和排序合并它们然后我们得到的序列 1,2,2,3,3,4,4,5,6 当第三分是3. 可以有很多方法来解决这个问题。然而,我正在努力寻找最小的时间/空间复杂度。

    0热度

    1回答

    我遇到了一个有趣的问题。有一个目录树让呼叫T 现在在目录结构中有3个操作是允许 1. Add a file or another directory under some parent directory 2. Remove a file or another directory 3. Modify that is move a file/directory from one parent d

    3热度

    2回答

    我试图解决hackerrank中的一个问题,该问题是查找数组中具有最大度数的最小子阵列的长度。数组的最大度数是具有最大频率的元素的数量。例如,考虑例子{2,2,1,2,3,1,1}最小子数组长度为4,因为2具有最大度数,并且具有度数3的最小子数组是{2,2, 1,2} 下面是我的问题 public class FindingMinSubArrayWithDegree { public s

    -1热度

    1回答

    我正在处理一个非常具体的分而治之的算法,它总是将一个有n个元素的问题划分为n/2-1和n/2 + 1个元素的两个子问题。 我很确定时间复杂度仍然是O(n log n),但我不知道我怎么能正式证明它。

    -5热度

    1回答

    如果我们有这样的代码(伪)这个递归调用的时间复杂度是多少?假设以下没有说明的东西被认为是恒定时间。 a,b,c > 0 //some code above, then we get here for i = 0 to a recursive(i,b) //code continues FUNCTION recursive(i,b) if b = 0 retur

    0热度

    2回答

    复杂性分析中,我无法理解log(k)和log(n)之间的差异。 我有一个大小为n的数组。我有另一个数字k < n是算法的输入(所以它不是提前知道的常数)。什么是算法的一些例子会有log(n)与那些log(k)的复杂度的算法?我只能想到复杂度为log(n)的算法。 例如,mergesort在其运行时分析(O(nlogn))中具有log(n)复杂性。

    -4热度

    1回答

    教授:您的程序需要打印所有插入和删除场景的总插入时间和总删除时间。 我们需要在一个单独和双向链表中使用它。 我想知道我怎么能找到时间! 谢谢 这是我的输出。 在启动 添加节点100在启动 添加节点1000在启动 添加节点100000在启动 添加节点10000循环链表:< - > 100000 < - > 10000 < - > 1000 < - > 100 从开始 循环链表删除节点100000:<