2015-01-17 92 views
0

所以我是盲人,並使用屏幕閱讀器。我設法通過this瞭解二叉樹的結構。在答案中使用二叉樹的結構,我設法理解二叉搜索樹和二叉堆,以及如何對它們進行插入,搜索和其他操作。然而,當我開始研究2-3個搜索樹時,我完全對它的外觀感到困惑。說一個二進制樹的結構是這樣的:2-3個搜索樹的文字表示

//slashes are links 
root 
/\ 

左,右

使用這種表示,我理解插入,刪除,並在此樹進行遞歸搜索。

但是,當涉及到具有三個節點和兩個鍵的樹時,我完全失去了。我絕對不知道這棵樹應該如何構造,但我認爲它看起來像這樣。

//slashes are links 
root 
/\/

左向右中期

我不知道這是否是正確的。我一直在閱讀如何插入節點,但解釋總是使用圖像/圖形,而且很難想象。任何人都可以解釋一下嗎?

回答

0

有許多方法來表示它。兩個我建議你嘗試是

  1. ,而不是代表它的關鍵節點,使用一對密鑰,並展示三個環節:
 d,q 
    /| \ 
    a g z 
  • 使用水平鏈接顯示」姐妹「節點;當一個節點有一個姐姐,它只有一個孩子:
  • d - q 
    |/\ 
    a g z 
    
    0

    它爲2-3樹木稍微複雜一點。

    樹中的一個節點保存一個或兩個關鍵值,以及除樹葉之外的兩個或三個子節點。

    因此,您可以將一個節點視爲一個具有一個或兩個值的氣泡,並將兩個或三個箭頭指向下方。

    使用您的符號這將是

    root 
        / \ 
    left  right 
    

    root 
        /| \ 
    left mid right 
    

    一個並添加鍵,例如

     [a] 
        / \ 
    [b,c]  [d] 
    

     [a,b] 
        /| \ 
    [c] [d,e] [f,g] 
    
    +0

    與@DougCurrie交叉,並略有不同。 –