我一直在閱讀關於樹型數據結構來模擬問題。我需要構建一個與文件系統中的文件夾/文件表示非常相似的數據的內存表示(我並不意味着存儲在磁盤中的實際文件,而是像結構的瀏覽器)。樹可能最大10深中間節點可能只有中等數量的子節點(比如說10),但可能有成千上萬個葉子節點[就像文件夾和文件中的數千個文件是葉節點]適合的樹型數據結構
的幾點思考
- 二叉樹不能工作作爲一個節點可以最多隻有2個 孩子。 (假設我們可以有3個子文件夾)
- 非常普遍的樹實現可能效率低下,因爲我的數據可以被排序。就像左邊的兄弟姐妹比右邊的兄弟姐妹小或小一樣。我希望這允許有效的遍歷。
- B樹聽起來非常接近,但它堅持平衡要求。在我的情況下,深度不會超過10,但不一定是所有深的分支(如c:/ windows,C:/ MyDoc ../ A/B/C)
請幫助你的經驗。我應該自定義一棵樹還是可用的任何合適的數據結構(並不意味着特定於編程語言)
那麼......不要在B-Trees中實現平衡! – ElKamina 2012-04-20 17:16:15