小编tem*_*def的帖子

无限完整二叉树中两个节点之间的最短路径?

假设我们有一个无限的,完整的二叉树,其中节点编号为1,2,3,......它们在树的逐层遍历中的位置.给定树中两个节点u和v的索引,我们如何才能有效地找到它们之间的最短路径?

谢谢!

algorithm binary-tree shortest-path

1
推荐指数
1
解决办法
1773
查看次数

将数据结构副本分配给新实例的时间复杂度是多少?

我只有一个小问题:我有一个AVL树,并希望将它1:1复制到一个新实例.我所做的是创建一个AVLTreeClass的新实例,并为其分配我想用等号复制的树(在C++ 11中).

我不得不担心时间的复杂性吗?或者这是否在O(1)中运行?

非常感谢您的帮助!

FunkyPeanut

big-o avl-tree time-complexity data-structures c++11

1
推荐指数
1
解决办法
484
查看次数

与Big O有关的困惑

我正在研究空间和时间的复杂性,并遇到了这个问题

O(n +(n/2 + n/4 ...... n/n))= O(n + log(n)).

我没弄明白这是怎么回事?任何人都可以提供一些见解吗?

algorithm math big-o

1
推荐指数
1
解决办法
45
查看次数

每种情况下选择排序所需的互换数量是多少?

我相信选择排序有以下行为:

最佳案例:由于所有元素排列正确,因此无需交换

最坏的情况:需要n-1次交换,即每次传递需要交换,并且有n-1次传递,因为我们知道其中n是数组中的元素数量

平均情况:无法找到这个.找到它的程序是什么?

以上信息是否正确?

这表示交换的时间复杂度在最好的情况下是O(n) http://ocw.utm.my/file.php/31/Module/ocwC​​hp5SelectionSort.pdf

sorting swap selection-sort

1
推荐指数
1
解决办法
9909
查看次数

通过引用捕获对象

我是C++的新手.我看到了一些使用catch块的代码示例,其中异常被值捕获.例如:

catch(SomeClass e)
Run Code Online (Sandbox Code Playgroud)

我也看到了一些引用的例子:

catch(const std:: out_of_range& e)
Run Code Online (Sandbox Code Playgroud)

我假设如果通过引用捕获异常,则应该通过const引用.

我的问题是,当建议使用每种方式时,每种方式有哪些优点/缺点?

谢谢!

c++ reference exception

1
推荐指数
1
解决办法
61
查看次数

涉及一系列日志的Big-O证明

证明 在此输入图像描述

我把这个系列放到了总和中,但我不知道如何解决这个问题.任何帮助表示赞赏

math big-o logarithm

1
推荐指数
1
解决办法
1700
查看次数

在线排序算法和外部排序算法有什么区别?

在线排序算法外部排序算法有什么区别?它们是相同的还是不同的?

sorting algorithm external-sorting online-algorithm

1
推荐指数
1
解决办法
1254
查看次数

使用递归树渐近地求解 T(n) = 2T(n^(1/2)) + 1?

我需要解决复发

T(n) = 2T(n 1/2 ) + 1

我需要找到渐近时间复杂度。我正在使用递归树方法,但我被卡住了。我知道答案是 Θ(log n),但我不知道如何得出这个结论。请问这个复发怎么解决?

big-o recurrence time-complexity

1
推荐指数
1
解决办法
9483
查看次数

为什么this.super()在Java中不可行?

在下面的示例中,如果我创建一个名为example的类的构造函数,如下所示:

public class Example{

    public Example(){
        this.super();
    }

}
Run Code Online (Sandbox Code Playgroud)

上面的方法不起作用,因为会javac Example.java通知以下编译错误:

Example.java:3: error: illegal qualifier; Object is not an inner class
        this.super();
            ^
1 error
Run Code Online (Sandbox Code Playgroud)

但是,它不应该像this使用隐式声明那样工作,而不是通过使用super()显式声明this吗?

java constructor this super

1
推荐指数
1
解决办法
127
查看次数

这个 BFS 算法的时间复杂度是多少?

对于问题https://leetcode.com/problems/perfect-squares/我已经使用以下算法解决了它。问题是

Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n.

Example 1:

Input: n = 12
Output: 3 
Explanation: 12 = 4 + 4 + 4.
Run Code Online (Sandbox Code Playgroud)

它所做的基本上是尝试通过减去每个可能的数字([1, 4, 9, .. sqrt(n)] 来从目标数字变为 0,然后对获得的每个数字进行相同的工作。我很难理解这个算法的时间复杂度,因为每个级别的分支都是 sqrt(n) 次,但有些分支注定要提前结束......

def numSquares(n):


        squares = [i**2 for i in range(1, int(n**0.5)+1)]

        step = 1
        queue = {n}

        while queue:
            tempQueue = set()

            for node in queue:
                for square in …
Run Code Online (Sandbox Code Playgroud)

algorithm math breadth-first-search time-complexity

1
推荐指数
1
解决办法
455
查看次数