原文:普通平衡樹學習筆記之Splay算法

前言 今天不容易有一天的自由學習時間,當然要用來 學習 。在此記錄一下今天學到的最基礎的平衡樹。 定義 平衡樹是二叉搜索樹和堆合並構成的數據結構,它是一 棵空樹或它的左右兩個子樹的高度差的絕對值不超過 ,並且左右兩個子樹都是一棵平衡二叉樹。 這里僅僅說明一下平衡樹中的 Splay 算法 進入正題 平衡樹中有許多種類:紅黑樹 AVL 樹,伸展樹 Splay , Treap 等等,但是 Splay 算 ...

2020-07-10 20:37 4 381 推薦指數:

查看詳情

學習筆記平衡樹-splay

嗯好的今天我們來談談cosplay splay是一種操作,是一種調整二叉排序的操作,但是它並不會時時刻刻保持一個平衡,因為它會根據每一次操作把需要操作的點旋轉到根節點上 所謂二叉排序,就是滿足對中的任意一個節點,它左子樹上的任意一個值比它的值小,右子樹上的任意一個值比它的值大的一棵二叉樹 ...

Mon Jul 23 02:08:00 CST 2018 5 3360
平衡樹splay講解

  首先來說是splay是二叉搜索,它可以說是線段和SBT的綜合,更可以解決一些二者解決不了的問題,splay幾乎所有的操作都是由splay這一操作完成的,在介紹這一操作前我們先介紹幾個概念和定義   二叉搜索,即BST(binary search tree),這樣的有一個關鍵字,滿足 ...

Mon Dec 09 07:21:00 CST 2013 0 4682
普通平衡樹

普通平衡樹 splay 板子、、、寫的有點長 旋轉版treap 跑得快然而沒卵用。 無旋treap 是不是我常數寫大了?好慢。。。 SGT 即替罪羊。重構的思想很不錯,常數小,因為我把alpha設成了0.7233333 vector %爛 ...

Mon Sep 25 06:16:00 CST 2017 4 768
平衡樹Splay、fhq Treap)

Splay Splay(伸展)是一種二叉搜索。 其復雜度為均攤\(O(n\log n)\),所以並不可以可持久化。 Splay的核心操作有兩個:rotate和splay。 pushup: 上傳信息,比如區間和、子樹大小... rotate: rotate實現把一個節點\(x\)轉到 ...

Tue Dec 03 01:27:00 CST 2019 6 155
平衡樹算法

一、平衡樹用來干什么 您需要寫一種數據結構(可參考題目標題),來維護一些數,其中需要提供以下操作: 插入 xxx 數 刪除 xxx 數(若有多個相同的數,因只刪除一個) 查詢 xxx 數的排名(排名定義為比當前數小的數的個數 +1+1+1 ) 查詢排名為 xxx 的數 求 ...

Mon Jan 20 00:16:00 CST 2020 0 932
[總結] 后綴平衡樹學習筆記

定義 后綴平衡樹,就是動態的維護后綴數組,可以 \(O(\log n)\) 在末尾插入字符,\(O(\log n)\) 查詢 \(rank,SA\)。但是由於是維護的后綴信息,所以插入只能在末尾插入字符(然后轉化成在開頭加一個字符),相當於添加一個后綴。 在線構造 方法一: 我們需要一種 ...

Tue Jan 15 18:04:00 CST 2019 0 900
后綴平衡樹學習筆記

后綴平衡樹簡介 后綴平衡樹是一種動態維護后綴排序的數據結構。 具體而言,它支持在串\(S\)的開頭添加/刪除一個字符。 前置知識-重量平衡樹 重量平衡樹保證操作影響的最大子樹大小是最壞的或均攤的或期望的\(O(logn)\)。 不采用旋轉機制的重量平衡樹-替罪羊 替罪羊依賴於一種暴力 ...

Sat Jan 26 16:57:00 CST 2019 0 624
【知識點】平衡樹——Treap和Splay

二叉搜索($BST$):一棵帶權二叉樹,滿足左子樹的權值均小於根節點的權值,右子樹的權值均大於根節點的權值。且左右子樹也分別是二叉搜索。(如下) $BST$的作用:維護一個有序數列,支持插入$x$,刪除$x$,查詢排名為$x$的數,查詢$x$的排名,求$x$的前驅后繼等操作 ...

Sun Dec 09 00:16:00 CST 2018 5 552
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM