2015-11-22 66 views
0

我想實現基數樹數據結構的插入方法,我不知道哪個圖(3.1或3.2)是正確的圖像中的例子?基數樹數據結構插入字符串

我指定了任何幫助。

enter image description here

+0

我認爲'3.2 a'比'3.1 a'更正確*但不完全正確。 3.2a'底部的綠色節點應該是「abf」和「abr」,並且在它們下面有「abfg」和「abra」節點。 –

+0

他們都是錯的。 3.2將是正確的,如果你改變ab ba –

+0

@MattTimmermans:謝謝我改變了它:) –

回答

1

在基數樹,一旦你到一個節點,你必須能夠決定下一個分支來利用基於下一未消費的字符。這意味着,您將永遠不會有來自同一個節點的兩個分支以相同的字符開頭。

在圖3.1中,兩個分支「a」的分支都以「b」開頭,所以這是不正確的。

此外,向基數樹添加新字符串最多隻會更改一個現有邊。你必須改變兩個邊緣來製作3.1。

3.2是正確的 - 一條邊被改變,並且來自同一節點的所有分支都以不同的字符開始。