标签: cycle

使用邻接矩阵在C++上的有向图中查找所有循环的算法

给定图邻接矩阵(例如[] [] []),指向图.需求找到所有图形周期的计数(如果存在)并打印它们.

我试图用Java编写这个算法,有时它可以正常工作.如果图形具有复杂的周期,则算法返回疯狂周期.请查看我的代码并帮助解决此问题

public static final int k = 6;

public static int g[][] = { { 0, 1, 0, 0, 0, 0 },
                            { 1, 0, 1, 0, 0, 0 },
                            { 0, 0, 0, 1, 0, 0 },
                            { 0, 0, 0, 0, 1, 0 },
                            { 0, 0, 1, 0, 0, 0 },
                            { 0, 0, 0, 0, 0, 0 } };

public static Vector stack = new Vector();

public static void printStack() {
    System.out.print("stack is: …
Run Code Online (Sandbox Code Playgroud)

c++ graph matrix cycle

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

这个C#结构有什么问题?

注意:我的问题有几个部分.如果您愿意回答每个问题,我会很感激,而不是简单地告诉我该怎么做才能编译.:)

我对C#没有任何好处.事实上,我不太了解它的原因是我的课程专注于制作有效的算法,而不是真正教我们.NET.尽管如此,我们所有的程序都必须用.NET编写,直到现在才出现问题.我有以下代码,但它不会编译,我不明白为什么.我有一种直觉,认为这应该完全改写,但在我这样做之前,我想知道为什么不允许这样做.

结构的要点是创建一个类似结构的链表,这样我就可以在"列表"的末尾添加另一个节点,然后以相反的顺序遍历和调用节点

private struct BackPointer
{
    public BackPointer previous;
    public string a;
    public string b;
    public BackPointer(BackPointer p, string aa, string bb)
    {
        previous = p;
        a = aa;
        b = bb;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的代码中我有一些效果

BackPointer pointer = new BackPointer();
pointer = new BackPointer(pointer, somestring_a, somestring_b);
Run Code Online (Sandbox Code Playgroud)

我得到的编译错误是 Struct member 'MyClass.BackPointer.previous' of type 'MyClass.BackPointer' causes a cycle in the struct layout

这似乎是一个明显的错误.它不喜欢我在同一结构的构造函数中传递结构的事实.但为什么不允许这样做?我想这个代码只会在列表中创建一个新节点并返回该节点,并返回前一个节点,但显然不会发生这种情况.那么实际会发生什么呢?最后解决这个问题的推荐方法是什么?我想只是告诉它不受管理只是手动处理我的指针,但我真的只知道如何在C++中做到这一点.我真的不知道C#会出现什么问题

c# struct cycle

3
推荐指数
2
解决办法
450
查看次数

为什么这个PHP函数循环不断?

function nonrecgen($min, $max, $amount) {
for($i=0;$i<$amount;$i++) {

$NrArray[$i] = rand($min,$max);
echo $NrArray[$i];
do  {
    for($j=0;$j<=$i;$j++) {
      if ($NrArray[$j] == $NrArray[$i]) {
      $NrArray[$i] = rand($min,$max);   }     
                          }
       $Reccuring = false;
   if ($i > 0) {
    for($k=0;$k<=$i;$k++) {
      if ($NrArray[$k] == $NrArray[$i]) {
       $Reccuring = true;               }
                          }
               }
    }
while ($Reccuring = true);
                          }
Return $NrArray;                                        
                                        }

$Test = nonrecgen(0,1,2);
print_r($Test);
Run Code Online (Sandbox Code Playgroud)

我想研究如何生成一个非重复数字的数组,虽然这当然不是我认为最有效的方式,但我似乎无法弄清楚为什么它在第一次迭代时无休止地循环.我一遍又一遍地尝试逻辑分析,但必须有一些我不知道的东西.

php cycle

3
推荐指数
3
解决办法
381
查看次数

NMAP连续ping

我需要实现一个能够每秒向一定数量的目的地发送ping数据包的代码。问题是我想在1秒窗口内ping尽可能多的目的地。出于这个原因,我在考虑是否有一种方法可以将循环强加到nmap中[我的意思是-cycle nmap参数],这样套接字只能打开一次并在循环ping结束时关闭,这比使用a节省了更多时间“观看nmap”方法!

parameters ping cycle continuous nmap

3
推荐指数
2
解决办法
5061
查看次数

找到属于简单循环的所有顶点

有没有办法在线性时间内找到图中简单循环一部分的所有顶点?

我在O(| V |(| V | + | E |))时间找到了一种方法,但是想知道是否有办法更快地完成它?

algorithm graph cycle depth-first-search

3
推荐指数
2
解决办法
3116
查看次数

Python中的振荡值

所以我需要有两个值来回振荡.2第一次说,4第二次说.从顶部重复.

所以我编写了下面的生成器函数.每次通过next它调用它都会返回后续值,然后从顶部重复.

为了学习,改进,不是意见,还有更好的方法吗?在Python中似乎总是有更好的方法,我喜欢学习它们以提高我的技能.

"主要代码"仅用于显示正在使用的发生器,振荡器的示例,而不是振荡器的主要用途.

## Main code
go_Osci = g_Osci()
for i in xrange(10):
    print("Value: %i") %(go_Osci.next())

## Generator
def g_Osci():
    while True:
        yield 2
        yield 4
Run Code Online (Sandbox Code Playgroud)

python cycle python-2.7

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

从匹配索引开始循环迭代列表多次

我需要在python中执行以下操作.我有一个字符串列表list,一个要搜索的字符串text,以及包含要打印的元素数量的变量x.我想迭代一下x.连续的元素,必要时list包裹在前面list.

首先,我需要找到的第一个元素中listtext一个子.然后我将从匹配元素list 之后的第一个元素开始,并继续遍历整个x连续元素,list必要时包裹.

我该怎么做?

x = 11
text = "string5"
list = ["string1", "string2", "string3", "string4", "string5", "string6", "string7"]

# not sure what to do here...
for elem in list:
    if text in elem:
        #iterate through list, begin with elem and get the next 11 elements
        #once you've reached string7, start over with string1`
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我想最终看看以下11个元素:

string6
string7
string1 …
Run Code Online (Sandbox Code Playgroud)

python iterator list cycle slice

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

Python:在到达结尾时循环切换列表中的元素

我有一个看起来像这样的列表:

a = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10']
Run Code Online (Sandbox Code Playgroud)

我需要一次循环遍历此列表中的一个元素,但是当到达列表的末尾时,需要反转循环.

例如,使用itertools.cycle:

from itertools import cycle
a_cycle = cycle(a)
for _ in range(30):
    print a_cycle.next()
Run Code Online (Sandbox Code Playgroud)

我明白了:

01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10
Run Code Online (Sandbox Code Playgroud)

但我需要的是:

01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 10, 09, 08, 07, 06, 05, …
Run Code Online (Sandbox Code Playgroud)

python list cycle

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

圆形列表中两个元素之间的最小距离?

假设我有一个这样的列表:

my_list = [A, B, C, D, E, F, G]
Run Code Online (Sandbox Code Playgroud)

实际上,我使用我的列表就像一个循环.这意味着在G有之后A,之前A有之G.

我想知道例如B和之间的最短距离是多少F.

显然,答案是3因为F -> G -> A -> B比短B -> C -> D -> E -> F.

计算这种距离的"pythonic"方法是什么?

到目前为止,我觉得非常难看(假设我知道索引):

def distance(len_my_list, idx_1, idx_2):
    right = max(idx_1, idx_2)
    left = min(idx_1, idx_2)
    dist_1 = right - left
    dist_2 = (len_my_list - right) + left
    return min(dist_1, dist_2)
Run Code Online (Sandbox Code Playgroud)

python list cycle circular-list

3
推荐指数
2
解决办法
2419
查看次数

阻止Heroku Dyno骑自行车

我有一个爱好Dyno,它在Heroku中托管一个应用程序,用户可以在其中上载图像。

我注意到的是Dyno在他的循环中重新启动,导致所有图像消失。

2018-07-27T16:23:09.914767+00:00 heroku[web.1]: Cycling
2018-07-27T16:23:09.915421+00:00 heroku[web.1]: State changed from up to starting
Run Code Online (Sandbox Code Playgroud)

我知道涉及第三方存储或将应用程序托管在另一个平台的解决方案。

我想知道是否有一种方法可以停止测功循环,并且永远不会像一直处于这种up状态那样重启它?

谢谢。

hosting heroku cycle dyno

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