English 中文(简体)
B. 追偿算法
原标题:Thoughts on a recursive algorithm

我面临一个问题,可以说明如下。

有两个节点(直线图表)、1类和2类。

对于类型1的图表中的每一节点,我必须找到以这种方式建造的一套:

让我们不要忘记1号是第一类。

Add node1 in the set. For node1, find out the list of nodes of type2 connected via an edge who s source is node1. For each member in the list obtained above, find the nodes of type 1 (not already in the set) connected via an edge who s target is node of type2. Add those nodes in the set. Rerun, until there is nothing to add in the set.

对所有类型1的点进行分类。

我的直觉正在走向恢复性的执行,但无法说明什么参数(已商定)。

任何建议?

问题回答

这种声音,如你可修改

从那时起,该节点就有了总的命令。

你们可以通过这一结构进行深层次的搜索。

def visit( some_node, type_1_set ):
    assert node.type == 1
    type_1_set.add( some_node )
    for child in some_node.children: 
        if child.type == 2:
            for grand_child in child.children:
                if grant_child.type == 1:
                    visit( grand_child, type_1_set )

这样做是正确的。





相关问题
How to add/merge several Big O s into one

If I have an algorithm which is comprised of (let s say) three sub-algorithms, all with different O() characteristics, e.g.: algorithm A: O(n) algorithm B: O(log(n)) algorithm C: O(n log(n)) How do ...

Grokking Timsort

There s a (relatively) new sort on the block called Timsort. It s been used as Python s list.sort, and is now going to be the new Array.sort in Java 7. There s some documentation and a tiny Wikipedia ...

Manually implementing high performance algorithms in .NET

As a learning experience I recently tried implementing Quicksort with 3 way partitioning in C#. Apart from needing to add an extra range check on the left/right variables before the recursive call, ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Enumerating All Minimal Directed Cycles Of A Directed Graph

I have a directed graph and my problem is to enumerate all the minimal (cycles that cannot be constructed as the union of other cycles) directed cycles of this graph. This is different from what the ...

Quick padding of a string in Delphi

I was trying to speed up a certain routine in an application, and my profiler, AQTime, identified one method in particular as a bottleneck. The method has been with us for years, and is part of a "...

热门标签