2017-06-16 105 views
2

我剛開始學習C++,我需要爲一個項目創建一個列表樹(下面的圖片鏈接),但我不確定它是一個自定義樹還是一個預先存在的樹。這是什麼樣的樹是字母作爲節點?

有點在樹上;大藍塊代表列表,代表節點內的小塊。

我不是在尋找代碼或任何東西,只是一個解釋樹或鏈接到我可以找到它的信息。

Image Here

+0

我認爲它可以通過[Linux內核鏈表]來實現( https://isis.poly.edu/kulesh/stuff/src/klist/) – lanyusea

+0

嘗試描述th e圖像。這本身可能會讓你接近自己的答案。 –

回答

1

圖像中的數據結構是Trie數據結構。

Trie是一種高效的信息檢索數據結構。使用trie,搜索複雜性可以達到最佳限制(密鑰長度)。 - (來源:GeeksForGeeks)

圖中顯示的是以下字符串 -
法,實際,其實,和,書,老闆,孔,董事會和船。

一些有用的鏈接瞭解更多 -

0

從我會使用類似

struct List; 
struct Node { 
    // ... node data ... 
    std::shared_ptr<List> list; 
}; 
struct List { 
    // ... list data ... 
    std::vector<std::shared_ptr<Node>> nodes; 
}; 

除非節點在列表中的號碼可以是巨大的圖片,你需要動態插入/從的中間刪除節點名單。

0

這對我來說看起來就像一件古裝樹。通常對於他們製作自己的服裝樹的項目來說,它們是數據結構的組合。例如,這是列表和鏈接列表的組合。

0

你所描述的是一個Trie或前綴樹的實現。 https://en.wikipedia.org/wiki/Trie

這些級別可以用不同的方式實現:鏈表,位圖,數組等等。但是它們背後的想法是一樣的。