2012-10-03 48 views
0

一個唯一的號碼我在其中每個節點有N個孩子的樹。推斷出號

在我的情況的每個節點具有唯一的標識符。我想從子標識符中推導父節點的標識符。因此,我們可以添加一個關於子標識符的信息來推斷出例如:如果父節點是「123」,那麼子節點是「123.3」,然後我們推斷(123.3)的父親是「123」 」。但有一個問題,我們有一棵大樹,那麼節點標識符可以是「12.3.4.1.2.4.5 ...」,不是一個好的解決方案。

什麼會生成一個簡單的數孩子標識,然後推導出父親標識的最佳方法(考慮到它是唯一在整個樹)?

+0

爲什麼不只是存儲子節點中的一方的身份證? – whuber

回答

2

如何路徑作爲二元,三元等(匹配N)整數編碼到節點?例如,14的二進制數字是{1, 1, 1, 0},這可能代表路徑right -> right -> right -> left。或者對於三元樹,33的三進制數字是{1, 0, 2, 0},這可能代表middle -> left -> right -> left

+0

你的想法很好,但是如果我有一個有N個孩子的節點,我該如何將它應用於樹?爲什麼33 ='{1,0,2,0}'?你的編碼是什麼? – Mehdi

+0

33 = 3^3 + 2 * 3 = 1020在三元體系 –

+0

@Anton我的意思是'IntegerDigits [33,3]''是{1,0,2,0}'。 –