資料結構 線段樹 二分

2022-05-11 05:38:22 字數 697 閱讀 7548

(以線段樹-區間修改為例,假如是單點修改只需要把pushdown去掉)

可以解決形如:

無序陣列中第乙個大於等於x的值的位置

pairlowerbound(int u, int l, int r, ll x) ;

if(mx[u] < x)

return res;

if(l == r)

return res = ;

pushdown(u, l, r);

if(mx[ls] >= x) return lowerbound(ls, l, mid, x);

return lowerbound(rs, mid + 1, r, x);

}pairupperbound(int u, int l, int r, ll x) ;

if(mx[u] <= x)

return res;

if(l == r)

return res = ;

pushdown(u, l, r);

if(mx[ls] > x) return upperbound(ls, l, mid, x);

return upperbound(rs, mid + 1, r, x);

}

進入兩個分支的條件還可以更加複雜,例如規定必須在某個區間中查詢,這個時候要搭配上面的querymax來找到半個區間中的最值。

資料結構樹之二分查詢樹

二叉查詢樹 binary search tree 也稱有序二叉樹 ordered binary tree 排序二叉樹 sorted binary tree 是指一棵空樹或者具有下列性質的二叉樹 若任意節點的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 任意節點的右子樹不空,則右子樹上所有結...

資料結構 二分搜尋樹(BST)

1.二分搜尋樹的簡單介紹 一般來講,二叉樹的儲存資料的基本結構是封裝乙個node節點,儲存左右兩個孩子的node變數,以及乙個泛型資料,二分搜尋樹需要泛型型別實現comparable介面 必須保證左子樹的資料比右子樹大 created by upupgogogo on 2018 5 30.上午11 ...

資料結構 二分搜尋樹篇

樹結構本身是一種天然的組織結構 二叉樹和鍊錶一樣,動態資料結構 class node二分搜尋樹 也是二叉樹 二分搜尋樹的每個節點的值 1.定義二分搜尋樹節點 public class bst private node root private int size public bst public i...