結ぶ-ノット戦略は、一例として、単純な両刃グラフを使用して、などのグラフを構築することができますIntラベルなしで実際に使用することができます。たとえば、square
の値のノードの数を数える関数を書くにはどうすればよいですか?一般に結び固め戦略で構築されたグラフで検索することは可能ですか?戦略はかなり洗練され、私は方法を見つけることができなかったこと</p> <pre><code>data Node = Node Node Node -- a - b -- | | -- c - d square = a where a = Node b c b = Node a d c = Node a d d = Node b c </code></pre> <p>:
countNodes :: Node -> Int
countNodes = ... ??? ...
main = print $ countNodes square
-- output: 4
あなたは言語の外に行かずに、この問題を解決することはできません。整数などのユニークなラベルの概念は、問題の解決可能なものへの良いリファクタリングです。 –
ラベル付きエッジの場合に問題は解決できますか?つまり、 'a = Node(b、0)(c、0)'、 'a'が' b'と 'c'の両方の最初のスロットにあることを表しますか? – MaiaVictor
ラベルがグローバルに一意でない場合は、2つのノードが異なるかどうかを識別できないという問題があります。 –