[英]Deletion of an internal node in 2-3-4 tree
您擁有的樹不是有效的2 3 4樹,因為它有重復的6。
要從2 3 4樹中刪除內部值,只需將要刪除的值替換為其下一個最大項,即其順序后繼項,即17。這將刪除的問題減少到從葉子中刪除值的問題。節點。 所以問題是,如何刪除葉節點值?
從2 3 4樹的葉子中刪除時,只需刪除該項目(如果它是3節點或4節點)即可。 如果它是2節點,則該節點為空。 這稱為下溢。 若要解決此問題,您必須將遇到的所有2個節點轉換為3或4個節點。 您必須處理三種情況,具體取決於是否有相鄰的同級節點(3節點或4節點),或者它們都是2節點。 在下面的鏈接中對此進行了說明。
有關從2 3 4樹中刪除的討論,請參見幻燈片51至53:
http://www.serc.iisc.ernet.in/~viren/Courses/2009/SE286/2-3Trees-Mod.ppt
2 3 4刪除(和插入)在以下位置也有說明和說明:
有關實現2 3 4樹(在C ++ 11中)的源代碼,請參見:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.