I . " lost ! t.is Applied to geometric was Jane Smith - - PowerPoint PPT Presentation

i
SMART_READER_LITE
LIVE PREVIEW

I . " lost ! t.is Applied to geometric was Jane Smith - - PowerPoint PPT Presentation

- , 6- Persistent Data Structures : : Rebuild subtree T Example History , attire : - Preserves prior states of , Samak , Sleater ," . Let Tzbenew subtree : - Driscoll " " " t ' splay - First serious Tarjan ( 1986 ) trees


slide-1
SLIDE 1
  • ,

History

:

6- Persistent Data Structures :

Example

: Rebuild subtree T

, attire

  • Driscoll

,Samak , Sleater,"

" " " '

splay

  • Preserves prior states of

t

. Let Tzbenew subtree :

Tarjan ( 1986 )

  • First serious

trees

data structure

BJ Tree :

PBJ Tree :

Nino

.

theoretical analysis

  • Allows searches in history

t.is

I

lost !

→ Applied to geometric

"

was Jane Smith enrolled

unlinked

"

search ( time is coordinate )

in UMD

in spring

2016 ?

"

Approach : whenever

a modification

  • FulllPartial Persistence :

made

  • save old contents tuse
  • Approaches
: .
  • change can be made
.

temporal node to distinguish

.

Copy

  • on
  • write : Whenever you

to anykurrent version

change att

:

modify

, make

a copy

  • Drew

→ very inefficient !

↳Persisten¥SearchTreesw

Example

:

change

  • log
:

Make

a list of

*

Tinie : Command :

*6¥

. - -

recent updates

  • et -

01

insert IAD

→ slow to process

FD

~

.

03

insert BWI

Fat nodes ( Node copying

:

TkCase study

: PBJ Tree

¥

05 insert SFO

.

When changes occur, save

.

Persistent weight

  • Balanced
.

07

delete BWI

.

just modified portions

Jackhammer trees

time :

g

  • p
  • p
  • p

,

→ Temporal node :

New node

in IAD

BWI BWI

IAD

i

  • i. IAD , IAD

SFO

in

type

.

⇐ time

→ A partially persistent

i

. . .

÷

pro

,

pre post

BJ tree

find IAD at

  • :

; not found

!

{ybntfeenf.

. . " " I:{tenets

→ Uses rebuilding to balance

find IAD ato?

found

!

prior to time

  • n crafter

subtrees

get

  • min

at 04

: BWI . . . . . '

t

time t

→ Allows weighted

entries

get

  • min

at

08

: IAD ° ,
slide-2
SLIDE 2
  • ,

PBJ Tree Private) Data :

⇐ PBJ Tree

: Tech specs

Few MoreThings

:
  • final float ALPHA , BETA

Node structure :

  • Before insert
, check that

↳ same

as BJ Tree

Node : weight

  • maxwt (float)

t > lastInsertTime

  • Node

root

  • root

→ init

: null

↳ TempNode : time (int) → else Error !

  • int firstInsertTinie }

> init:

. ,

pre , post ( Node)

  • set lastInsertTime ← t
  • int last Inserttiine

Int Node : key

, left

, right

  • Note : Partial persistence

Ext Node : key , value

  • Rebalance → NEXT

Insertion (without rebalancing ) .

If

.

. .

Helper

: Node insert( x. v. w ,t )

Updating weights ?

→ insert (xn ) of wt wat t

Int Node :

wt-left.wttright.wt-I.ro

,

mention) IPersistentssearchtreeswT-empmna.ge?tgnf:xgYf¥mw¥

.li?ornighti-t.eI-root--newExtNodelx,v,w)&#

s - s s s

  • maxwtc
  • post
. maxwt

Post !

. . .
  • → Int : left c- left . insert . .)
  • search for x

in tree

rights

  • right
.insert . . . )

→ Update node

Example :

.
  • reach Ext Node @ tempipfostc-pos-t.int/weighttmaxWt

insert'D

")tmiY%

.

.

|

sit,g y ⇒ Error

: Duplicate key

(later )

," ? .

% ,

  • ty

" ⑤

a

  • maybe Into

It

' ,

" ¥7

. . .

I

@ i mtaybe

Ds

weight.

"⑤

,

"

"

so

letter right

÷ "

. .

?

maxwt

" ' ⑤

"

"⑤

(or post )

. .

" ' ⑤ ④

child

goofy bis

  • i. copy
° ,
slide-3
SLIDE 3
  • ,

Internal Node Rebalance:-#

Rebalancing after insertion :

tindlx.tl.fnidvplx.tl , getminlt ) .

. .
  • T

est

a,p condition

  • starting at root
, retrace
  • same

as before but for temporal

(same

as BJtree )

search path

nodes visit prelpost based out

  • If unbalanced

, compile

  • Recursive helper
:
  • check whether tcfirstupdatetime

list

A- of extern nodes

Node rebalance (x,t)

→ if

→ null

for current tree

c- "
  • toe

memorially

→ Internal

: Apply to left

  • T - original tree
  • n post side

right based on

x ⇒ key

getpreordwlistltlgettullpreorderlistl)

  • strewn
:

"

tree

'temporalities.to#..-kistcgetsepmre::dgrnliostesagtimet

.

temporal

  • second gets full preorder list

" od "

IPersistentSearchTreesyT

Call nodes )

Temporal Node Rebalance :

Delete Hear : Not implemented)

  • Recuse
  • n post side :

b t 't -

  • 88
  • Not required ! (A bit messy)

post

  • post
. rebalance Cx,t) f⇒ Example :

  • On return :

rebuild at

, , %, D8"

.

if ( post child

is temporal ) .

in as

'

?

"
  • perform left rotation

"

QI,

,⑤

"

  • I. update weights

. ..

" ⑤

a . '

"

⇒⑤

''

return

root of subtree

⑤ YO

' n

vis " ai

,

"

shallow or

why? Don't like long post chains

I

⑤ ⑥

"⑤

deep copy

?

,

' "⑤

" '

sis

"⑤

" '⑤

→ we did

  • ne

no

Itcngteaimnpitgrea'iJ¥i

.

→oesitdemraiter ?

newest

  • -
  • - '

← -

  • -
  • "
. .