lintcode 439 線段樹的構造 II

2022-03-29 13:56:51 字數 728 閱讀 1065

線段樹是一棵二叉樹,他的每個節點包含了兩個額外的屬性start和end用於表示該節點所代表的區間。start和end都是整數,並按照如下的方式賦值:

對於給定陣列設計乙個build方法,構造出線段樹

說明wiki:

segment tree

interval tree

樣例給出[3,2,1,4],線段樹將被這樣構造

標籤線段樹

思路

自底向上構造線段樹

code

/**

* definition of segmenttreenode:

* class segmenttreenode

* }*/class solution

return build(0, a.size() - 1, a);

}segmenttreenode * build(int start, int end, vector&nums)

segmenttreenode *root = new segmenttreenode(start, end, 0);

if (start != end)

else

return root;}};

線段樹的查詢 LintCode

對於乙個有n個數的整數陣列,在對應的線段樹中,根節點所代表的區間為0 n 1,每個節點有乙個額外的屬性max,值為該節點所代表的陣列區間start到end內的最大值。為segmenttree設計乙個 query 的方法,接受3個引數root,start和end,線段樹root所代表的陣列中子區間 s...

Lintcode 線段樹的構造

線段樹是一棵二叉樹,他的每個節點包含了兩個額外的屬性start和end用於表示該節點所代表的區間。start和end都是整數,並按照如下的方式賦值 yes說明線段樹 又稱區間樹 是一種高階資料結構,他可以支援這樣的一些操作 見百科 線段樹區間樹 樣例比如給定start 1,end 6,對應的線段樹為...

Lintcode 線段樹修改

yes樣例對於線段樹 1,4,max 3 1,2,max 2 3,4,max 3 1,1,max 2 2,2,max 1 3,3,max 0 4,4,max 3 1,4,max 4 1,2,max 4 3,4,max 3 1,1,max 2 2,2,max 4 3,3,max 0 4,4,max 3...