2017-05-13 14 views
0

プログラム:深さ優先探索隣接

defaultdict(<class 'dict'>, {'SanFrancisco': {'Houston': '1000'}, 
'LA': {'Ames': '300', 'SanFrancisco': True, 'Detroit': '200'}, 
'NYC': {'LA': '3000'}, 'Austin': {'Houston': '500'}}) 
# myDefaultDict = collections.defaultdict(dict) 

そして、すべての異なる文字列含むセット:

{'Austin', 'LA', 'NYC', 'Ames', 'Detroit', 'Houston', 'SanFrancisco'} 
# myNewSet 

ここに私のコードはあります:

for i in myNewSet: 
    break 
    graph_DFT(i) 

def graph_DFT(start): 
    functionSet = set() 
    myStack = [] 
    myStack.append(start) 
    if not myStack: 
     node = myStack.pop() 
     # for neighbor in node's adjacent node 
      # if neighbor not visited - i.e. not in functionSet 
        # functionSet.add(neighbor) 
        # myStack.append(neighbor) 

注:私のdefaultdictには、任意のエッジウェイトを持つ指定文字列を含めることができます。

どうすれば隣接ノードを確認できますか?正直言って私はではありません100%私の例では隣接ノードは何ですか。巣箱は私を混乱させる。助けてくれてありがとう!

+1

まず、あなたが考える*隣のノードが何であるかを説明します。私たちはそこから行くでしょう。 –

+0

@aryamccarthy元のノードが指しているノードはありますか? – Coder117

+2

良いチャットでこれを続けましょう。 http://chat.stackoverflow.com/rooms/144105/room-for-aryamccarthy-and-coder117 –

答えて

1

あまりにも多くをあきらめることなく、私はこれを説明します。

あなたは、このような辞書のキーを反復処理することができます:あなたの例では

for k in mydict: 
    ... 

for neighbor in G[node]: # Assumes your defaultdict is `G`. 
    ... 

キーが隣接ノードであるため、これはあなたがそれらを操作する方法であります。

関連する問題