Uploaded by rcb1399

14. Trees (3)

advertisement
TREES
Tree
→
is
collection
a
of nodes
-
and
edges
HEIGHT
①
:/
o
11
4
edges
of
No
=
nodes
-
④
⑨
④
11 I
l
l l
①
④ ①
LEVEL
/
ah
i
No of
← root
.
,
2
:
5
SUBTREE
I
TERMINOLOGY
(1)
RIO
(2)
Parent
(3)
Child
(4)
Sibling
(5)
Descendents
The
:
node
A
!
first
node
is
parent
a
children of
:
:
(6) Ancestors
:
,
F
,
For
any
For
M,
J
,
to
node
,
G,H
,
M
are
J , F, B
A
,
,
be
can
descendents
are
.
I
which
the nodes
all
descendents
neat
very
nodes
those
K
its
parent
same
Set of all
E
top
the
on
along
B
of
the
reached
from
path from
that
Internalnodeslnon-leafnodeslnon-Teominalnoi.NO des
it
is
having
L
-
levies
( Id)
Forrest
( Io ) Height
:
Collection of
trees
.
.
to root node
2
Enteonaeaf-Nodinanodoi.NO des
(9)
node
.
(8)
of children
node
ancestors
Degreeofaiode
No
particular
.
(7)
:
a
with
degree
with
O
degree
> O
BINARY
TREE
-
④
degree { 23
children
X
①
11 l
O
-
,
TREE
V
l l
④ ①
④ ④
1,2
BINARY
NUMBEROFBINARYTREESXNGNNODI.IS
(1) Unlabeled Nodes
(2) Labelled
Nodes
)
n
of
No
✓
trees
with Mani mum
height
4=22
=
( 2)
=3
000
£68 Ii
T
height
-
T
-_
mirror
T
2
1- (3)
n
=
=
images
T
5
4
O O O 0
No
of
trees
with Mani mum
height
=
8=23
¥
1- ( 4)
=
14
+
other
7 mirror
images
T ( n)
Catalan
'n
=
Cn
✓
Number
No
of
trees
with mani mum
height
=
I
-
I
tMethodforfindingCatalanNumb#
|TLn)=2nn¥/1l25l44#
\
O
h
1- (6)
=
TCG )
=
l
1×42
t
Tco) X TLS )
t
5
4
3
2
1×14
2×5
+
Tu ) X TCU )
6
t
5×2
Th ) X T ( 3) t TL 3) XTLZ )
t
+
14×1
t 1- ( 4)
XTLI )
+
t
42×1
TL 5) X TCO )
=
n
Tcn)
ET ( i 1)
=
-
f-
(2)
*
Tl
n
-
i
)
I
Labeltedhodes
①
¥868
co
-1
B
A
6=3 !
Tcn)
=
2M€
n
a
n
!
-11
I
Shapes
t
Filling
A
%
,
132
Heightvslvode
Height
h
role
Height
h=z
I
=
min
min
mean
O
O
a
many
0
O
0
Height
h =3
min
may
O
0
-
TX
j
-
Td JJ
1 All 11
O
/
-
0
&
O
O
O O O
It 2
O
t
22
O
+
-
23
MinimumNumbNdes
min
nodes
=
htt
ManimumNumbeNde
at
ar t
It 2 t
22
ash tar
t
23
t
.
3
.
.
+
.
.
.
ask
2h
=
=
aCgY
li(2zh!
2h 1- I
+
=
=
15
i
z
i
23
Nodes
n
=3
min
may
I
Qao
00
h
=
h=2
I
Ifnodesaoegivenci
)
Mau
h=
height
n
-
I
↳
(2)
For
minimum
n
height
zhtl
=
Can
-
,
be
obtained
]
' '
2h
ntl
=
htt
login -11 )
=
logz
h=
( nti )
Heightofabinaoytzeelogz
(
ntl)
-
l
E
h
E
n
-
-
I
I
Ocn )
0 ( login)
Numbeooflvodesinabinasytreehtl
E
n
E
zh
"
-
I
by previous formula
INTERNALN0DESVSEXTERNALNODESI#3lNARYTREE
O
O
14
O
fb
f
O
11
O
O
floor
lob
go
to
/
deg ( 23=2
O
degli ) =z
deg co) =3
O
deg (2)
deg ( 21=1
=3
degli) =4
deg ( 03=2
degli ) 5
deg (03=4
=
degcgt-deg.cz
True in
binary tree
STRICTIPROPERICOMPLETEBINARYTREE.se
deg
=
✓ x
-
0,112 }
{
O
←b
6662
O
Glo
f
b
68
Glo
X
o
o
r
Glo
-
Gb
fb
Gx
Gb
O
Ho
Fb
x
¥¥
O
f
Gx
G
l
O
Heightvslvode
( Strict Binary
Tree )
/
Height
h= I
rein
mean
Is
A
64
Height
00
min
mane
A
Ifl
Is
68
68
min
may
o
o
0000
Nodes
Nodes
n
O
O
minimum
o
0000000
Tfininodesaoegiven
=
2h
"
Minimum
-
Man
l
height
height
h
h=
i
=
2
e =3
( ntl )
-
-
l
E h 's
l
a
o
logzlntl )
=
nIINTERNALN0DESVSEXTERNALN0DESI#31NARYTt
Glo
fb
changed
n
O
2h -11
logz
0
number
1111111
o
n=
n
only
Tf
Tfheightihiisgiven
Man
h=z
h =3
Glo
Glo
68
Jb
Min
Height
o
6868
i =3
e=4
( STRICT )
o
Fb
6666
68
68
i-5
e=6
e-
h
-aoy
Te#
3-aryToee_
{ 0,112,3 }
4-aoyToee_
{ 0,1 ,
2,3 ,
4
}
o
o
68
6th
6888
0%5050
Stsict3-aoy { 013 }
Ito
Ho
stoictn-aoyts.ee#h=2
min
Tfheightihiisgiven
Min
Mae
Nodes
Nodes
Man
O
Ab
fff
n
n
=
3+3+1
=
2×3+1
i
Minimum
height
height
Man
h=
logm[nlm
h=
-
I
m
=3
man
-
I
/
O
-
3
← yX→
z
-
3
sont
"
-
08K¥ # K¥491
a
It
I +
3+32+33
n 't
n t
3
e= 7
i
Tfininodesaoegiven
e=9
min
=
-
S
=
✓
i
mh
6th
0%6850650
-
¢§§%
=
m
e=5
Sono
n
nhtl
O
i=2
h
n=
( nht
'
-
i
-
n
-
I
)
n
'
i= 13
e
=
27
3
3
e=
29+1
e=a
D -11]
-
I
REPRESENT.AT/ONOFB#-RYTREE
Array Representation
1.
2
1.
Linked
.
Representation
Arrayrepresentation
*
④
6¥
④
to
t.TT#
Element
L Child
l
Z
3
4
5
A
B
2
c
3-
.
G-
i
Element →
i
L Child
→
2
R child
→
Parent
2
.
→
R
Index
*
2
2
-
i
-
child
I
2
-
it 1
i
*
i +1
Liz)
Linkedrepresentation
NODE
¥¥E/rchid
Struct
f
{
int
*
Node
f
\
,
OH
lchild ;
data ;
Struct
};
Node
④
④
Node
Struct
\
#
n=7
*
ochild ;
nulls
=
htt
y
Fullbinaryloee
binary
A
:
tree
height
Eff
/
o
.
2
of
h
height
having
manimum
number of nodes
.
①
d. to
K¥ £ to
Tisa
CompleteBinaoyToee
A
full binary
Egg
A
:
tree
binary
complete
height
h
-
always
is
tree of
height
a
binary
complete
£
STRICTVS.CO/nPLETE-
↳
almost
complete
complete
①
①
' '
' '
④
6. to
-
Elis
strict
✓
complete
④
④
ft
-
his
strict
×
tree
.
NOT
A
to
r
complete
✓
T
COMPLETE
BINARY TREE
④
T
BETWEEN ELEMENTS
{ 0,2 }
¢
binary
Elisa
BLANK
SPACES
full
-
hit
④
tree
④
-
degree
a
/ \
④
NO
be
⑦
/ \
6¥
will
I
①
④
h
BLANK SPACES
upto
TREE
TRAVERSALS
→
Preorder
NLR
:
Node
In order
Right
,
LNR
:
Left
Postcodes
left
,
Node
,
Right
,
LRN
:
left
Level order
:
Right
,
by
level
Node
,
Level
①
①
%
£
d. to
.
Preorder
ABC
AB
AB
In order
BAC
BA
AB
Post order
BCA
BA
BA
ABC
AB
AB
Level
a
Preorder
A
L B
,
A
In order
(D
,
B
Post order
(
D
,
,
E
B
,
A
,
B
,
A
,
E
B)
D
level
,
)
E
,
D, E
,
)
E
,
D
B
,
D
,
E
, C ,
A
,
D
F
,
F
,
B
F
,
,
E
,
C
,
F
c
,
,
G
,
,
,
G
C
G)
G
C)
,
G)
,
G
,
C
,
G
F
,
F
,
(
C F
,
,
C
,
,
(
,
,
,
A
A
BINARYTREETRAVERSALEASYMF.TN#pyeordtr
order
A
÷÷÷÷÷÷i÷
④
④
post
In
D
,
E
BINARYTREETRAVERSALEASYMF.TT#2pyeordt g
order
,
8£
a
B
,
post
In
F
G
,
,
c,
A
8£
is is ÷oih
.
A, B
,
D
Preorder
,
:
E
,
C ,
A
In order
!
A
Post order
:
C
F
B
,
,
,
C
F
G
,
c
,
,
,
.
B
D
D
,
,
E
E , D
E
,
,
,
F
B
,
,
,
F
D
A
,
B
,
E
,
A
,
F
,
C
,
G
D
,
E
,
B
,
F
,
G
,
C,
A
PROGRAMTOCREATEBINARYTREEVO
id
create C)
{
*
Node
int
n
*
,
t ;
;
Queue
initializing
q;
printfl
scan fl
root
p
"
"
=
root
→
Zoot
→
Enter root value
t d
''
.
"
);
dm ) ;
,
L
mall Oc
data
queue
a
=
n
l child
-
-
.
-
) ;
-
initializing
root
;
root
=
→
en queue 1800T ) ;
storing
while l ! is
(q)
Empty
r child
=
O ;
address of
soot in
queue
)
{
p
=
dequeue ( Lg ) ;
take out
printfl Enter Left child
"
scarf l
if Lu !
"
td
''
-
=
-
,
"
)
a
from
value
queue
into
;
In) ;
D
'
+ = mall Oc (
t
→
data
p
→
l child
en queue
}
}
}
p
-
-
.
.
u
=
(t ) ;
.
) ;
t
;
t
;
→
l child
p
=
t
→ r child
→
=
r child
t
=
0 ;
7
for
right
else
will be
child
everything
same
RECURSlVEPRE0RDERTREETRAVER#
Preorder ( Node
Void
*
t)
{
if ( t !
NULL)
=
{
"
print fl
''
I. d
t
'
-
Preorder
,
( t
Preorder It
→
data ) ;
→
lchild ) ;
→
schild ) ;
I
④
④
④
f
}
,
300
270
pre
1200)
pre
( 210)
pre
( 270 )
11
l
ACTIVATION RECORDS
\
pre
PCO )
l
l
x
x
l
( 300 )
5
9
pco)
l
x
Inorderl Node
7
l
x
x
x
2
Plo)
RECURSIVE
l
Plo)
l
x
X
POST ORDER TREE TRAVERSAL
-
void
Postozdeol
Node
*
t
)
{
{
if ( t
!
=
if It
NULL)
{
!
=
NULL )
{
Inorder It
printfl
"
lchild )
→
I. d
''
'
Inooder It
,
→
t
→
Post order (
;
data ) ;
t
→
Post order ( t
→
print fl
schild ) ;
}
}
USING
p ( 320 )
Al
pco)
Plo)
l
t)
*
\
l
RECURSIVE
TREE TRAVERSAL
NORDER1
void
l
polo)
Al
pco)
CREATED
STACK
230)
pre (
11h
l
PCO)
ARE
-
✓ I
320
310
TRACING TREE
4
\
,
f
\
210
④
}
8
\,
200
}
3
"
x.
d
''
,
t
lchild ) ;
schild ) ;
→
data) ;
ITERATIVE
PREORDER TRAVERSAL
ITERATIVE
-
void
Preorder
C Node
*
t
IN ORDER TRAVERSAL
-
In order
)
C Node
*
t
)
{
Struct
St ;
stack
to
while ( t !
=
it
NULL
is
check
Empty
for empty
Cst )
stack
)
{
if (
t !
NULL)
=
{
psintfl
push (
t
t
=
"
t d
''
-
Sst
→
,
,
t → data) ;
t ) ;
push
push LIST
address
of
t
t
in stack
t
=
,
t ) ;
l child ;
→
lchild ;
}
else
{
t
pop
=
t
t
=
→
( Lst )
;
schild ;
}
pop
out
from
t
address
=
psintfl
stack
t
=
( Lst )
;
pop
"
t
t d
''
-
→
,
t → data) ;
schild ;
}
}
ITER.AT/VEP0STORDERTRAVERSAL#
Void
Inozderc Node
*
t
)
{
Struct
long
St ;
stack
int
while ( t !
temp ;
-
NULL
it
is
Empty
Cst ) )
{
if Lt
!
=
NULL )
'
i :S :S::* :
}
else
{
temp
=
pop ( Lst ) ;
/
TfL
{
temp
> o
)
push ( Sst , temp);
t ((Nodes) temp ) → schild ;
-
-
}
else
{
"
3
3
}
}
"
"" "
e
't:*,
LEVELORDERTRAVERS.tt#
Void
*
Level order ( Node
p)
{
Queue
printfl
en
q;
"
t
-
d
''
Ig
queue (
data ) ;
→
p
,
p)
,
;
is Empty ( q )
while C !
)
{
p
=
degueuectq) ;
if I p
→
lchild )
{
printfl 't
'
-
d
''
→
p
,
enqueueltq
p
,
l child
→
data) ;
→
l child )
;
}
if I p
→ a
child )
{
printfl 't
'
-
d
''
,
enqueueltq
p
→
,
p
rchild
→
→
data) ;
schild ) ;
}
}
}
CAN WE GENERATE
TREE
FROM TRAVERSALS ?
Zhen
#
n
=3
① Given
preorder
①
JA
⑦
① ④ ④
C
c
A
-
,
B, c
htt
A
A
I
④
-
c
c
CONCLUSION
②
Given
preorder
posoodeo
⑦
I
③
/
④
A. Bic
c
,
B) A
⑦
I
③
n
more than
one
If
we
cannot
we
Tf
are
we
also
are
unique
given
generate
unique
given both
tree
preorder
either
tree
preorder
cannot
be
,
in order ,
postorder
.
and
postcodes
,
generated
④
① preorder tihorder
② postoodertinooder
for generating unique
tree
then
§
Preorder
Inoodesr
¥
-
-
4,7 ,
7
,
9
6, 9
,
,
6
3
, 3 ,
,
4
,
2 ,
5
,
5
8
,
,
8, I
2
,
I
7,639,334,5in
④
/!
a
§ 5s
G
A
⑥
⑤
Unique
#
⑥
COUNTING
NODES
OF
NO
BINARY TREE
A
IN
-
int
count ( Node
*
p)
n
{
int
n ,
⑦
I
y ;
y =3
=3
\,
n=
N
if ( p
!
= '
NULL )
=
y
f
\
y
-_
count ( p
count (
=
p
n
schild )
→
ntytl
return
dchild )
→
4=0 In
ty=o two
:O
.
o
;
0 ;
}
COUNTING
NODES
LEAF
int
count
DEGREE
COUNTING NODES WITH
2
-
-
( Node
*
p)
DEGREE
COUNTING NODES WITH
2
OR I
-
{
int
COUNTINUNODESWITHDEGREEIIF
n
,
( p !
y
=
;
NULL )
{
n =
y=
iflp
count
Lp →
(p
count
→
dchild )
rchild )
→
lchild
return
=
-
-
;
;
Id
NULL
ochild
→
p
=
-
-
NULL )
nxytl ;
else
return
}
mtg
iflp
else
return
0
;
lchild !
→
NULL
-
;
iflp
}
-
/
-
→
(
!
Id
it
p
→
'
lchild !
if ( ( p # child
-
-
-
-
Nuu
NULL
p→dchild==
IS
NULL
p
p
→
Idp
→
ochild !
rchild
→
!
ochild
-
zchild !
-
-
-
-
NULL )
NULL )
NULL )
-_
!!
NULL ) )
XOR
if I p
→
-
i
I
}
return
-
0¥
ty=o !
!o
y
f
,
{
u
'
=L
lchild
!=NUu^p→o child
!
-
NULL )
¥0
Download