MCA programming and c++ note

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/Recursion
  • 8/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