字典树.线段树.树状数组.pptVIP

  • 5
  • 0
  • 约7.37千字
  • 约 56页
  • 2017-12-16 发布于天津
  • 举报
字典树.线段树.树状数组.ppt

* * 釋放記憶體 當線段樹用完之後,記得要將記憶體釋放。 釋放的方式可以用遞迴輕鬆實現,釋放記憶體的複雜度是O(節點個數)。 RELEASE(SEGTREE P) do if P-leftChild≠ then RELEASE( P-leftChild ) do if P-rightChild≠ then RELEASE( P-rightChild) delete P 線段樹的擴充 除了紀錄完全覆蓋的線段個數count外,通常我們還會紀錄一些其他的資訊以解決更多問題。 區間內被覆蓋的總長度cover 區間內互不相交的線段數line 區間內所有單位線段的權重和sum 而以上資訊都可以在插入刪除時於遞迴的過程中獲得,可以思考一下要如何實現。 線段樹的變化 離散化(Discretization): 基本的線段樹的節點所含的是兩點之間的區間,而單位線段,則是長度固定為1的線段,但若將線段離散成點來看,只將我們需要的區間留下。 線段樹的離散化又分為兩種: 將連續線段離散成可連續的點、 將線段離散之後每一小段都視為一個單位線段來建立線段樹。 樹狀數組(Binary Indexed Tree) 例題一、線段問題Stabbing Problem 給定一些平面上的線段,問一條x = a的垂直線L會與哪些線段相交。 例題二、垂直線段相交問題 給定很多垂直線段以及水平線段,請求出所有的

文档评论(0)

1亿VIP精品文档

相关文档