我想讓我的avl-tree
支持重複密鑰,但binary search tree
的默認行爲存在問題,重複的情況是輪換可能會使相同密鑰的節點位於左側和右側父母。處理AVL樹內的重複密鑰
對於添加三個節點時,例如所有鍵A將導致樹做旋轉到是這樣的:
A
/\
A A
所以讓所有的與該鍵的條目將是一個問題......並且在兩個方向搜索都不好。
,我已經想到的是使每個節點存儲重複的陣列 所以加入已經存在將只是加入新的項目到陣列的新的項目時的溶液, 與主要去除項目將刪除整個節點,而用鍵查找所有項目將返回該數組。
是否有其他方法來處理重複?
插入項需要一個鍵和一個值..所以我需要存儲值以便通過findAll以某種關鍵方法返回它們。
不錯的做法:) 實際上,我們需要使刪除方法刪除所有項目與該鍵... –