在大型python系统中检测重复整数序列

2024-10-02 22:32:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用我所做的函数检测图中的循环。你知道吗

for repeat in xrange(1000):
    spath = bfs_spaths(edgemap, source, n, nodevals)

它根据当前的edgewights(存储在edgemap中)从sourcenode查找图中的最短循环。你知道吗

根据结果,我在图中编辑权重,然后再次找到一个循环(因此重复1000次)。你知道吗

在我的循环检测过程中的某个时刻,算法将陷入检测相同循环序列的循环中。这个序列可以是,比方说,同样的5个循环。或者可能是100个不同的循环。但从某一点开始,它只会重复这个序列。你知道吗

我喜欢这种行为,我不想改变它。不过,我确实想检测序列。我可以将每个周期的长度存储在一个列表中,从而稍微降低复杂性:

lenpath = list()
lenpath.append(len(spath))

现在,我们需要做的就是在这个列表中检测一个重复的整数序列。但是当序列开始在列表中重复时,序列的大小也是可变的。你知道吗

我不知道怎么做。有什么建议吗?非常感谢。你知道吗


Tags: 函数insource列表for序列repeatbfs