线段树为什么要开4倍空间
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                线段树为什么要开4倍空间
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                問題1: 線段樹空間只需要2*n即可???
對于這種建圖方式,建出來的并不是完全二叉樹,而是具有完全二叉樹性質(父節點為x,則左兒子為2x,右兒子為2x+1),好處:可以省掉許多并不需要的節點。由于具有完全二叉樹這種性質,2*n空間一定不夠用!!見下圖:
?
?
問題2: 線段樹空間只需要3*n即可???
證明: 設長度為N的數組在線段樹中,編號最靠右的節點為F(N)。(上圖長度n=6,編號最右節點為13)
代碼測試:
思路:通過觀察在建樹過程中,最大的節點來判斷是否會3*n空間越界。
結果:通過發現,存在許多的3n空間的越界,最小的n=36,平時我們手動畫一畫,看是否3n越界,可能只是畫的n比較小,所以畫一畫n=36,你將發現3*n會越界!!!
轉載于:https://www.cnblogs.com/FengZeng666/p/11446827.html
總結
以上是生活随笔為你收集整理的线段树为什么要开4倍空间的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 敌兵布阵 HDU - 1166 (线段树
- 下一篇: I Hate It HDU - 1754
