Sei sulla pagina 1di 19

Presentation

Succinct Trees
Sivaramaiah.B.V CJB0910006
M. Sc. (Engg.) in Computer Science and Networking Module Leader: N.D.Gangadhar

M. S. Ramaiah School of Advanced Studies

Max marks Technical content Grasp and Explanation Slides and Delivery 10 10 10

score

Q &A

10

M. S. Ramaiah School of Advanced Studies

Contents
Introduction to Trees Succinct Trees Representation of Trees
LOUDS Representation Balanced Parentheses DOUDS Representation

M. S. Ramaiah School of Advanced Studies

Introduction to Trees
Trees are the most fundamental objects which stores a large amount of data. Standard representation of the binary trees on n nodes using pointers take O(n log n) bits of space. The extra space 2n is needed in order to support constant time navigation between tree nodes.

M. S. Ramaiah School of Advanced Studies

Succinct trees
Succinct trees takes only 2n+O(n) bits and support constant time computation and a set of Query operations: Parent(x): returns the parent of node x. Degree(x): returns the degree i.e. number of children of node x. Child(x,i): Ith child at node x. Depth(x): height or distance from root x. LevelAncestor(x,d): return the ancestor of x with depth d.

M. S. Ramaiah School of Advanced Studies

Binary tree representation


A Binary Trees on n nodes can be represented using 2n+O(n) bits to support: 1) Parent 2) Left child 3) Right child in constant time. .

M. S. Ramaiah School of Advanced Studies

Ordered trees
A rooted ordered tree of n nodes: Navigational operations are - Parent(x)=a - first child(x)=b - next sibling(x)=c Other operations are - degree(x) b - sub tree size(x) a x c

M. S. Ramaiah School of Advanced Studies

LOUDS Representation
Louds is Level Order Unary Degree Sequence. This is the name because of traversing the tree in level order and writing the sequence of each node in unary order. The node with 3 children is written as 1110. The parent and child can be formulated as parent(x)=1+rank0(select1(x)) child(x)=rank1(select0(x-1)+k)

M. S. Ramaiah School of Advanced Studies

LOUDS contd..
The example for LOUDS is given below

M. S. Ramaiah School of Advanced Studies

LOUDS contd..
Now computing parent(7), for the first we need to calculate select1(7). Select1(7)=10, which is one corresponding position of the node g. Next is Rank0(10)=3, which gives the number of 0s preceding the unary degree of g parent. Gs parent position is 1+Rank0(10)=4 and the node is D.

M. S. Ramaiah School of Advanced Studies

10

Balanced Parentheses Representation


This representation is obtained by traversing the tree by depth first order writing a left parentheses when node is encountered first and a closing parentheses when the same node is encountered again while going up after traversing the sub tree. The directions of parentheses is shown in figure. ( ) ( ) ( ) ( )( )

( ) ( ) ( ) ( )

M. S. Ramaiah School of Advanced Studies

11

Balanced Parentheses Representation


The operations are - Parent(x)=Rankopen(enclose(selectopen(x))) -subtreeSize(x)=(Findclose(selectopen(x))-selectopen(x)+1/2) -firstchild(x)=x+1 -Rightsibling(x)=Rankopen(Findclose(selectopen(x))+1)

M. S. Ramaiah School of Advanced Studies

12

Balanced Parentheses Representation


The example is

M. S. Ramaiah School of Advanced Studies

13

Balanced Parentheses Representation


For the computation of parent(6), selectopen(6) should be computed. Selectopen(6)=8, which is the position of open parentheses associated to node j. Then, enclose(8)=3, which is the position of the closest open parenthesis associated to js parent. At last Rank(3)=3, we get the identifier js parent.

M. S. Ramaiah School of Advanced Studies

14

Balanced Parentheses Representation


Another computation is finding the SubtreeSize(9). Selectopen(9)=16, which is the position of the ( of the node d. Findclose(16)=23, which is the position of ) associated to d. Then the SubtreeSize=(23-16+1)/2=4.

M. S. Ramaiah School of Advanced Studies

15

DFUDS Representation
DFUDS is Depth-First Unary Degree Sequence. DFUDS combines both LOUDS and BP representation and benefits of both. Due to the combination of both representation, it is able to support all the query operations with in the (2n+O(n)) bits.

M. S. Ramaiah School of Advanced Studies

16

DFUDS Representation
The example is shown below

M. S. Ramaiah School of Advanced Studies

17

Reference
[1] Mehta, D.P and S. Sahani (Eds.), Handbook of Data
Structures and Applications, Chapman & Hall/CRC, 2005 [2] Jiri Fiala, Jan Kratochvil and Mirka Miller (Eds.), Combinatorial Algorithms, Springer-Verlag Berlin Heidelberg, 2009

M. S. Ramaiah School of Advanced Studies

18

Thank U

M. S. Ramaiah School of Advanced Studies

19

Potrebbero piacerti anche