我剛開始學習C++,我需要爲一個項目創建一個列表樹(下面的圖片鏈接),但我不確定它是一個自定義樹還是一個預先存在的樹。這是什麼樣的樹是字母作爲節點?
有點在樹上;大藍塊代表列表,代表節點內的小塊。
我不是在尋找代碼或任何東西,只是一個解釋樹或鏈接到我可以找到它的信息。
我剛開始學習C++,我需要爲一個項目創建一個列表樹(下面的圖片鏈接),但我不確定它是一個自定義樹還是一個預先存在的樹。這是什麼樣的樹是字母作爲節點?
有點在樹上;大藍塊代表列表,代表節點內的小塊。
我不是在尋找代碼或任何東西,只是一個解釋樹或鏈接到我可以找到它的信息。
圖像中的數據結構是Trie數據結構。
Trie是一種高效的信息檢索數據結構。使用trie,搜索複雜性可以達到最佳限制(密鑰長度)。 - (來源:GeeksForGeeks)
圖中顯示的是以下字符串 -
法,實際,其實,和,書,老闆,孔,董事會和船。
一些有用的鏈接瞭解更多 -
從我會使用類似
struct List;
struct Node {
// ... node data ...
std::shared_ptr<List> list;
};
struct List {
// ... list data ...
std::vector<std::shared_ptr<Node>> nodes;
};
除非節點在列表中的號碼可以是巨大的圖片,你需要動態插入/從的中間刪除節點名單。
這對我來說看起來就像一件古裝樹。通常對於他們製作自己的服裝樹的項目來說,它們是數據結構的組合。例如,這是列表和鏈接列表的組合。
你所描述的是一個Trie或前綴樹的實現。 https://en.wikipedia.org/wiki/Trie
這些級別可以用不同的方式實現:鏈表,位圖,數組等等。但是它們背後的想法是一樣的。
我認爲它可以通過[Linux內核鏈表]來實現( https://isis.poly.edu/kulesh/stuff/src/klist/) – lanyusea
嘗試描述th e圖像。這本身可能會讓你接近自己的答案。 –