什麼是最好的方式來建立一個樹的輸入給出格式(a,b)
,a
是父節點和b
是兒童節點? (節點1根) 例如:如何創建一個樹,找到正確的節點來添加子節點?
1 2 //adds node #2 as the children of #1 (the root)
1 3 //adds node #3 as the second children of the root
2 4 //adds node #4 as the children of node #2
etc...
我瞭解如何使這種樹的,如果它像一個二叉樹(自左子是較小值,右孩子是的對於給定的父節點來說更大)。但是,父親可以擁有的子節點的數量對於我的樹來說不是固定的。我怎樣纔能有效地創造這個?我無法理解算法如何迭代並找到正確的節點(輸入的a
部分),以便它可以將另一個節點添加爲子節點(輸入的b
部分),因爲節點可以使用的子節點數量有沒有固定。
編輯:我想補充的另一件事:每個葉子節點(沒有子節點的)將被分配一些值。我需要遞歸(或其他方法)遍歷樹,以便可以計算每個節點的值:父節點值是其所有子節點值的總和。
問題可能更適合程序員.stackexchange.com。另請參閱http://meta.stackexchange.com/questions/82988/choosing-between-stack-overflow-and-programmers-stack-exchange – grasbueschel
你能否防止類似情況發生? 1 2,2 1;基本上是父 - >子,孩子 - >父母的循環。 – Justin