1. 程式人生 > >已知如下的一顆二叉排序樹,問可能的關鍵字輸入順序有幾種

已知如下的一顆二叉排序樹,問可能的關鍵字輸入順序有幾種

資料結構上一道題目,假設有任意的輸入二叉樹,問最終由幾種可能的插入順序。

其實這道題目還是有很多理解方法。我這裡只是介紹一種最為簡單的方法。

                                   5

                            4           7

                       2                 6

                 1         3

如上圖所示的二叉排序樹,問有幾種插入順序。

首先第一個肯定是5,然後我們考慮插入的偏序關係,4》》2》》1 》》3                       4》》2》》3  》》1            7》6  

這個偏序關係是不能改變的

假設我們任選一條左邊的鏈條

--4--2--1--3--

那麼7和6可以任意插入其中,但也要保證7,6的偏序關係不變。那麼先確定7,如果7在4之前,6有五個可插入的位置,7在4,2之間,則6有四種可插入的位置,以此類推。

這條鏈總共就有5+4+3+2+1=15種,另外左邊有兩種可選鏈條,即2*15=30種。

對於B樹,簡單的記憶方法,假設是一顆三階B樹,那麼每個節點的元素數量k是1到2,而且他的子節點數是k+1,即確定的元素數量就有確定的子節點數,另外的一個規則就是,葉子節點在同一層