深度优先搜索Satstuma Graph(Depth first search in Satstuma Graph)
有没有简单的方法在.NET中使用Satsuma Graph进行深度优先搜索 ? 在Satsuma文档中我发现clas DFS是抽象的,所以它不能有任何实例,我不知道如何使用它。
我是否必须为继承自satsuma.dfs的DFS创建自己的类? 我没有找到任何使用satsuma.dfs类的例子。
谢谢
Is there any easy way to do depth first search on graph using Satsuma Graph in .NET? In the Satsuma documentation i have found that clas DFS is abstract, so it cant have any instances and i dont know how to use it.
do i have to make my own class for DFS which inherits from satsuma.dfs? I didnt find any examples of using satsuma.dfs class.
Thx
原文:https://stackoverflow.com/questions/36981421
最满意答案
你的计算错了。 我在这里假设
T(0)=0
T(n) = 2T(n-1)+ 4 = 2(2T(n-2)+4)+ 4 = 4T(n-2)+ 12 = 4(2T(n-3)+4)+ 12 = 8T(n-3)+ 28 = 8(2T(n-4)+4)+ 28 = 16T(n-4)+ 60 = 16(2T(n-5)+4)+ 60 = 32T(n-5)+124 = 32(2T(n-6)+4)+124 = 64T(n-6)+252
然后现在:看看序列
0,4,12,28,60,124,252,508,1020,2044,...
在所有这些数字中添加4是非常诱人的:
4,8,16,32,64,128,256,512,1024,2048,...
你认出来了吗? 所以猜测很明显
T(n) = 2^(n+2) - 4
现在,您可以通过归纳轻松证明它。
顺便说一下,如果
T(0)
不等于0
则公式为T(n) = 2^(n+2) - 4 + T(0)*2^n
Your computation are wrong. I'm assuming here that
T(0)=0
T(n) = 2T(n-1)+ 4 = 2(2T(n-2)+4)+ 4 = 4T(n-2)+ 12 = 4(2T(n-3)+4)+ 12 = 8T(n-3)+ 28 = 8(2T(n-4)+4)+ 28 = 16T(n-4)+ 60 = 16(2T(n-5)+4)+ 60 = 32T(n-5)+124 = 32(2T(n-6)+4)+124 = 64T(n-6)+252
Then now: look at the sequence
0,4,12,28,60,124,252,508,1020,2044,...
It is very tempting to add 4 to all these numbers:
4,8,16,32,64,128,256,512,1024,2048,...
Do you recognize it ? So the guess is clearly
T(n) = 2^(n+2) - 4
Now, you can easily prove it by induction.
By the way if
T(0)
is not equal to0
the formula isT(n) = 2^(n+2) - 4 + T(0)*2^n
相关问答
更多-
可以很容易地看到(或通过归纳法正式证明)T(n)是k的值从1到n的1 / k的总和。 这是n次谐波数 ,H n = 1 + 1/2 + 1/3 + ... + 1 / n。 渐近地,谐波数量按log(n)的顺序增长。 这是因为这个总和的值接近于从1到n的1 / x的积分,它等于n的自然对数。 事实上,H n = ln(n)+γ+ O(1 / n)其中γ是常数。 由此,很容易证明T(n)=Θ(log(n))。 It can be easily seen (or proven formally with ind ...
-
将T(N)除以2^N并命名结果: S(N) = T(N)/2^N 从T(N)的定义我们得到 S(N) = S(N-1) + N/2^N (eq.1) 意味着S(N)增加,但迅速收敛到常数(因为N/2^N -> 0 )。 所以, T(N)/2^N -> constant 要么 T(N) = O(2^N) 详细证明 在下面的评论中,Paul Hankin建议如何完成证明。 取eq.1并求和从N=2到N=M sum_{N=2}^M S(N) ...
-
复发的时间复杂度T(n)= 2T(n-1)+ 4(What is the time complexity of the recurrence T(n) = 2T(n-1) + 4)[2023-04-16]
你的计算错了。 我在这里假设T(0)=0 T(n) = 2T(n-1)+ 4 = 2(2T(n-2)+4)+ 4 = 4T(n-2)+ 12 = 4(2T(n-3)+4)+ 12 = 8T(n-3)+ 28 = 8(2T(n-4)+4)+ 28 = 16T(n-4)+ 60 = 16(2T(n-5)+4)+ 60 = 32T(n-5)+124 = 32(2T(n-6)+4)+124 = ... -
由于T(n-1) = T(n-2) + ... + T(1) + 1 T(n) = T(n-1) + T(n-2) + ... + T(1) + 1 = T(n-1) + T(n-1) = 2*T(n-1) 和T(1) = 1 => T(n) = 2^(n-1) Since T(n-1) = T(n-2) + ... + T(1) + 1 T(n) = T(n-1) + T(n-2) + ... + T(1) + 1 = T(n-1) + T(n-1) = 2*T( ...
-
如果我没记错的话,当你确定了特征方程的根时,则T(n)可以是那些根的幂的线性组合。 T(n)=A1*root1^n+A2*root2^n+A3*root3^n 所以我想这里的最大复杂度将是(maxroot)^ n其中maxroot是你的根的最大绝对值。 所以对于你的情况来说它是~1.83 ^ n If I remember correctly, when you have determined the roots of the characteristic equation, then the T(n) ...
-
对于阶乘的总和,没有一个很好的封闭形式( 确切的答案是凌乱的)。 但是,我们可以用感应来证明0! + 1! + 2! + ... + n! ≤2n!: 基本情况:0! ≤2·0!,0! + 1! ≤2·1!,0! + 1! + 2! ≤2·2! 感应:0! + 1! + ... + k! +(k + 1)! ≤2k! +(k + 1)! ≤(k + 1)k! +(k + 1)! = 2(k + 1)! 所以你的复发是从2n以上限制的! 并且从下面通过n !,意味着你可以得到的最严格的约束是说递归求解为Θ(n ...
-
如何解决递归T(n)= 2T(n ^(1/2))+ log n?(How to solve the recurrence T(n) = 2T(n^(1/2)) + log n? [closed])[2023-09-02]
当您开始展开递归时,您会得到: 这里有一些额外的步骤: 现在使用边界条件进行递归(数字2选为0和1没有意义),您将获得: 将k替换为等式,您将获得: 这里有一些使用相同想法的递归。 T(n)= T(n ^ 1/2)+ 1 T(n)= T(n ^ 1/2)+ O(loglog(n)) When you start unrolling the recursion, you get: Here the same thing with a few additional steps: Now using the bo ... -
我这里没有使用任何常用技术。 请注意,没有基本情况。 让我们考虑T(a) = b其中a和b是常数作为基本情况。 除以'n',得到: T(n) / n = T(sqrt(n)) / sqrt(n) + 1 使用g(k) = T(k) / k 所以g(n) = g(sqrt(n)) + 1 这基本上意味着g(n)是我们可以采用sqrt(n)在此之前我们达到常数基本情况a 。 这意味着存在k使得n^(1/2^k) >= a和n^(1/2^(k+1)) < a 。 令n^(1/2^k) = a => n = a^( ...
-
通常,您需要对T(0)和T(1)做一些假设,因为它们中会有指数多个,它们的值可能决定T(n)的函数形式。 但是在这种情况下它似乎并不重要。 然后,可以通过找到它们的特征多项式来求解这种形式的递归关系。 我找到了这篇文章: http : //www.wikihow.com/Solve-Recurrence-Relations 我获得了具有根3和1的特征多项式,因此猜测形式T(n) = c_1*3^n + c_2 。 特别是, T(n) = 1/2*3^n - 1/4满足递推关系,我们可以验证这一点。 1/2* ...
-
渐近时间复杂度非常大。 在您的示例中,由于问题指定k是固定的,因此唯一相关的复杂性是最后一个。 请参阅Wikipedia正式定义 ,具体如下: 当n增长到无穷大时,主导T(n) = T(n / 2) + 1的递归。 您也可以使用形式定义证明这一点,基本上选择x_0 = 10 * k并显示使用前两种情况可以找到有限M 应该清楚log(n)和n^2满足定义,因此更紧密的约束是渐近复杂度。 The asymptotic time complexity is taking n large. In the case ...