Upload
amit-jaju
View
222
Download
0
Embed Size (px)
Citation preview
8/11/2019 MCA programming and c++ note
1/68
PROGRAMMING
ANDDATA STRUCTURES LAB
(MC9217)
LAB MANUAL
Department o Comp!ter App"#$at#on%
Ra&a"a'%m# En#neer#n Co""eeTan*a"am
Cenna# + ,-2 1-.
8/11/2019 MCA programming and c++ note
2/68
1/ La0 Eer$#%e%1
2/ Repre%ent te #3en %par%e matr# !%#n Arra4%2
5/ Create a Sta$' an* *o te 0a%#$ operat#on% !%#n Arra4%.
6/ Create a !e!e an* *o te 0a%#$ operat#on% !%#n Arra4%1-
./ Imp"ement te 0a%#$ operat#on% on S#n"4 L#n'e* L#%t15
,/ Repre%ent te #3en %par%e matr# !%#n L#n'e* L#%t19
7/ Create a Sta$' an* *o te 0a%#$ operat#on% !%#n L#n'e* L#%t22
8/ Create a !e!e an* *o te 0a%#$ operat#on% !%#n L#n'e* L#%t2,
9/ Imp"ement te 0a%#$ operat#on% on Do!0"4 L#n'e* L#%t5-
1-/ Imp"ement te 0a%#$ operat#on% on C#r$!"ar L#n'e* L#%t5.
11/ B#nar4 Tree Tra3er%a"%61
12/ B#nar4 Sear$ Tree #mp"ementat#on6.
15/ Sort te #3en "#%t o n!m0er% !%#n eap Sort.1
16/ Sort te #3en "#%t o e"ement% !%#n !#$' Sort.6
1./ Dept :#r%t Sear$.,
1,/ Brea*t :#r%t Sear$,-
17/ D#&'%tra;% A"or#tm,5
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC 2
8/11/2019 MCA programming and c++ note
3/68
Ra&a"a'%m# En#neer#n Co""ee
Department o Comp!ter App"#$at#on%
La0 Eer$#%e%
600151 DATA STRUCTURES LABORATORY
1/ Repre%ent te #3en %par%e matr# !%#n one *#men%#ona" arra4 an* "#n'e* "#%t/
2/ Create a Sta$' an* *o te o""o=#n operat#on% !%#n arra4% an* "#n'e* "#%t%
(#)P!% (##) Pop (###) Peep
5/ Create a !e!e an* *o te o""o=#n operat#on% !%#n arra4% an* "#n'e* "#%t%
(#)A** (##) Remo3e
6/ Imp"ement te operat#on% on %#n"4 "#n'e* "#%t< *o!0"4 "#n'e* "#%t an* $#r$!"ar"#n'e* "#%t/
./ Create a 0#nar4 %ear$ tree an* *o te o""o=#n tra3er%a"%
(#)Inor*er (##) Pre or*er (###) Po%t or*er
,/ Imp"ement te o""o=#n operat#on% on a 0#nar4 %ear$ tree/
(#) In%ert a no*e (##) De"ete a no*e
7/ Sort te #3en "#%t o n!m0er% !%#n eap an* >!#$' %ort/
8/ Perorm te o""o=#n operat#on% #n a #3en rap(#) Dept #r%t %ear$ (##) Brea*t #r%t %ear$
9/ :#n* te %orte%t pat #n a #3en rap !%#n D#&'%tra a"or#tm
?????
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC 1
8/11/2019 MCA programming and c++ note
4/68
E/ No @ 1Repre%ent te #3en %par%e matr# !%#n Arra4%
Date @
Aim:To =r#te a proram to repre%ent Spar%e Matr# !%#n one *#men%#ona" Arra4
Algorithm:
1/ Start
2/ De$"are a t=o *#men%#ona" arra4 3ar#a0"e
5/ Get te or*er rom te !%er
6/ I te or*er #% 1 ten perorm ro=ma&or or*er an* *#%p"a4 te re%!"t
./ I te or*er #% 2 ten perorm $o"!mnma&or or*er an* *#%p"a4 te re%!"t
,/ I te or*er #% 5 ten e#t
7/ Stop
Logical Descriptio
Amatrixtat a% re"at#3e"4 e= nonero entr#e%/ It ma4 0e repre%ente* #n m!$ "e%% tann m %pa$e/ An n m matrix with k non-zero entries is sparse if k
8/11/2019 MCA programming and c++ note
5/68
F
or(&J-&m&)
pr#nt(Kt *K
8/11/2019 MCA programming and c++ note
6/68
E#pecte" O$tp$t:
Enter te no o ro=%@ 5
Enter te no o $o"!mn%@ 5
Enter te e"ement% #n te arra4 @
1
-7
.
-
-5
6
7
E"ement% o te matr#@1 - 7
. - -
5 6 7
E"ement% o %par%e matr#@
- - 1
- 2 7 1 - .
2 - 5
2 1 6 2 2 7
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC 6
8/11/2019 MCA programming and c++ note
7/68
E/ No @ 2 Create a Sta$' an* *o te 0a%#$ operat#on% !%#n
Arra4%Date @
Aim:To =r#te a proram to $reate a Sta$' an* man#p!"ate #t !%#n one *#men%#ona"Arra4
Algorithm:
1/ Start
2/ De$"are an one *#men%#ona" arra4 3ar#a0"e5/ U%#n S=#t$ $a%e %tatement %e"e$t one appropr#ate operat#on
a/ PUS@
#/ Rea* an e"ement##/ Store #t at te top o te %ta$'
###/ In$rement te TOS0/ POP
#/ Rea* te e"ement rom te top o te %ta$'##/ D#%p"a4 #t
###/ De$rement te TOS
$/ PEE #/ Rea* te e"ement rom te top o te %ta$'
##/ D#%p"a4 #t
6/ Stop
Logical Descriptio
Te proram #mp"ement% te Sta$' !%#n one *#men%#ona" arra4/ In#t#a""4 an arra4
3ar#a0"e #% *e$"are*< an* 3ar#a0"e TOS #% to po#nt te top o te %ta$' #% a"%o *e$"are*/
PUS operat#on #% *one 04 rea*#n an e"ement rom te !%er an* %tor#n #t at TOS
po%#t#on/ POP operat#on retr#e3e% te 3a"!e at TOS an* remo3e% te e"ement TOS no=po#nt% te net e"ement/ PEE operat#on retr#e3e% te e"ement 0!t #t #% not *e"ete* rom
te %ta$'/
!rogram Co"e
?Sta$' U%#n Arra4%?
#n$"!*e%t*#o/#n$"!*e$on#o/
*e#ne SIE 6
#nt aSIEH
8/11/2019 MCA programming and c++ note
8/68
3o#* pee'()
3o#* ma#n()
F$"r%$r()
pr#nt(KnttSta$' U%#n Arra4%K)
pr#nt(KnttK)pr#nt(Kntt 1/CreateK)
pr#nt(Kntt 2/P!%K)
pr#nt(Kntt 5/PopK)pr#nt(Kntt 6/Pee'K)
pr#nt(Kntt ./E#tnK)
*o
F pr#nt(KttEnter o!r Co#$e @K)
%$an(K*K
8/11/2019 MCA programming and c++ note
9/68
pr#nt(KtSta$' A"rea*4 E#%t%K)
3o#* p!%()
F
#(topJJSIE) pr#nt(KttSta$' O3er"o=nK)
e"%e
F pr#nt(KttP!%#n E"ement @K)
%$an(K*K
8/11/2019 MCA programming and c++ note
10/68
E#pecte" O$tp$t
%&!LE&E'TAT%O' O( STAC) US%'* ARRAYS
Coo%e te opt#on
1/ P!%
2/ Pop5/ Pee'
6/ D#%p"a4
./ E#t
Enter 4o!r opt#on@ 1
Enter te e"ement to 0e p!%e* #nto te %ta$'@ 12
Coo%e te opt#on
1/ P!%2/ Pop
5/ Pee'
6/ D#%p"a4./ E#t
Enter 4o!r opt#on@ 1
Enter te e"ement to 0e p!%e* #nto te %ta$'@ 1.
Coo%e te opt#on
1/ P!%
2/ Pop
5/ Pee' 6/ D#%p"a4
./ E#t
Enter 4o!r opt#on@ 1Enter te e"ement to 0e p!%e* #nto te %ta$'@ 56
Coo%e te opt#on
1/ P!%
2/ Pop5/ Pee'
6/ D#%p"a4
./ E#t
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC 8
8/11/2019 MCA programming and c++ note
11/68
Enter 4o!r opt#on@ 6
Te e"ement% #n te %ta$' are@ 12
1.56
Coo%e te opt#on
1/ P!%
2/ Pop5/ Pee'
6/ D#%p"a4
./ E#t
Enter 4o!r opt#on@ 2
Te Poppe* 3a"!e #%@ 56
Coo%e te opt#on
1/ P!%
2/ Pop
5/ Pee' 6/ D#%p"a4
./ E#t
Enter 4o!r opt#on@ 6Te e"ement% #n te %ta$' are@ 12
1.
Coo%e te opt#on
1/ P!%
2/ Pop5/ Pee'
6/ D#%p"a4
./ E#t
Enter 4o!r opt#on@ 5
Te Poppe* 3a"!e #%@ 1.
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC 9
8/11/2019 MCA programming and c++ note
12/68
8/11/2019 MCA programming and c++ note
13/68
pr#nt(KUEUE OPERATIONS@n1/In%ertn2/De"eten5/D#%p"a4n6/E#tnK)
pr#nt(KEnter te operat#on to 0e perorme*@K)
%$an(K*K
8/11/2019 MCA programming and c++ note
14/68
8/11/2019 MCA programming and c++ note
15/68
E/ No @ 6 Imp"ement te 0a%#$ operat#on% on S#n"4 L#n'e*
L#%tDate @
Aim:To =r#te a proram to #mp"ement te 0a%#$ operat#on% on S#n"4 L#n'e* L#%t
Algorithm:
1/ Start
2/ Rea* te 3a"!e o $
5/ I $ J1 ten rea* #tem o n!m0er%et n a% ma""o$ to %#e< %et n o #nto a% n!m an* net a% "#%t
6/ I $J2 to $e$' # "#%t J- ten pr#nt VEmpt4 "#%tW
e"%e # n #% "#%t ten *e"ete te no*e n./ I $J5 ten rea* po%#t#on 3a"!e an* %et n a% ma""o$ %#e an* rea* n!m 3a"!e an*
%tore #n n/,/ I $ J6 ten $e$' "#%t a% NULL or not/ I NULL ten pr#nt V Empt4 "#%tW
E"%e $e$' I not e>!a" to po% ten pr#nt #no o p ten *e"ete te no*e p7/ I $J. ten %et n an* a""o$ate ma""o$ %#e an* rea* n!m/
E"%e net not a% N!"" ten n a% net o p
8/ I $J, ten $e$' po% N!"" an* pr#nt VEmpt4 "#%tWE"%e *e"ete te no*e p
9/ %top
Logical Descriptio
Te %#n"4"#n'e* "#%t #% te mo%t 0a%#$ o a"" te "#n'e* *ata %tr!$t!re%/ A %#n"4"#n'e*"#%t #% %#mp"4 a %e>!en$e o *4nam#$a""4 a""o$ate* o0&e$t%< ea$ o =#$ reer% to #t%
%!$$e%%or #n te "#%t/ De%p#te t#% o03#o!% %#mp"#$#t4< tere are m4r#a* #mp"ementat#on
3ar#at#on%/
!rogram Co"e
%tr!$t no*e
F #nt *ata
%tr!$t no*e ?"#n'
?ea*
t4pe*e %tr!$t no*e no*e3o#* ma#nta#n(3o#*)
3o#* $reate(no*e ?)
3o#* #n%ert#on(no*e ?)3o#* *e"et#on(no*e ?)
3o#* *#%p"a4(no*e ?)
#nt $o!ntJ-#n$"!*eK%t*#o/K
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC 15
8/11/2019 MCA programming and c++ note
16/68
#n$"!*eKa""o$/K
ma#n()
Fea*Jma""o$(%#eo(no*e))
$reate(ea*)
ma#nta#n()et$()
ret!rn
3o#* ma#nta#n()
F
#nt n
$"r%$r()pr#nt(K MAINTANENCEnn1/ In%ert#onn2/ De"et#onn5/ D#%p"a4n6/ E#tK)
pr#nt(Knno!r $o#$e@ K)
%$an(K*K
8/11/2019 MCA programming and c++ note
17/68
pr#nt(KnCreat#on o L#n'e* L#%tnK)
pr#nt(KnEnter te *ata(X-X to term#nate)nK)
%$an(K*K
8/11/2019 MCA programming and c++ note
18/68
$a%e 1@
F
ne="#n'Jea* ea*Jne=
$o!nt 0rea'
$a%e 2@
F
=#"e(p"#n'QJNULL) pJp"#n'
p"#n'Jne=
ne="#n'JNULL
$o!nt 0rea'
$a%e 5@
F
pr#nt(KnEnter te "o$at#on@ K) %$an(K*K
8/11/2019 MCA programming and c++ note
19/68
8/11/2019 MCA programming and c++ note
20/68
3o#* *#%p"a4(no*e ?p)
F $"r%$r()
pr#nt(KnCreate* L#%tK)
pr#nt(KnnTota" no o e"ement% *nK
8/11/2019 MCA programming and c++ note
21/68
E/ No @ .Repre%ent te #3en %par%e matr# !%#n L#n'e* L#%t
Date @
Aim:To =r#te a proram to repre%ent Spar%e Matr# !%#n L#n'e* "#%t
Algorithm:
1/ %tart
2/ Enter te ro= an* $o"!mn matr#
5/ Rea* te 3a"!e o m an* n6/ Set or "oop # ro= a% #J1 an* anoter "oop # $o" a% &J1
./ Rea* 3a"!e o
Net & an* #,/ I =e $oo%e #n%ert ten $e$' # (%par%e JJ N!"" ) ten %par%e Jp
E"%e $e$' =#"e (> net QJ N!"" ) ten > J > net > net Jp7/ I =e $oo%e *#%p"a4 tan or #J1 to r ten $e$' pJpnet
8/ %top
Logical Descriptio
Amatrixtat a% re"at#3e"4 e= nonero entr#e%/ It ma4 0e repre%ente* #n m!$ "e%% tan
n m %pa$e/
An n m matrix with k non-zero entries is sparse if k
8/11/2019 MCA programming and c++ note
22/68
pr#nt(KnEnter te n!m0er o ro=% o te matr#@K)
%$an(K*K
8/11/2019 MCA programming and c++ note
23/68
E#pecte" O$tp$t:
Spar%e Matr# !%#n L#n'e* L#%t
Enter te n!m0er o ro=% o te matr#@5
Enter te n!m0er o $o"!mn% o te matr#@5Enter te e"ement%@
1
8-
-
7
-7
-
-
Spar%e matr# !%#n "#n'e* "#%t@
Ro= Co"!mn E"ement- - 1
- 1 8
1 1 72 - 7
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC 21
8/11/2019 MCA programming and c++ note
24/68
E/ No @ , Create a Sta$' an* *o te 0a%#$ operat#on% !%#n
L#n'e* L#%tDate @
Aim @ To =r#te a proram to $reate Sta$' !%#n L#n'e* "#%t
Algorithm :
1/ Start
2/ Rea* te 3a"!e o $
5/ A""o$ate te ma""o$ %#e to a 3ar#a0"e6/ Get te #tem an* %tore #n *ata ten "#n' to N!"" 3a"!e
./ L#n' te temp to top/ Ten $e$' te top #% N!"" ten *#%p"a4 a% V Sta$' #% Empt4W
,/ I not a% N!"" ten pr#nt te top 3a"!e7/ Pr#nt *ata a% temp 0e$ome% N!""
8/ Stop
Logical Descriptio
Te %ta$' #% a $ommon *ata %tr!$t!re or repre%ent#n t#n% tat nee* to ma#nta#n #n a
part#$!"ar or*er/ Con$ept!a""4< a %ta$' #% %#mp"e@ a *ata %tr!$t!re tat a""o=% a**#n an*remo3#n e"ement% #n a part#$!"ar or*er/ E3er4 t#me an e"ement #% a**e*< #t oe% on te
top o te %ta$' te on"4 e"ement tat $an 0e remo3e* #% te e"ement tat =a% at te top
o te %ta$'/ Con%e>!ent"4< a %ta$' #% %a#* to a3e K#r%t #n "a%t o!tK 0ea3#or (or K"a%t #n)
./ I $J5 ten =#"e(#QJpo%t) tenJp pJpnet
,/ I $J6 ten =#"e(#Jpo%) ten
Jp pJpnet
:ree(p)7/ I $J. ten $e$' # "#%t1 #% N!"" ten "#%t1Jn
8/ I $J, ten $e$' # (pJp net) "#%t1JN!""
9/ # $J7 ten $e$' # "#%t1JJN!"" ten pr#nt VL#%t Empt4W1-/ Stop
Logical Descriptio
In a circ$larl3li+e" list< te #r%t an* #na" no*e% are "#n'e* toeter/ T#% $an 0e *oneor 0ot %#n"4 an* *o!0"4 "#n'e* "#%t%/ To tra3er%e a $#r$!"ar "#n'e* "#%t< 4o! 0e#n at an4
no*e an* o""o= te "#%t #n e#ter *#re$t#on !nt#" 4o! ret!rn to te or##na" no*e/ \#e=e*
anoter =a4< $#r$!"ar"4"#n'e* "#%t% $an 0e %een a% a3#n no 0e#nn#n or en*/ T#% t4peo "#%t #% mo%t !%e!" or mana#n 0!er% or *ata #ne%t< an* #n $a%e% =ere 4o! a3e
one o0&e$t #n a "#%t an* =#% to %ee a"" oter o0&e$t% #n te "#%t/
!rogram Co"e
#n$"!*e%t*#o/
#n$"!*e$on#o/
%tr!$t no*eF
#nt *ata
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC 5.
8/11/2019 MCA programming and c++ note
38/68
%tr!$t no*e ?net
?ea*JNULL
8/11/2019 MCA programming and c++ note
39/68
#nt "aJ-
pJea*
#(p*ataJJ*ata)F
#(pnetJJea*)
F pJea*
ea*JNULL
e"%e
F
$!rrJea*
pJea*=#"e($!rrnetQJea*)
$!rrJ$!rrnet
ea*Jea*net
$!rrnetJea*
pr#nt(Kn* *e"ete*QnK
8/11/2019 MCA programming and c++ note
40/68
3o#* *#%p"a4()
FpJea*
#(ea*QJNULL)
F=#"e(pnetQJea*)
F
pr#nt(K*tK
8/11/2019 MCA programming and c++ note
41/68
%$an(K*K
8/11/2019 MCA programming and c++ note
42/68
8/11/2019 MCA programming and c++ note
43/68
E/ No @ 1-B#nar4 Tree Tra3er%a"%
Date @
Aim @ To =r#te a proram to Create a 0#nar4 %ear$ tree an* *o te o""o=#n tra3er%a"%
(#)Inor*er (##) Pre or*er (###) Po%t or*er
Algorithm :
1/ Start
2/ Rea* te 3a"!e% o $
5/ I $J1 ten #t tra3er%e tro! Inor*erInor*er(T"et)
Pr#nt(T*ata)
Inor*er(Tr#t)6/ # $J2 ten #t tra3er%e tro!
Po%tor*er Po%tor*er(T"et)Po%tor*er(Tr#t)
Preor*er(Tr#t)./ # $J2 ten #t tra3er%e tro!
Po%t or*er po%tor*er(T"et)
Po%tor*er(Tr#t)Pr#nt(T*ata)
,/ Pr#nt te e"ement
7/ Stop te pro$e%%/
Logical Descriptio
Te tree %tr!$t!re% $an 0e tra3er%e* #n man4 *#erent =a4%/ Start#n at te root o a
0#nar4 tree< tere are tree ma#n %tep% tat $an 0e perorme* an* te or*er #n =#$ te4are perorme* *e#ne te tra3er%a" t4pe/ Te%e %tep% (#n no part#$!"ar or*er) are@
perorm#n an a$t#on on te $!rrent no*e (reerre* to a% K3#%#t#nK te no*e)< tra3er%#n to
te "et $#"* no*e< an* tra3er%#n to te r#t $#"* no*e/ T!% te pro$e%% #% mo%t ea%#"4*e%$r#0e* tro! re$!r%#on/
To tra3er%e a nonempt4 0#nar4 tree #n preor"er< perorm te o""o=#n operat#on%
re$!r%#3e"4 at ea$ no*e< %tart#n =#t te root no*e@
1/ \#%#t te no*e/2/ Tra3er%e te "et %!0tree/5/ Tra3er%e te r#t %!0tree/
To tra3er%e a nonempt4 0#nar4 tree #n ior"er< perorm te o""o=#n operat#on%
re$!r%#3e"4 at ea$ no*e< %tart#n =#t te root no*e@
1/ Tra3er%e te "et %!0tree/
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC 61
http://en.wikipedia.org/wiki/Recursionhttp://en.wikipedia.org/wiki/Recursion8/11/2019 MCA programming and c++ note
44/68
2/ \#%#t te no*e/
5/ Tra3er%e te r#t %!0tree/
To tra3er%e a nonempt4 0#nar4 tree #n postor"er< perorm te o""o=#n operat#on%re$!r%#3e"4 at ea$ no*e< %tart#n =#t te root no*e@
1/ Tra3er%e te "et %!0tree/
2/ Tra3er%e te r#t %!0tree/
5/ \#%#t te no*e/
!rogram Co"e
#n$"!*e%t*#o/
#n$"!*e $on#o/
#n$"!*e ma""o$/
%tr!$t no*e
F %tr!$t no*e ?"et
#nt *ata
%tr!$t no*e ?r#t
3o#* ma#n()
F3o#* #n%ert(%tr!$t no*e ??
8/11/2019 MCA programming and c++ note
45/68
et$()
pr#nt(KnPREORDER TRA\ERSALK)
preor*er(ptr)et$()
pr#nt(KnPOSTORDER TRA\ERSALK)
po%tor*er(ptr)et$()
3o#* #n%ert(%tr!$t no*e ??p
8/11/2019 MCA programming and c++ note
46/68
ret!rn
3o#* preor*er(%tr!$t no*e ?p)F
#(pQJNULL)
F pr#nt(K * K
8/11/2019 MCA programming and c++ note
47/68
E/ No @ 11B#nar4 Sear$ Tree #mp"ementat#on
Date @
Aim:To =r#te a proram to #mp"ement B#nar4 Sear$ Tree
Algorithm:
1/ Start2/ Rea* te opt#on 3a"!e
5/ I opt#onJ1 ten rea*
An* $e$' # root #% N!"" ten a%%#n root a% t6/ E"%e %tore $!rrent *ata a% an* pr#nt #t
I ($!rr*ataJ) ten a%%#n "et $#"* to $!rr an* $e$' #($!rrJn!"")
Pre3"$#"*Jt./ E"%e Pre3J$!rr< $!rrJ$!rrr$#"* ten $e$' #($!rrJJN!"")ten pre r$#"*Jt
,/ Pr#nt te 3a"!e o 7/ Enter te no o *e"ete*
Ce$' p #% not n!"" an* ten a%%#n "$#"* a% p8/ I p #% n!"" ten pr#nt
Ce$' P a% root ten a%%#n $ a% root/ Ten *e"ete te no*e p
9/ Stop
Logical Descriptio
%sertio
In%ert#on 0e#n% a% a %ear$ =o!"* 0e#n # te root #% not e>!a" to te 3a"!e< =e %ear$te "et or r#t %!0tree% a% 0eore/ E3ent!a""4< =e =#"" rea$ an eterna" no*e an* a** te3a"!e a% #t% r#t or "et $#"*< *epen*#n on te no*eX% 3a"!e/ In oter =or*%< =e eam#ne
te root an* re$!r%#3e"4 #n%ert te ne= no*e to te "et %!0tree # te ne= 3a"!e #% "e%%
tan te root< or te r#t %!0tree # te ne= 3a"!e #% reater tan or e>!a" to te root/
Deletio
Tere are %e3era" $a%e% to 0e $on%#*ere*@
Deletig a lea:De"et#n a no*e =#t no $#"*ren #% ea%4< a% =e $an %#mp"4
remo3e #t rom te tree/ Deletig a o"e 2ith oe chil":De"ete #t an* rep"a$e #t =#t #t% $#"*/
Deletig a o"e 2ith t2o chil"re:S!ppo%e te no*e to 0e *e"ete* #% $a""e*$/
[e rep"a$e te 3a"!e o N =#t e#ter #t% #nor*er %!$$e%%or (te "etmo%t $#"* o
te r#t %!0tree) or te #nor*er pre*e$e%%or (te r#tmo%t $#"* o te "et
%!0tree)/
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC 6.
8/11/2019 MCA programming and c++ note
48/68
On$e =e #n* e#ter te #nor*er %!$$e%%or or pre*e$e%%or< %=ap #t =#t N< an* ten *e"ete
#t/ S#n$e 0ot te %!$$e%%or an* te pre*e$e%%or m!%t a3e e=er tan t=o $#"*ren< e#ter
one $an 0e *e"ete* !%#n te pre3#o!% t=o $a%e%/ A oo* #mp"ementat#on a3o#*%$on%#%tent"4 !%#n one o te%e no*e%< o=e3er< 0e$a!%e t#% $an !n0a"an$ete tree/
!rogram Co"e
?BINAR SEARC TREE?#n$"!*e%t*#o/
#n$"!*e$on#o/
#n$"!*ea""o$/%tr!$t no*e
F
#nt *ata%tr!$t no*e ?"et
8/11/2019 MCA programming and c++ note
49/68
F
#nt $
$"r%$r()pr#nt(KntttBINAR SEARC TREEK)
pr#nt(Knttt ^^^^^^^^^^^^^^^^^^^^K)
pr#nt(Knttt 1/CREATIONK)pr#nt(Knttt 2/INSERTIONK)
pr#nt(Knttt 5/DELETIONK)
pr#nt(Knttt 6/DISPLAK)pr#nt(Knttt ./E_ITnK)
*o
F
pr#nt(KnttEnter Te Co#$e @ K) %$an(K*K
8/11/2019 MCA programming and c++ note
50/68
treeJma'etree(n!m)
or(#J2#Jn#)
#n%ert()
3o#* *#%p"a4(%tr!$t no*e ?p1)
F #(p1JJNULL)
ret!rn
*#%p"a4(p1"et)pr#nt(K*K
8/11/2019 MCA programming and c++ note
51/68
ret!rn
#(p"etJJNULL) rpJpr#t
e"%e #(pr#tJJNULL)
rpJp"ete"%e
F
Jp rpJpr#t
%Jrp"et
=#"e(%QJNULL)
F Jrp
rpJ%
%Jrp"et
#(QJp)
F "etJrpr#t
rpr#tJpr#t
rp"etJp"et
#(>JJNULL)
treeJrpe"%e
pJ(>"et)Z(>"etJrp)@(>r#tJrp)
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC 69
8/11/2019 MCA programming and c++ note
52/68
E#pecte" O$tp$t
BINAR SEARC TREE ^^^^^^^^^^^^^^^^^^^^^
1/CREATION
2/INSERTION 5/DELETION
6/DISPLA
./E_IT
Enter Te Co#$e @ 1
Enter Te No O No*e @.
Enter Te No O No*e @5
Enter Te No*e \a"!e @ 6
Enter Te No*e \a"!e @ ,
Enter Te No*e \a"!e @ 9
Enter Te No*e \a"!e @ 7
Enter Te Co#$e @ 6
TREE CONTAINS @ 5 6 , 7 9
Enter Te Co#$e @ 2
Enter Te No*e \a"!e @ .
Enter Te Co#$e @ 6
TREE CONTAINS @ 5 6 . , 7 9
Enter Te Co#$e @ 5
Enter Te No*e To Be De"ete* @ 6 Enter Te Co#$e @ 6
TREE CONTAINS @ 5 . , 7 9
Enter Te Co#$e @ .
E_IT
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC .-
8/11/2019 MCA programming and c++ note
53/68
E/ No @ 12Sort the gi.e list o $m/ers $sig 4eap Sort
Date @
Aim:To =r#te a proram to %ort te #3en "#%t o n!m0er% !%#n eap %ort/
Algorithm:
1/ Start2/ Rea* te 3a"!e o n
5/ $e$' =#"e(nJ2) ten #tem J*e"ete eap(a
8/11/2019 MCA programming and c++ note
54/68
%$an(K*K
8/11/2019 MCA programming and c++ note
55/68
#((1)#)
#(1HH)
J1 e"%e
#(n)
Jn %HJ'e4
E#pecte" O$tp$t
EAP SORT
Enter te n!m0er o e"ement%@.
Enter te e"ement%@.
,6
2
8
Te %orte* e"ement% #n te arra4 are@
2
6.
,
8
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC .5
8/11/2019 MCA programming and c++ note
56/68
E/ No @ 15Sort the gi.e list o elemets $sig ,$ic+ Sort
Date @
Aim:To =r#te a proram to %ort te #3en "#%t o e"ement% !%#n !#$' Sort/
Algorithm:
1/ Rea* te arra4 e"ement%2/ Set te #r%t e"ement #n tat arra4 a% p#3ot e"ement/
5/ Reor*er te "#%t %o tat a"" e"ement% =#$ are "e%% tan te p#3ot $ome 0eore te
p#3ot an* %o tat a"" e"ement% reater tan te p#3ot $ome ater #t/6/ Ater t#% part#t#on#n< te p#3ot #% #n #t% #na" po%#t#on/ T#% #% $a""e* te partitio
operat#on/
./ Repeat te %tep% rom 2 to %ort te %!0"#%t o "e%%er e"ement% an* te %!0"#%t oreater e"ement%/
Logical Descriptio
!#$' %ort %ort% 04 emp"o4#n a *#3#*e an* $on>!er%trate4 to *#3#*e a "#%t#nto t=o %!0
"#%t%/ In >!#$'%ort< =e *#3#*e te arra4 o #tem% to 0e %orte* #nto t=o part#t#on% an* ten
$a"" te >!#$'%ort pro$e*!re re$!r%#3e"4 to %ort te t=o part#t#on%< ie =e diide tepro0"em #nto t=o %ma""er one% an* con#!er04 %o"3#n te %ma""er one%/
!rogram Co"e
?UIC SORT?#n$"!*e%t*#o/
#n$"!*e$on#o/#n$"!*emat/
#nt #
8/11/2019 MCA programming and c++ note
57/68
et$()
3o#* >!#$'(#nt aH
8/11/2019 MCA programming and c++ note
58/68
E/ No @ 16Dept :#r%t Sear$
Date @
Aim:To =r#te a proram to tra3er%e te tree !%#n Dept #r%t %ear$/
Algorithm:
1/ Start2/ Rea* te 3a"!e o n
5/ Set or "oop a% #n a% #J-
6/ Set or "oop a% &n a% &J-./ Rea* a*&a$en$4 o a*H&H
Rea* *%(%)
,/ Set or "oop #n an* ee$!te $e$' =eter (Q3#%#H) tenD%(#)
7/ Stop
Logical Descriptio
D:S #% an !n#norme* %ear$ tat prore%%e% 04 epan*#n te #r%t $#"* no*e o te
%ear$treetat appear% an* t!% o#n *eeper an* *eeper !nt#" a oa" no*e #% o!n*< or!nt#" #t #t% a no*e tat a% no $#"*ren/ Ten te %ear$0a$'tra$'%
8/11/2019 MCA programming and c++ note
59/68
%$an(K*K
8/11/2019 MCA programming and c++ note
60/68
pr#nt(Kte a*&a$en$4 matr# o rapnK)
or(#J-#3#)
For(&J-&3&)
pr#nt(K*tK
8/11/2019 MCA programming and c++ note
61/68
E#pecte" O$tp$t
1/$reate rap
2/*%
5/e#tEnter 4o!r $o#$e1
Enter no/ o 3ert#$e% to 0e $reate*.
Enter te no*e 3a"!e1
Enter te no*e 3a"!e5
Enter te no*e 3a"!e6Enter te no*e 3a"!e,
Enter te no*e 3a"!e8
Enter te a*&a$en$4 3ert#$e% "#%t or ea$ 3erte o te rapEnter te no/o a*&an$e4 3ert#$e% or te 3erte 1
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC .9
8/11/2019 MCA programming and c++ note
62/68
8/11/2019 MCA programming and c++ note
63/68
pr#nt(Kn Enter te a*&a$en$4 matr# o te rap@n K)
or(#J-#n#)
For(&J-&n&)
%$an(K*K
8/11/2019 MCA programming and c++ note
64/68
#($o!ntJJ-)F
>rearHJ$
an%'HJ$
E#pecte" O$tp$t
Enter te n!m0er o No*e%@ 6
Enter te a*&a$en$4 matr# o te rap@- 1 1 -
1 - 1 -1 1 - 1
1 - 1 -
A*&a$en$4 #%@
- 1 1 -
1 - 1 -
1 1 - 1 1 - 1 -
Brea*t :#r%t Sear$ o te no*e% #%@
@1 @2 @5 @6
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC ,2
8/11/2019 MCA programming and c++ note
65/68
8/11/2019 MCA programming and c++ note
66/68
8/11/2019 MCA programming and c++ note
67/68
pr#nt(K* K
rap%r$H/pre3#o!%J-rap%r$H/"enJ-
rap%r$H/%tat!%J\ISITED$!r\erteJ%r$=#"e($!r\erteQJ*e%)F
or('J1'Jn')F#(a*&Mat$!r\erteH'H- rap'H/%tat!%JJUN\ISITED)F
ne=LenJrap$!r\erteH/"ena*&Mat$!r\erteH'H
#(ne=Lenrap'H/"en)Frap'H/pre3#o!%J$!r\erte
rap'H/"enJne=Len
m#nJIN:INIT$!r\erteJ-
or(#J1#Jn#) #(rap#H/%tat!%JJUN\ISITED rap#H/"enm#n)F
m#nJrap#H/"en$!r\erteJ#
#($!r\erteJJ-) ret!rn -
rap$!r\erteH/%tat!%J\ISITED
=#"e($!r\erteQJ-)F
patMattotHJ$!r\erte
$!r\erteJrap$!r\erteH/pre3#o!%
or(#Jtot#1#)F
!JpatMat#H3JpatMat#1H?m#nLenJ?m#nLena*&Mat!H3H
ret!rn(tot)
Data Str!$t!re% La0 Man!a"< Dept/ o Comp!ter App"#$at#on%< REC ,.
8/11/2019 MCA programming and c++ note
68/68
E#pecte" O$tp$t
DI]STRA;S SORTEST PAT ALGORITM
ENTER TOTAL NUMBER O: \ERTE_@6
????????????AD]ACENC MATRI_????????
-1
1
1
--
-
1
--
-1
-
--
-
Enter te %o!r$e no*e @AEnter te *e%t#nat#on no*e @D
M#n#m!m "ent #%@1Sorte%t Pat #%@AD
D#%tan$e #% @ 1
Do 4o! =ant to $ont#n!e(4n)@ 4
Enter te %o!r$e no*e @A
Enter te *e%t#nat#on no*e @C
M#n#m!m "ent #%@1
Sorte%t Pat #%@ACD#%tan$e #% @ 1