有12345個結點的滿3叉數的高度為_____寫出計算過程
1 層:1 節點數:1
/ | \
2 3 4 層:2 節點數:3
/ | \ / | \ / | \
5 6 7 8 9 10 11 12 13 層:3 節點數:9
滿三叉樹每層節點數目
假設k-1層有n個節點 那麼第k層就應該有3n個節點。也就是說這是乙個首項是1,公比是3的等比數列。第n層節點數an可以表示為
an=a1*q^(n-1) = 1*3(n-1) = 3^(n-1)
滿三叉樹總的節點數目
總的節點數目就是對各層節點數目求和,每層的節點數目計算公式已經有了。然後就是公比數列求和就行了。乙個高位n的滿三叉樹總節點個數
sn = a1*(1-q^n)/(1-q) = 1*(1-3^n)/(1-3) = (3^n-1)/2
其實有了這個公式這題就可以做了,可以估計一下。求得乙個n和n+1讓12345在sn和sn'之間就行了。
下面給出乙個較為嚴格的推導。
....
/.......\
(3^(k-1)-1)/2 層:k-1
/ \
(3^(k-1)+1)/2 (3^k-1)/2 層:k
設乙個有n層的滿三叉樹的節點總數為n,那麼
(3^(k-1)+1)/2 <= n <= (3^k-1)/2
3^(k-1)+1 <= 2n
3^k-1 >= 2n
k <= log3(2n - 1) - 1
k >= log3(2n + 1)
對k向下取整就行了。
三叉搜尋樹
三叉搜尋樹是用來解決字典樹的記憶體問題的資料結構。為了避免不需要的節點的記憶體占用,每個字典樹節點不再使用陣列,而是使用 樹中有樹 的結構。在三叉搜尋樹中,字典樹節點的每個非空指標得到它自己。例如,有四個單詞,ab abba abcd和bcd,它的三叉搜尋樹結構如下 三叉搜尋樹包括三種箭頭。第一種,...
Trie三叉樹分詞實現
最長匹配中文詞典分詞演算法 中文的語句與英文不同,英文單詞之間均有空格隔開,英文的語句沒有分詞的概念。而中文則不同,單詞之間沒有空格隔開。在處理中文語句時需要對中文語句進行分詞。目前多數的中文分詞的演算法採用了,最長匹配詞典的演算法。詞典是將眾多的中文片語存放在乙個檔案內。如下的詞典的格式 大 大學...
GDI 實現三維三叉樹
首先看看效果 在學習二叉樹資料結構的時候,用gdi 結合佇列或者棧來畫出來乙個二叉樹的結構,如果你不是一次繪製完成,而是從每兩個線的繪製有時間間隔的話,你就能看到樹的 生長過程 而使用棧和佇列將得到完全不同的生長方式,也許這就是深度優先遍歷和廣度優先遍歷的區別把。那麼,我當時就在想,如果繪製乙個空間...