You are on page 1of 39

Desi

gnandAnal
ysi
sofAl
gor
it
hms

181/
1,182/
1,Hoodi
Vil
l
age,
Sonnenahal
l
i,K.
R.Pur
am,
,Bengal
uru,
Kar
nat
aka560048

DEPARTMENTOFCOMPUTERSCI
ENCE&ENGI
NEERI
NG

DESI
GNANDANALYSI
SOFALGORITHMSLABORATORY
LABMANUAL-18CSL47

AsperChoi
ceBasedCr
edi
tSy
stem (
CBCS)scheme

Ef
fect
ivef
rom t
heacademi
cyear2019-
2020

Preparedby: Reviewedby: Approv edby:


Ms.Lenish Dr.
M.Paul
ine Dr.Sengoti
an
Assist
antProfessor HeadoftheDepar
tment Pri
ncipal
Dept.ofCSE Dept.ofCSE GCEM
GCEM GCEM

DeptofCSE,
GCEM Page1 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

Tabl
eofCont
ent
s

COURSEOBJECTI
VES&OUTCOME 3
COMPUTERLABDO’
sANDDON’
Ts 4.
SYLLABUS………………….
. 5
Li
stofExper
iment
s ……….
77

DeptofCSE,
GCEM Page2 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

COURSEOBJECTI
VE

Thi
scour
sewi
l
lenabl
est
udent
sto
•Desi
gnandi
mpl
ementv
ari
ousal
gor
it
hmsi
nJAVA
•Empl
oyv
ari
ousdesi
gnst
rat
egi
esf
orpr
obl
em sol
vi
ng.
•Measur
eandcompar
etheper
for
manceofdi
ff
erental
gor
it
hms.

COURSEOUTCOMES

Thest
udent
sshoul
dbeabl
eto:
•Desi
gnal
gor
it
hmsusi
ngappr
opr
iat
edesi
gnt
echni
ques(
brut
e-f
orce,
greedy
,dy
nami
c
pr
ogrammi
ng,et
c.)
•I
mpl
ementav ari
etyofal
gor
it
hmssuchassor
ti
ng,
graphr
elat
ed,
combi
nat
ori
al,
etc.
,i
na
hi
ghl
evel
language.
•Anal
yzeandcompar
etheper
for
manceofal
gor
it
hmsusi
ngl
anguagef
eat
ures.
•Applyandi
mplementl
ear
nedal
gor
it
hm desi
gnt
echni
quesanddat
ast
ruct
urest
osol
ve
real
worldpr
obl
ems.

DeptofCSE,
GCEM Page3 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

Comput
erLabDO’
sandDON’
TS

Do’
s

1.DowearI Dcar dandf ol


lowdr esscode.
2.Dol ogofft
hecomput erswheny oufini
sh.
3.Doaskt hestaffforassistanceifyouneedhel p.
4.Doaskf orassistanceindownl oadinganysoftware.
5.Domakesuggest i
onsast ohowwecani mprovetheLAB.
6.I
ncaseofanyhar dwarerelatedproblem,askLABi nchar
geforsolut
ion.
7.I
fy ouarethel astonel eavingtheLAB,makesur ethatthestaf
finchargeoft
heLABi
s
i
nfor medtocloset heLAB.
8.Beont imetoLABsessi ons.
9.Dokeept heLABascl eanaspossi ble.

Don’
ts

1.Donotusemobi l
ephonei nsi
det helab.
2.Don’ tdoany thingthatcanmaket heLABdi rty(likeeat i
ng, thr
owingwastepaperset
c).
3.Donotcar ryanyext ernaldeviceswi thoutper mi ssion.
4.Don’ tmov et hechai rsoft heLAB.
5.Don’ tinterchangeanypar tofonecomput erwi t
hanot her.
6.Don’ tleavet hecomput ersoft heLABt urnedonwhi leleavingtheLAB.
7.Donoti nst al
lordownl oadanysof twar eormodi f
yordel eteanysyst
em fil
esonanylab
comput ers.
8.Donotdamage, remov e,ordi
sconnectanyl abels, parts,cables,
orequipment.
9.Don’ tattemptt oby passt hecomput ersecur itysy stem.
10.Donotr eadormodi fyotheruser ’sf i
le.
11.Ifyoul eav et hel ab,donotl eav ey ourper sonalbel ongingsunatt
ended.Wear enot
responsiblef oranyt hef t
.

DeptofCSE,
GCEM Page4 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

DESI
GNANDANALYSI
SOFALGORI
THM LABORATORY

SYLLABUS
Sub.Code:
18CSL47 I
AMar
ks:
20
Hr
s/Week:
03 Exam Hour
s:03
Tot
alHour
s:40 Exam Mar
ks:
80

Descr
ipti
on:Desi
gn,dev
elop,
andi
mplementthespeci
fi
edalgori
thmsforthef
oll
owi
ngprobl
ems
usi
ngJav al
anguageunderLI
NUX/Windowsenvi
ronment.Netbeans/
Ecl
ipseI
DEtoolcanbe
usedfordev
elopmentanddemonst
rat
ion.

1.a)Cr
eateaJav acl
asscall
edStudentwi t
hthefoll
owingdetai
lsasv ar
iableswithi
nit
.(i
)USN(i
i)
Name(ii
i)Branch(i
v)PhoneWr i
teaJav aprogram t
ocr eat
enSt udentobjectsandpri
nttheUSN,
Name,Branch,andPhoneoftheseobjectswithsui
tabl
eheadings.
b)Wri
teaJavaprogr
am toi
mplementt
heSt
ackusi
ngar
ray
s.Wr
it
ePush(
),Pop(
),andDi
spl
ay(
)
met
hodstodemonstr
atei
tsworki
ng.

2.a)Designasuper cl
asscal
ledStaffwi
thdetail
sasStaff
Id,Name,Phone,Salary.Ext
endt hi
s
cl
assbywr i
ti
ngthreesubcl
assesnamelyTeaching(domai
n,publ
icat
ions)
,Technical(
ski
ll
s),and
Contr
act(per
iod)
.Wr it
eaJavaprogram t
or eadanddispl
ayatleast3staffobjectsofallt
hree
cat
egori
es.
b)Wr i
teaJavaclasscal
l
edCustomert
ost or
et hei
rnameanddat
e_of
_bi
rt
h.Thedate_
of_
bir
th
for
matshouldbedd/ mm/yyy
y.Wr
itemethodst oreadcust
omerdataasanddispl
ayasusing
Str
ingTokeni
zercl
assconsi
deri
ngt
hedeli
mitercharact
eras“
/”.

3.a)Wri
teaJavaprogram t
oreadtwoint
egersaandb.Comput
ea/
bandpr
int
,whenbi
snot
zero.Rai
seanexcept
ionwhenbisequal
tozero.
b)Wr i
teaJavaprogram thatimplement
samul t
i-
thr
eadapplicat
ionthathast
hreethr
eads.
Fi
rstthr
eadgener
atesarandom integerf
orevery1second;secondthreadcomput
esthesquar
e
ofthenumberandpri
nts;t
hir
dthreadwill
pri
nttheval
ueofcubeoft henumber.

4.Sor tagi vensetofni ntegerel


ement susingQui ckSortmethodandcomput ei t
st i
me
complexit
y.Runtheprogram forvari
edvaluesofn>5000andr ecordtheti
met akentosort.Plot
agraphoft heti
metakenv ersusnongraphsheet.Theelementscanbereadfrom afil
eorcanbe
generatedusingtherandom numbergener at
or.Demonstrat
eusingJav ahow t hediv
ide-and-
conquermet hodworksalongwi t
hitsti
mecompl exi
tyanal
ysi
s:worstcase,averagecaseand
bestcase.
5.Sor tagi v
ensetofni ntegerel
ement susingMer geSor tmet hodandcomput eitst i
me
complexit
y.Runtheprogram f orv
ari
edvaluesofn>5000, andr ecordtheti
met akentosort.Plot
agraphoft heti
metakenv ersusnongraphsheet.Theelement scanber eadfrom afil
eorcanbe
generatedusingtherandom numbergener at
or.Demonst r
ateusi ngJav ahow thedi v
ide-and-
conquermet hodworksalongwi t
hitsti
mecompl exi
tyanalysi
s:wor stcase,averagecaseand
bestcase.
DeptofCSE,
GCEM Page5 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

6.I
mpl
ementi
nJav
a,t
he0/
1Knapsackpr
obl
em usi
ng
(
a)Dy
nami
cPr
ogr
ammi
ngmet
hod (
b)Gr
eedymet
hod.

7.From agi
venver
texi
nawei
ghtedconnect
edgr
aph,
findshor
testpat
hst
oot
herv
ert
icesusi
ng
Dij
kstr
a'sal
gor
it
hm.Wri
tet
hepr
ogram i
nJava.

8.Fi
ndMi ni
mum CostSpanni
ngTr
eeofagivenconnect
edundi
rect
edgr
aphusi
ngKr
uskal
'
s
al
gor
ithm.UseUni
on-
Findal
gor
it
hmsiny
ourpr
ogr
am.

9.Fi
ndMini
mum CostSpanni
ngTr
eeofagi
venconnect
edundi
rect
edgr
aphusi
ngPr
im'
s
al
gor
it
hm.

10.Wri
teJavapr
ogr
amsto ( a)I
mplementAll
-Pair
sShortestPat
hsprobl
em usi
ngFl
oyd'
s
al
gor
it
hm.(b)I
mpl
ementTr
avel
l
ingSal
esPersonprobl
em usi
ngDynamicpr
ogr
amming.

11.Designandimpl
ementi nJavatofi
ndasubsetofagi vensetS={Sl
,S2,
..
..
.,
Sn}ofnposi
tiv
e
i
ntegerswhoseSUM isequaltoagivenposi
ti
veintegerd.Forexampl
e,i
fS={1,2,5,6,
8}andd=
9,ther
ear etwosoluti
ons{ 1,
2,
6}and{1,
8}.Di
splayasui tabl
emessage,ifthegivenpr
oblem
i
nstancedoesn'
thav
easol uti
on.

12.Designandimplementi
nJav at
ofindall
Hami
l
toni
anCy
clesi
naconnect
edundi
rect
edGr
aph
Gofnv ert
icesusi
ngbackt
racki
ngpri
ncipl
e.

DeptofCSE,
GCEM Page6 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

Li
stofExper
iment
s

Ex.
No LI
ST PageNo
1 St
udentDet
ail
sandst
acki
mpl
ement
ati
on……………………………………….
.… 8
2 St
affDet
ail
sandcust
omeri
nfor
mat
ion………………………………………….
..
.. 12
3 Di
videanumberandper form oper
ati
onsont
hem 16
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
..
4 Qui
ckSor
t………………………………………………………………………….
.. 19

5 Mer
geSor
t………………………………………………………………………….
. 21

6 0/
1Knapsack……………………………………………………………………….
. 23

7 Di
j
kst
ra’
sAl
gor
it
hm……………………………………………………………….
. 27

8 Kr
uskal

sAl
gor
it
hm……………………………………………………………….
.. 29

9 Pr
im’
sAl
gor
it
hm…………………………………………………………………… 31

10 Fl
oyd’
sAl
gor
it
hm andTSP………………………………………………………… 33

11 Subsetsum pr
obl
em………………………………………………………………… 36

12 Hami
l
toni
anCy
cle………………………………………………………………….
. 38

DeptofCSE,
GCEM Page7 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

1a)Cr
eat
eaJav
acl
asscal
l
edSt
udentwi
tht
hef
oll
owi
ngdet
ail
sasv
ari
abl
eswi
thi
nit
.

(
i)USN(
ii
)Name(
ii
i)Br
anch(
iv)Phone

Wri
teaJavaprogram t
ocreat
enStudentobj
ect
sandpr
intt
heUSN,
Name,
Branch,
andPhoneof
t
heseobj
ectswithsui
tabl
eheadi
ngs.

AI
M:Pr
ogr
am t
otocr
eat
enSt
udentobj
ect
s
i
mportj
ava.ut
il
.Scanner ;
cl
assst
udent
{
Stri
ngusn, name, branch, phone;
student(Stri
ngu, Stringn, St ri
ngb, Stri
ngp)
{ usn=u;
name=n;
branch=b;
phone=p;
}
voidprintdetail
s( )
{
System. out.println(usn+"" +name+"" +branch+"" +phone);
}
}
cl
assst
ud1
{ publicstat i
cvoidmai n(String[]args)
{ i
ntn;
Stri
ngusn, name, br anch,phone;
Scannersc=newScanner (System.in);
System. out.println("Enternumberofst udents"
);
n=sc.next I
nt( )
;
students[ ]
=newst udent [n];
for(
inti=0;i<n;i++)
{ Syst em. out .
printl
n("EnterDetailsofStudent"+(i+1)
);
Syst em. out .
printl
n("EnterUSN" );
usn=sc. next ();
Syst em. out .
printl
n("EnterName" )
;
name=sc. next();
Syst em. out .
printl
n("Enterbranch");
branch=sc. next (
);
Syst em. out .
printl
n("Enterphone" )
;
phone=sc. next ()
;
s[i
]=newst udent (usn,
name, branch,phone);
}
Syst em. out .
printl
n("StudentDet ai
lsare")
;
Syst em. out .
printl
n("USN\ t
NAME\ tBRANCH\ tPHONE" )
;
for(i
nti =0;i<n;i
++)
{
s[ i
].
pri
ntdetai
ls();
}
}
}

OUTPUT:

DeptofCSE,
GCEM Page8 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

Enternumberofstudent
s
2
EnterDetail
sofSt
udent1
EnterUSN
1
EnterName
A
Enterbranch
CSE
Enterphone
2324355
EnterDetail
sofSt
udent2
EnterUSN
2
EnterName
B
Enterbranch
ECE
Enterphone
657
StudentDetail
sar
e
USN NAME BRANCH PHONE
1 A CSE 2324355
2 B ECE 657

CONCLUSI
ON:
Theabov
epr
ogr
am cr
eat
esnst
udentobj
ect
s

1b)Wr i
teaJavapr
ogram t
oimpl
ementt
heSt
ackusi
ngar
ray
s.Wr
it
ePush(
),Pop(
),andDi
spl
ay(
)
methodstodemonst
ratei
tswor
king.
AI
M:Pr
ogr
am t
oimpl
ementst
ackoper
ati
ons
i
mportj
ava.ut
il
.Scanner;
cl
assst
ack
{
ints[]
,
size,t
op;
stack(i
ntn)
{
top=-1;
size=n;
s=newi nt[si
ze]
;
}
voidpush( i
ntit
em)
{
if(
top==size-
1)
Sy st
em.out.
pri
ntln(
"Stackoverfl
ow");
else
{
s[
++top]=it
em;
Syst
em.out .
print
ln(
"Pusheditem:"
+it
em)
;
}
}
voidpop( )
{
if(
top==-1)
Sy st
em.out.
pri
ntln(
"Stackunderfl
ow");
else
Sy st
em.out.
pri
ntln(
"Popitem:"+s[
top-
-])
;
DeptofCSE,
GCEM Page9 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms
}
v
oiddi
spl
ay (
)
{
if
(top==-
1)
Syst
em.out.
pri
ntln(
"Stackisempty
");
else
{
Syst
em.out.
pri
ntln(
"StackElement
s")
;
for
(i
nti
=top;
i>=0;i
--
)
{
Syst
em. out.
print
ln(
s[i
])
;
}
}
}
}
cl
assst
ackop
{
publi
cst
at i
cv oidmai n(String[]args)
{
stackst k=newst ack(10);
i
ntchoi ce, ele;
Booleanexi t=false;
Scannersc=newScanner (System.in);
do
{
System. out .
println("Entery ourchoice")
;
System. out .
println("1.
PUSH\ n2.POP\ n3.DI
SPLAY\n4.
EXIT"
);
choice=sc. next I
nt (
);
switch( choi ce)
{
case1:
Syst em. out .
print
ln("Entertheelementtobepushed")
;
el
e=choi ce=sc. next I
nt(
);
stk.push( ele);
break;
case2:
stk.pop( );
break;
case3:
stk.display ()
;
break;
case4:
exit=true;
break;
default:
Syst em. out .
print
ln("Inv
alidchoice"
);
}
}while(exit==f alse);
}
}

OUTPUT:
Ent
eryourchoi
ce
1.
PUSH
2.
POP
3.
DISPLAY
4.
EXIT

DeptofCSE,
GCEM Page10 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms
1
Entertheelementtobepushed
1
Pushedi t
em:1
Enteryourchoice
1.
PUSH
2.
POP
3.
DI SPLAY
4.
EXI T
1
Entertheelementtobepushed
2
Pushedi t
em:2
Enteryourchoice
1.
PUSH
2.
POP
3.
DI SPLAY
4.
EXI T
3
StackElements
2
1
Enteryourchoice
1.
PUSH
2.
POP
3.
DI SPLAY
4.
EXI T
2
Popi t
em:2
Enteryourchoice
1.
PUSH
2.
POP
3.
DI SPLAY
4.
EXI T
2
Popi t
em:1
Enteryourchoice
1.
PUSH
2.
POP
3.
DI SPLAY
4.
EXI T
3
Stackisempt y
Enteryourchoice
1.
PUSH
2.
POP
3.
DI SPLAY
4.
EXI T

CONCLUSI
ON:
Theabov
epr
ogr
am i
mpl
ement
sst
ackoper
ati
ons

DeptofCSE,
GCEM Page11 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

2a)Designasuper cl
asscall
edStaf
fwi t
hdet ai
lsasStaf
fI
d,Name,Phone,Sal ary.Extendt hi
s
cl
assbywr i
ti
ngthreesubcl
assesnamelyTeaching(domai
n,publ
icat
ions)
,Technical(ski
ll
s),and
Contr
act(per
iod)
.Wr i
teaJavaprogram t
or eadanddispl
ayatleast3staffobjectsofallthree
cat
egori
es.
AI
M:Pr
ogr
am t
oimpl
ementst
affdet
ail
s
i
mportjava.ut
il
.Scanner ;
cl
assstaff
{
Stri
ngst affi
d,name, phone;
longsalary;
Scannersc=newScanner (System.in);
voidread()
{
Sy stem. out.println("
Ent erStaffid")
;
staffid=sc.next (
);
Sy stem. out.println("
Ent ername" );
name=sc. next ();
Sy stem. out.println("
Ent erphonenumber ");
phone=sc. next ();
Sy stem. out.println("
Ent ersalary")
;
salar y=sc.next Long( );
}
voiddisplay()
{
Sy stem. out.print(staff
id+"\t"+name+" \t
"+phone+" \
t"+sal
ary
);
}
}
cl
assteachingextendsst af f
{
intn;
Stri
ngdomai n;
Stri
ng[]publications;
voidread()
{
super .read( );
Sy stem. out.println("
Ent erthedomai n"
);
domai n=sc. next() ;
Sy stem. out.println("
Ent ernumberofpubl icati
ons");
n=sc. nextInt( )
;
publ i
cat i
ons=newSt ri
ng[n];
Sy stem. out.println("
Ent erpublicati
ons:")
;
for(inti=0;i<n;i++)
{
publ i
cat i
ons[ i
]=sc.next()
;;
}
}
voiddisplay()
{
super .display (
) ;
Sy stem. out.print("\t
"+domai n);
for(inti=0;i<publ icati
ons.length;i
++)
{
Syst em. out.pri
nt("\t
"+publicat
ions[i]
+"\t
");

DeptofCSE,
GCEM Page12 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms
}
}
}
cl
asstechni calext endsst af f
{
intn;
String[]ski ll
s;
voidr ead( )
{
super .read( );
Sy stem. out .pri
ntln("Enternumberofski ll
s")
;
n=sc. next I
nt ();
ski l
l
s=newSt ri
ng[n];
Sy stem. out .pri
ntln("Enterskill
s:");
for (
inti=0;i<n;i++)
{
skills[i
]=sc.next ()
;
}
}
voiddi spl ay()
{
super .displ ay();
for (
inti=0;i<skills.l
engt h;i
++)
{
Sy stem. out .
print("
\t"
+ski l
l
s[i]
+"\t")
;
}
}
}
cl
asscontractext endsst af f
{
Stringper iod;
voidr ead( )
{ super .read( );
Sy stem. out .pri
ntln("Entercont ractperiod");
per i
od=sc. next();
}
voiddi spl ay()
{ super .displ ay();
Sy stem. out .pri
ntln("\t
\t"+period);
}
}
cl
assstaffi
nf o
{
publ icstat icvoi dmai n(String[]args)
{
teachi ngt h=newt eachi ng();
techni cal t=newt echni cal();
cont ractc=newcont ract();
Syst em. out .
println("Ent erteachi ngstaffdet ai
ls");
th.read();
Syst em. out .
println("Ent ertechni calstaffdetail
s");
t.r
ead( );
Syst em. out .
println("Ent ercont ractstaffdetail
s" )
;
c.read( )
;
Syst em. out .
println("TEACHI NGSTAFF: ");
Syst em. out .
println("STAFFI D\tNAME\ tPHONE\ tSALARY\
tDOMAI
N\t
PUBLI
CATI
ONS\
n")
;
th.display ();
Syst em. out .
println("\nTECHNI CALSTAFF: ");

DeptofCSE,
GCEM Page13 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms
System.out.
pri
ntl
n("
STAFFI
D\tNAME\
tPHONE\
tSALARY\
tSKI
LLS\
n");
t.
displ
ay();
System.out.
pri
ntl
n("
\nCONTRACTSTAFF:
")
;
System.out.
pri
ntl
n("
STAFFI
D\tNAME\
tPHONE\
tSALARY\
tCONTRACTPERI
OD\
n")
;
c.
display(
);
}
}

OUTPUT:
Enterteachingstaffdet ai
l
s
EnterStaffid
1
Entername
A
Enterphonenumber
235345
Entersalary
24332
Enterthedomai n
W
Enternumberofpubl icati
ons
1
Enterpublicati
ons:
WR
Entertechnicalstaffdetai
ls
EnterStaffid
2
Entername
B
Enterphonenumber
343
Entersalary
43656
Enternumberofski ll
s
1
Enterskil
ls:
ERT
Entercontractstaffdetail
s
EnterStaffid
3
Entername
C
Enterphonenumber
34546
Entersalary
24345
Entercontractperiod
1YEAR
TEACHI NGSTAFF:
STAFFI D NAME PHONESALARY DOMAI
N PUBLI
CATI
ONS

1 A 23534524332 W WR
TECHNICALSTAFF:
STAFFI
D NAME PHONESALARY SKI
LLS

2 B 343 43656 ERT


CONTRACTSTAFF:
DeptofCSE,
GCEM Page14 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms
STAFFI
D NAME PHONESALARY CONTRACTPERI
OD

3 C 34546 24345 1YEAR


CONCLUSI ON:Theaboveprogram cr
eatesstaffdet
ailsfornnumberofst
aff
s
2b)Wr it
eaJav acl
asscall
edCust omertostoretheirnameanddat e_
of_
bir
th.Thedate_
of_
bir
th
for
matshoul dbedd/mm/ yyyy
.Wr it
emet hodst oreadcustomerdataasanddi spl
ayasusing
Str
ingTokeni
zercl
assconsi
deringthedeli
miterchar
act eras“
/”.

AI
M:Pr
ogr
am t
oimpl
ementnameanddat
eofbi
rt
hoft
hecust
omer

i
mpor
tjav
a.ut
il
.*
;
cl
asscustomer i
nfo
{
Stri
ngcdat a;
voidread()
{
Scannersc=newScanner (System. i
n);
Syst
em.out.
printl
n("Ent ercustomername, dateofbirt
hi nthefor
mat (
name, dd/
mm/
yy)
");
cdata=sc.next( );
}
voiddisplay()
{ StringTokeni zerst=newSt ri
ngTokenizer(
cdat
a,"
/");
Sy stem. out.
printl
n("Customerdat a"
);
Syst
em.out.
printl
n(st.nextToken( )
+","+st.
nextToken()
+","
+st.
nextToken(
));
}
}
cl
asscustomer
{
publi
cst aticv oidmai n(St
ring[]args)
{ cust omer inf
oc=newcust omerinfo(
);
c.read( );
c.display (
);
}
}

OUTPUT:
Entercust
omername,
dat
eofbi
rt
hint
hef
ormat
(name,
dd/
mm/
yy)
abc,23/
10/2010
Customerdata
abc,23,
10,
2010

CONCLUSI
ON:
Theabov
epr
ogr
am cr
eat
est
hecust
omerdet
ail
saswel
lasi
tdi
spl
aysexcept
ion

DeptofCSE,
GCEM Page15 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

3.a)Writ
eaJavapr ogram t
oreadtwointeger
saandb.Comput
ea/
bandpr
int
,whenbi
snot
zero.Rai
seanexcepti
onwhenbi sequal
tozero.
AI
M:Pr
ogr
am t
odi
vi
det
wonumber
sanddi
spl
ayt
heexcept
ion
i
mpor
tjav
a.ut
il
.*
;
cl
assquoti
ent
{
voi
dcomput e()
{
Scannersc=newScanner (
Sy stem. in);
System.out.pri
ntl
n("
Enterthev al ueofa" );
i
nta=sc.next I
nt(
);
System.out.pri
ntl
n("
Enterthev al ueofb" );
i
ntb=sc.next I
nt()
;
tr
y{
intc=a/b;
System.out.pr
intl
n("Quot ient="+c)
;
}
catch(Ari
thmet i
cExcepti
one)
{
System.out.pr
intl
n("Divisionbyzer o"
);
}
}
}
cl
assdi
v i
de
{
publicstati
cv oi
dmai n(St
ring[]ar gs)
{ quot i
entq=newquot i
ent ();
q.comput e(
);
}
}

OUTPUT:
Ent
ertheval
ueofa
10
Ent
ertheval
ueofb
2
Quoti
ent
=5

CONCLUSI
ON:
Theabov
epr
ogr
am di
spl
aysdi
vi
sionoft
wonumber
s

3.
b)Wr i
teaJav aprogram thati
mpl ementsamul ti
-t
hreadapplicat
ionthathast
hreethr
eads.
Fi
rstthr
eadgenerat
esar andom i
ntegerforevery1second;secondthreadcomput
esthesquar
e
ofthenumberandprint
s;thi
rdthr
eadwi l
lpri
nttheval
ueofcubeoft henumber.

AI
M:Pr
ogr
am t
oimpl
ementmul
ti
thr
eadappl
i
cat
ions
i
mportj
av a.
uti
l
.Random;
cl
assSqThreadimplement
sRunnabl
e
{
intn;
SqThread(i
ntn)
{

DeptofCSE,
GCEM Page16 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms
thi
s.n=n;
}
publ
icv
oidrun()
{
Sy
stem.out
.pr
int
ln(
"SecondThr
ead:
TheSquar
eof"
+n+"
is:
"+n*
n);
}
}
cl
assCThreadimpl ementsRunnabl e
{
i
ntn;
CThread(intn)
{
this.n=n;
}
publi
cvoi dr un(
)
{
Sy stem.out.pr
intl
n("Thir
dThr ead:Thecubeof"+n+"is:
"+n*n*
n);
}
}
cl
assRThreadimpl ementsRunnabl e
{
i
ntnum;
Random r =newRandom( );
publi
cvoi dr un(
)
{
for(inti
=0;i
<10;i++)
{
num=r .
nextInt
(100);
Sy stem.out.pr
intl
n("Fi
rstThread:Thegeneratedrandom numberi
s:"
+num)
;
Thr eadt1=newThr ead(newSqThr ead(num))
;
t1.start
();
Thr eadt2=newThr ead(newCThr ead(num))
;
t2.start
();
try{
Thread.sl
eep( 1000)
;
}
catch(Interr
uptedExcepti
one)
{

Sy
st out
em. .pr
int
ln(
e);
}
}

}
}
cl
assmul
ti
thread
{
publi
cstaticvoidmain(
Stri
ng[
]ar
gs)
{
Threadt=newThread(
newRThr
ead(
));
t.
start
();
}
}

OUTPUT:

Fi
rstThr
ead:
Thegener
atedr
andom numberi
s:39

DeptofCSE,
GCEM Page17 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms
SecondThread:
TheSquareof39i
s:1521
Thir
dThread:Thecubeof39i
s:59319
Fi
rstThr
ead:Thegenerat
edrandom numberi
s:14
SecondThread:
TheSquareof14i
s:196
Thir
dThread:Thecubeof14i
s:2744
Fi
rstThr
ead:Thegenerat
edrandom numberi
s:44
SecondThread:
TheSquareof44i
s:1936
Thir
dThread:Thecubeof44i
s:85184
Fi
rstThr
ead:Thegenerat
edrandom numberi
s:26
SecondThread:
TheSquareof26i
s:676
Thir
dThread:Thecubeof26i
s:17576
Fi
rstThr
ead:Thegenerat
edrandom numberi
s:94
SecondThread:
TheSquareof94i
s:8836
Thir
dThread:Thecubeof94i
s:830584
Fi
rstThr
ead:Thegenerat
edrandom numberi
s:37
SecondThread:
TheSquareof37i
s:1369
Thir
dThread:Thecubeof37i
s:50653
Fi
rstThr
ead:Thegenerat
edrandom numberi
s:98
SecondThread:
TheSquareof98i
s:9604
Thir
dThread:Thecubeof98i
s:941192
Fi
rstThr
ead:Thegenerat
edrandom numberi
s:42
SecondThread:
TheSquareof42i
s:1764
Thir
dThread:Thecubeof42i
s:74088
Fi
rstThr
ead:Thegenerat
edrandom numberi
s:52
SecondThread:
TheSquareof52i
s:2704
Thir
dThread:Thecubeof52i
s:140608
Fi
rstThr
ead:Thegenerat
edrandom numberi
s:36
SecondThread:
TheSquareof36i
s:1296
Thir
dThread:Thecubeof36i
s:46656

CONCLUSION:Theabov
epr
ogr
am gener
atessquar
e,cubeoft
her
andom numbergener
atedby
thesy
stem

DeptofCSE,
GCEM Page18 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

4.Sor tagi vensetofni ntegerel


ement susingQui ckSortmethodandcomput ei t
st i
me
complexit
y.Runtheprogram forvari
edvaluesofn>5000andr ecordtheti
met akentosort.Plot
agraphoft heti
metakenv ersusnongraphsheet.Theelementscanbereadfrom afil
eorcanbe
generatedusingtherandom numbergener at
or.Demonstrat
eusingJav ahow t hediv
ide-and-
conquermet hodworksalongwi t
hitsti
mecompl exi
tyanal
ysi
s:worstcase,averagecaseand
bestcase.

AI
M:Pr
ogr
am t
oimpl
ementQui
cksor
t

i
mpor tjava.util
.*;
classqs{
i
ntpar titi
on( int[
]a,intlow,i
nthi
gh)
{
i
ntp, i,
j
,temp;
p=a[ l
ow] ;
i
=low+1;
j
=hi gh;
whi l
e(low<hi gh)
{
whi l
e(a[i]
<=p&&i <high)
i
++;
whi l
e(a[j]
>p)
j
--;
i
f(i<j)
{
temp=a[ i
];
a[i]
=a[j];
a[j]
=temp;
}
else
{
temp=a[ l
ow] ;
a[low]=a[j]
;
a[j]
=temp;
returnj;
}
}
returnj;
}
voidsor t(i
nta[ ]
,i
ntlow,inthi
gh)
{
i
f(low<hi gh)
{
i
nts=par ti
tion(a,
low,high);
sor t
(a,
low,s- 1);
sor t
(a,
s+1, high);
}
}

publ
i
cst
ati
cvoi
dmai
n(St
ri
ng[
]ar
gs)
{
DeptofCSE,
GCEM Page19 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

i
nta[ ]
,
i;
Scannersc=newScanner (System.i
n);
System. out.pri
ntl
n("Enterthear raysize")
;
i
ntn=sc. next I
nt()
;
a=newi nt[n];
System. out.pri
ntl
n("Enterthe"+n+"number s")
;
for(i=0; i <a.l
ength;i++)
{
a[i
]=sc. next I
nt(
);
}
longst artTime=Sy stem. nanoTime();
qsq=newqs( );
q.sort
(a,0,n-1);
l
ongst opTi me=Sy stem. nanoTi me();
l
ongt otTime=( stopTime- star
t Time);
System. out.pri
ntl
n("Timet akent osor tar
rayis:
"+t
otTi
me+"
nanoseconds"
);
System. out.pri
ntl
n("Sortedar rayis"
);
for(
i=0;
i<n;i++)
System. out.pri
ntl
n(a[i]
);
}
}

OUTPUT:

Ent
erthearraysi
ze
5
Ent
erthe5number s
10
4
7
1
5
Ti
met akentosortar
rayi
s:54967nanoseconds
Sor
tedarrayis
1
4
5
7
10

CONCLUSI
ON:
Theabov
epr
ogr
am i
susedt
osor
tthenumber
susi
ngqui
cksor
t

DeptofCSE,
GCEM Page20 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

5.Sortagivensetofni ntegerelementsusingMer geSor tmethodandcomput eit


stimecomplexi
ty.
Runt heprogram forvar
iedvaluesofn>5000,andr ecordthetimetakentosort.Pl
otagraphofthe
ti
met akenv ersusnongraphsheet.Theel ementscanber eadfrom afi
leorcanbegeneratedusi
ng
therandom numbergener ator.DemonstrateusingJav ahow thedivideand-
conquermethodworks
alongwithit
st imecomplexi
tyanalysi
s:worstcase,averagecaseandbestcase.

AI
M:Pr
ogr
am t
oimpl
ementMer
gesor
t

i
mpor tjav a.uti
l.Scanner;
classmer gesor t
{
voidmer ge(i nt[]a,i
ntlow,intmid,
inthi
gh)
{
i
nti =low;
i
ntj =mi d+1;
i
ntk=l ow;
i
ntr es[ ]=newi nt[10];
whi l
e( i<=mi d&&j <=hi
gh)
{
i
f(a[i]<a[ j
])
{
res[k]=a[ i];
i
++;
k++;
}
else
{
res[k]=a[ j];
j
++;
k++;
}
}
whi l
e( i<=mi d)
res[k++] =a[ i
++];
whi l
e( j<=hi gh)
res[k++] =a[ j
++];
for(i
ntm=l ow;m<=hi gh;m++)
a[m] =res[ m];
}
voidsor t(int[
]a, i
ntlow,i
nthigh)
{
i
f(low<hi gh)
{
i
ntmi d=( low+hi gh)/2;
sor t
(a,low, mid);
sor t
(a,mi d+1,high) ;
mer ge( a,low,mi d,hi
gh);
}
}
publ i
cst at i
cv oidmai n(Str
ing[
]args){
i
nta[ ]
,i;
Sy stem. out .
println(
"Entert
hearraysize"
);

DeptofCSE,
GCEM Page21 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

Scannersc=newScanner (
System.i
n);
i
ntn=sc. next Int();
a=newi nt[n];
System.out .
pr i
ntln("Enterthe"+n+"number s")
;
for(i=0; i<a. length; i
++)
{
a[i
]=sc. next Int()
;
}
l
ongst artTi me=Sy stem. nanoTime();
mergesor tm=newmer gesor t(
);
m.sort(
a, 0,n-1);
l
ongst opTi me=Sy stem. nanoTime();
l
ongt otTime=( stopTi me- star
tTime);
System.out .
pr i
ntln("Ti
met akentosortar
rayis:
"+t
otTi
me+"
nanoseconds"
);
System.out .
pr i
ntln("Sortedarrayis"
);
for(
i=0;
i<n; i
++)
System.out .
pr i
ntln(a[i
])
;
}
}

OUTPUT:

Ent
erthearraysi
ze
5
Ent
erthe5number s
2
8
1
6
10
Ti
met akentosortar
rayi
s:53136nanoseconds
Sor
tedarrayis
1
2
6
8
10

CONCLUSI
ON:
Theabov
epr
ogr
am i
susedt
osor
tthenumber
susi
ngmer
gesor
t

DeptofCSE,
GCEM Page22 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

6.ImplementinJav
a,t
he0/
1Knapsackpr
obl
em usi
ng(
a)Dy
nami
cPr
ogr
ammi
ngmet
hod(
b)
Greedymethod.

(
a)Dy
nami
cPr
ogr
ammi
ng

AI
M:Pr
ogr
am t
oimpl
ement0/
1knapsackpr
obl
em usi
ngdy
nami
cpr
ogr
ammi
ng
i
mportj
av a.uti
l.Scanner ;
cl
assDynKnapsack
{
i
ntV[
][]=newi nt[10][
10] ;
intp[ ]
=newi nt[
10] ;
intw[ ]=newi nt[10];
intx[ ]
=newi nt[
10] ;
inti,j;
intmax( i
nta, i
ntb)
{
i
f( a>b)
returna;
else
returnb;
}
v oidknapsack( intn,i
ntm)
{
for (
i=0;i
<=n;i++)
{
for(j
=0; j
<=m; j
++)
{
i
f(i==0||
j
==0)
V[i
][
j]
=0;
elseif(
w[i]
>j)
V[i
][
j]
=V[
i-
1][
j]
;
else
V[i
][
j]
=max((
V[i
-1]
[j
])
,(
V[i
-1]
[j
-w[
i]
]+p[
i]
))
;
}
}
}
v oidknapsacki t emsel (i
ntn,intm)
{
for(i
=0; i
<=n; i
++)
x[i]
=0;
i
=n;
j
=m;
whi l
e(i!=0&&j !=0)
{
if(
V[ i
][
j]!
=V[ i
-1][
j])
{
x[i
]=1;
j
=j-
w[ i]
;
}
i=i-1;
}
}
}
DeptofCSE,
GCEM Page23 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

cl
assdyn
{
publ
i
cstaticvoidmai n(Stri
ngar gs[])
{
DynKnapsackds=newDy nKnapsack();
i
nti ,
n,m;
Scanners=newScanner (
Sy st
em.in)
;
System. out.
printl
n("Entertheno.ofitems\ n"
);
n=s.nextInt(
);
System. out.
printl
n("Enterthecapacit
yofKnapsack\ n"
);
m=s. nextInt
();
System. out.
printl
n("Entertheweightsofitems\ n")
;
for(i
=1;i
<=n;i++)
ds.w[i]
=s.nextInt(
);
System. out.
printl
n("Entertheprofi
tsofitems\n" )
;
for(i
=1;i
<=n;i++)
ds.p[i
]=s.nextI
nt();
ds.knapsack( n,m);
System. out.
printl
n("Max i
mum pr ofi
tis"+ds.V[n][
m]);
ds.knapsacki t
emsel (n,
m) ;
System. out.
printl
n("Knapsacki t
em selectedare:");
for(i
=1;i
<=n;i++)
i
f(ds.x[i
]==1)
System. out.
print(
""+i+"");
}
}
OUTPUT:
Ent
ert
heno.ofi
tems

4
Ent
ert
hecapaci
tyofKnapsack

5
Ent
ert
hewei
ght
sofi
tems

1
2
3
2
Ent
ert
hepr
ofi
tsofi
tems

10
12
20
15
Maximum prof
iti
s37
Knapsacki
tem sel
ect
edar
e:
1 24

DeptofCSE,
GCEM Page24 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

(
b)Gr
eedyMet
hod

AI
M:Pr
ogr
am t
oimpl
ement0/
1knapsackpr
obl
em usi
ngGr
eedymet
hod
i
mportjava.ut
il.Scanner ;
cl
asskobject
{
floatw, p, r
;
}
cl
assgdy n
{
staticintn;
staticfloatM;
publ i
cst ati
cv oidmai n( Str
ingar gs[ ]
)
{
Scannersc=newScanner (Sy stem.in)
;
System. out .
pr intln("enternoofobj ects")
;
n=sc.next Int();
kobject[]obj =newkobj ect [n]
;
for(
inti=0; <n;
i i
++)
obj[
i]=newkobj ect ();
readobj (
obj )
;
knapsack( obj);
}
staticvoi dreadobj (
kobj ectobj [
])
{
kobjectt emp=newkobj ect ()
;
Scannersc=newScanner (Sy stem.in)
;
System. out .
pr intln("entermaxcapaci t
y");
M=sc. next Float ();
System. out .
pr intln("enterwei ghts");
for(
inti=0; <n;
i i
++)
obj [i
].
w=sc. next Float();
Sy stem. out.
println("ent erpr ofit
s") ;
for(i
nti=0; <n;
i i++)
obj[
i].
p=sc. next Float();
for(i
nti=0; <n;
i i++)
obj[
i].
r=obj [i
].p/obj [i
].w;
for(i
nti=0; <n-
i 1;i++)
for(
intj=0; <n-
j i
-1; j
++)
if(obj[j]
.r<obj [j
+1].r)
{
temp=obj [j]
;
obj [
j]=obj[
j+1];
obj [
j+1]=temp;
}
for (
inti=0;i<n;i++)
Sy stem. out .
printl
n(obj
[i]
.w+"\
t"+obj
[i
].
p+"
\t"
+obj
[i
].
r+"
\t"
);

}
st
ati
cvoi
dknapsack(
kobj
ectkobj
[]
)
{
fl
oatx[
]=newf
loat
[n]
;

DeptofCSE,
GCEM Page25 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

fl
oatt otprof i
t=0;
i
nti ;
foatU=M;
l
for (i
=0;<n;
i i++)
x[i]=0;
for(i
=0;i<n;i++)
{
if(kobj[i
].w>U)
br eak;
else
{
x[i]=1;
tot profi
t=totprof
it+kobj
[i
].
p;
U=U- kobj[
i].
w;
}
}
i
f(i<n)
x[i
]=U/kobj [i]
.w;
tot
profi
t=totprofit+(x[i
]*kobj [
i]
.p);
System.out.pri
ntln("solutionv ector,x[]
:")
;
for
(i
=0;<n;
i i++)
System.out.pri
nt(x[i]
+"" );
System.out.pri
ntln("total profi
tis="+totprof
it
);
}
}

OUTPUT:

enternoofobj ect
s
4
entermaxcapaci t
y
5
enterweights
1
2
3
2
enterprofi
ts
10
12
20
15
1.0 10.0 10. 0
2.0 15.0 7. 5
3.0 20.0 6. 6666665
2.0 12.0 6. 0
solut
ionvector,x[
]:
1.
0 1.00. 66666670. 0tot
alpr
ofi
tis=38.
333336

CONCLUSI
ON:
Theabov
epr
ogr
am i
susedt
oimpl
ement0/
1knapsackpr
ogr
ammi
ng

DeptofCSE,
GCEM Page26 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

7.From agi
venver
texi
nawei
ghtedconnect
edgr
aph,
findshor
testpat
hst
oot
herv
ert
icesusi
ng
Dij
kstr
a'sal
gor
it
hm.Wri
tet
hepr
ogram i
nJava.

AI
M:Pr
ogr
am t
oimpl
ementDi
j
kst
ra'
sal
gor
it
hm

i
mportjava.
ut il.Scanner ;
cl
assdi
jkstra{
voi
ddij
()
{
intvisited[ ]=newi nt[20];
intcost []
[]=newi nt[20][20];
intd[]=newi nt [20] ;
intn,i,
j,mi n,u=0, w, sour ce;
System. out.pr int ln("Enterno.ofv er
ti
ces: "
);
Scannersc=newScanner (Syst
em.in);
n=sc. next I
nt (
);
System. out.pr int ln("Enterthecostadjacencymat r
ix\
n")
;
for(i
=1; i
<=n; i
++)
{
for (j
=1; j<=n; j++)
{
cost [i][
j]=sc. nextI
nt()
;
}
}
Sy stem. out .
pr intln( "
Enterthesourcenode: "
);
sour ce=sc. next Int (
);
for(i=1; i<=n; i++)
{
visited[ i]=0;
d[i]=cost [sour ce] [
i]
;
}
v i
sited[ sour ce] =1;
d[sour ce] =0;
f
or (j=2; j
<=n; j++)
{
mi n=999;
for(i=1; i<=n; i++)
{
if(v i
sited[i
]==0)
{
if(
d[i
]<min)
{
min=d[i
];
u=i ;
}
}
}
visit
ed[ u] =1;
for(w=1; w<=n; w++)
{
if(cost [
u][
w]!=999&&v isi
ted[w]
==0)
{

DeptofCSE,
GCEM Page27 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

i
f(
d[w]
>cost
[u]
[w]
+d[u]
)
d[
w]=cost
[u]
[w]
+d[
u];
}
}
}
for
(i=1;
i<=n; i
++)
i
f(i
!=sour ce)
System. out.print
ln(
"\nShortestpathfr
om "
+sour
ce+"t
o"+i
+"i
s"+d[
i]
);
}
}
cl
assdi
j
{ publicstat i
cv oidmain(Str
ingar gs[
])
{
dijkstr
adj =newdi j
kstra();
dj.dij
()
;
}
}

OUTPUT:
Ent
erno.ofv
ert
ices:
5
Ent
ert
hecostadj
acencymat
ri
x

039999997
3049992
9994065
999999604
72540
Ent
erthesour
cenode:
1

Shor
testpat
hfr
om 1t
o2i
s3

Shor
testpat
hfr
om 1t
o3i
s7

Shor
testpat
hfr
om 1t
o4i
s9

Shor
testpat
hfr
om 1t
o5i
s5

CONCLUSI
ON:
Theabov
epr
ogr
am i
susedt
oimpl
ementshor
testpat
husi
ngDi
j
kst
ra’
sal
gor
it
hm

DeptofCSE,
GCEM Page28 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

8.Fi
ndMi ni
mum CostSpanni
ngTr
eeofagivenconnect
edundi
rect
edgr
aphusi
ngKr
uskal
'
s
al
gor
ithm.UseUni
on-
Findal
gor
it
hmsiny
ourpr
ogr
am.

AI
M:Pr
ogr
am t
oimpl
ementKr
uskal
'
sal
gor
it
hm
i
mpor tjav a.ut i
l.Scanner ;
classkr u
{
publ icst aticv oidmai n(Str
ing[]args)
{
i
ntcost []
[]=newi nt[10][
10];
i
nti , j
,mi ncost =0;
Scannersc=newScanner (Sy stem.in)
;
Sy stem. out .println("Ent
erthenumberofnodes: ")
;
i
ntn=sc. next Int();
Sy stem. out .println("Ent
erthecostmat ri
x")
;
for(i=1;i<=n; i++)
{
for(j=1;j<=n; j++)
{
cost [i
][j
]=sc. next Int()
;
}
}
mi ncost =kr u(n,mi ncost ,
cost);
Sy stem. out .println("Themi ni
mum spanni ngtreecosti
s:"
);
Sy stem. out .println(mincost);
}
stat i
ci ntkr u( intn, i
ntmi ncost,intcost[
][]
)
{
i
ntne=1, a=0, u=0, b=0,v=0,
mi n;
i
ntpar ent []=newi nt[10]
;
whi le(ne<n)
{
mi n=999;
for(inti=1; i<=n; i++)
{
for(intj=1; j<=n; j++)
{
i
f(cost [i][j
]<mi n){
mi n=cost [i][j
];
a=u=i ;
b=v =j; }
}
}
whi le(par ent [u]>0)
u=par ent [u];
whi le(par ent [v]>0)
v=par ent [
v ];
i
f(u! =v ) {
Sy stem. out .println(ne+++"edge( "+a+",
"+b+")
="+min)
;
mi ncost+=mi n;
par ent[v ]=u; }
cost [a][b]=cost [b][a]=999;
}

DeptofCSE,
GCEM Page29 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

r
etur
nmi
ncost
;
}
}

OUTPUT:

Entert
henumberofnodes:
6
Entert
hecostmatri
x
0399999965
3019999994
9991069994
9999996085
6999999802
544520
1edge(2,
3)=1
2edge(5,
6)=2
3edge(1,
2)=3
4edge(2,
6)=4
5edge(4,
6)=5
Theminimum spanni
ngtr
eecosti
s:
15

CONCLUSI
ON:Theabov
epr
ogr
am i
susedt
ofi
ndmi
nimum costspanni
ngt
reeusi
ngKr
uskal

s
al
gor
it
hm

DeptofCSE,
GCEM Page30 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

9.Fi
ndMini
mum CostSpanni
ngTr
eeofagi
venconnect
edundi
rect
edgr
aphusi
ngPr
im'
s
al
gor
it
hm.

AI
M:Pr
ogr
am t
oimpl
ementPr
im'
sal
gor
it
hm
i
mpor tj
av a.ut
il.Scanner ;
classpr i
m
{
publicstat i
cv oidmai n(Stri
ng[]args)
{
i
ntcost []
[]=newi nt[10][
10] ;
i
nti ,j
,mi ncost=0;
Scannersc=newScanner (System.i
n);
Sy st
em. out.println("Enterthenumberofnodes" );
i
ntn=sc. nextInt();
Sy st
em. out.println("Enterthecostmat ri
x")
;
for(i
=1;i<=n; i
++)
{
for(j
=1;j<=n; j
++)
{
cost [
i]
[j
]=sc. next Int()
;
}
}
Sy st
em. out.println("Minimum Spanni ngTreeEdgesandcost
sar
e")
;
mi ncost=prim( cost ,
n,mi ncost
) ;
Sy st
em. out.println("Themi nimum spanningtreecosti
s")
;
Sy st
em. out.println(+mi ncost);
}

stati
cintpr i
m( intcost[
][
],
intn,
i
ntmi ncost)
{
i
ntnear V[]=newi nt[
10],
t[]
[]
=newi nt
[10]
[10]
,u=0,i
,j,
k;
for(
i=2;i<=n; i
++)
nearV[i
]=1;
nearV[1]=0;
for(
i=1;i<n;i++)
{
i
ntmi n=999;
for(
j=1;j
<=n;j++)
{
i
f(nearV[j]
!=0&&cost [j
][
nearV[
j]
]<min)
{
min=cost [
j][
near V[j
]]
;
u=j;
}
}
t[
i]
[1]=u;
t[
i]
[2]=near V[u];
mincost+=mi n;
nearV[u]=0;
for(
k=1; k<=n; k++){
i
f(nearV[k]!=0&&cost [
k][
near
V[ k]
]>cost[
k][
u])
nearV[k]=u;
}
System.out .
println(
i+"
)mi ni
mum edgei s("+t
[i
][
1]+",
"+t
[i
][
2]+"
)costi
s:"
+mi
n);
DeptofCSE,
GCEM Page31 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

}
r
etur
nmi
ncost
;
}
}

OUTPUT:
Entert
henumberofnodes
6
Entert
hecostmatrix
0399999965
30169994
9991069994
9999996085
6999999802
544520
Minimum Spanni
ngTr eeEdgesandcostsar
e
1)Minimum edgeis(2,1)andi
tscosti
s:3
2)Minimum edgeis(3,2)andi
tscosti
s:1
3)Minimum edgeis(6,2)andi
tscosti
s:4
4)Minimum edgeis(5,6)andi
tscosti
s:2
5)Minimum edgeis(4,6)andi
tscosti
s:5
Theminimum spanningt r
eecosti
s15

CONCLUSI
ON:Theabov
epr
ogr
am i
susedt
ofi
ndmi
nimum costspanni
ngt
reeusi
ngPr
im’
s
al
gor
it
hm

10.Wr
it
eJav
a pr
ogr
amst
o(a)I
mpl
ementAl
l
-Pai
rsShor
testPat
hspr
obl
em usi
ng Fl
oyd'
s

DeptofCSE,
GCEM Page32 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

al
gor
it
hm.(
b)I
mpl
ementTr
avel
l
ingSal
esPer
sonpr
obl
em usi
ngDy
nami
cpr
ogr
ammi
ng.

(a)I
mplementAll
-Pai
rsShor
testPathspr
oblem usi
ngFl
oyd'
sal
gor
it
hm.
AIM:Pr
ogram t
oimplementFloyd’
salgor
it
hm

i
mpor tjav a.uti
l.Scanner ;
classf l
oy d
{
voidf loy d(int[]
[]w,intn)
{
i
nti ,
j,k;
for(k=1; k<=n; k++)
for(i
=1; i<=n; i
++)
for(j
=1; j<=n; j
++)
w[i][
j]=Mat h.mi n(w[i]
[j]
,w[i]
[k]+w[k]
[j]
);
}
publ i
cst aticv oidmai n(String[]ar
gs)
{
i
nta[ ]
[]=newi nt [
10][10];
i
ntn, i,j
;
Sy stem. out .printl
n("enterthenumberofv ert
ices")
;
Scannersc=newScanner (System.in);
n=sc. next Int();
Sy stem. out .printl
n("Enterthewei ghtedmat
rix")
;
for(i
=1; i<=n; i
++)
for(j
=1; j<=n; j
++)
a[i]
[j
]=sc. next Int()
;
fl
oy df =newf l
oy d();
f.
floy d(a, n);
Sy stem. out .printl
n("Theshor t
estpathmatr
ixis")
;
for(i
=1; i<=n; i
++)
{
for(j
=1; j<=n; j
++)
{
Sy stem. out .print(
a[i][
j]
+"\t");
}
Sy stem. out .printl
n("\n")
;
}
}
}

OUTPUT:

ent
erthenumberofvert
ices
4
Ent
erthewei ght
edmat
rix
09993999
20999999
999701
69999990
Theshortestpat
hmatr
ixis
0 10 3 4

2 0 5 6
DeptofCSE,
GCEM Page33 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

7 7 0 1

6 16 9 0

(
b)I
mpl
ementTr
avel
l
ingSal
esPer
sonpr
obl
em usi
ngDy
nami
cpr
ogr
ammi
ng.

AI
M:Pr
ogr
am t
oimpl
ementTSP
i
mpor
tjav
a.ut
il
.Scanner
;
cl
asst
sp
{
stat
icintinfinity=999;
publicstaticv oidmai n( St r
ingar gs[])
{
i
ntcost =infi
nity ;
i
ntc[ ]
[]
=newi nt [
10] [
10] ;
i
nttour [
]=newi nt[10] ;
i
ntn;
System. out.printl
n( "
tspusi ngdy namicprogramming"
);
System. out.printl
n( "
ent ernoofci ti
es")
;
Scannersc=newScanner (
Sy stem. i
n);
n=sc.nextInt();
System. out.printl
n( "
ent ercostmat ri
x")
;
for(
inti=0;i
<n;i++)
for(i
ntj =0;j<n;j++)
{
c[i
][j]
=sc. next I
nt();
if
(c[i]
[j]==0)
c[ i][
j]
=999;
}
for(i
nti =0;i<n;i++)
tour[i]
=i;
cost=tspdp( c,t
our ,0,n);
System. out.printl
n( "
mi nimum t ourcost :
"+cost)
;
System. out.printl
n( "
\ ntour ");
for(
inti=0;i
<n;i++)
{
System. out .
pr i
nt ln(tour[i
]+"" )
;
}
System. out .
pr i
nt ln(tour[0]+"")
;

st
ati
cinttspdp( i
ntc[][
],
i
ntt our[]
,
intst
art
,i
ntn)
{
i
nti,
j,
k;
i
nttemp[ ]=newint[10] ;
i
ntmi ntour[]
=newi nt[10]
;
i
ntmi ncost,cost;
i
f(
start==n-2)
r
eturnc[tour[n-2]
][
tour
[n-
1]]
+c[
tour
[n-
1]]
[0]
;
mincost=infi
nity
;

DeptofCSE,
GCEM Page34 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

for(i
=star t
+1; i<n;i
++)
{
for(j
=0;j<n;j++)
temp[ j
]=tour [j
];
temp[ start+1] =tour[i
];
temp[ i
]=tour [start+1];
if
(c[tour[start]][
tour[i]
]+(
cost=t
spdp(c,
temp,
star
t+1,
n))
<mi
ncost
)
{
mi ncost =c[t
our [
star
t]
][
tour
[i
]]
+cost;
for (
k=0; k<n;k++)
mi nt our[k]=temp[k];
}
}
f
or(i
=0;
i
<n;i++)
tour[i
]=mi ntour [i
];
r
etur
nmi ncost;
}
}

OUTPUT:

tspusingdynamicprogr
ammi
ng
enternoofcit
ies
3
entercostmatri
x
026
201
610
minimum tourcost
:9

t
our
0
1
2
0

CONCLUSI
ON:Theabov
eprogram i
susedtof
indAl
l
-Pai
rsshor
testpat
husi
ngFl
oyd’
sal
gor
it
hm
andi
mplement
sTSPusi
ngdynamicprogr
amming

11.Designandi
mplementinJav atofi
ndasubsetofagi vensetS={Sl
,S2,
..
..
.,
Sn}ofnposi
tiv
e
i
nteger
swhoseSUM i sequalt
oagi venposi
ti
veintegerd.Forexampl
e,i
fS={1,2,5,6,
8}andd=
9,ther
ear etwosoluti
ons{1,
2,6}and{1,
8}.Di
splayasui tabl
emessage,ifthegivenpr
oblem

DeptofCSE,
GCEM Page35 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

i
nst
ancedoesn'
thav
easol
uti
on

AI
M:Pr
ogr
am t
oimpl
ementSubsetsum pr
obl
em

i
mportjav a.
uti
l.*;
cl
asssubset sum
{
st ati
cints[ ]
=newi nt[10];
st ati
cintx[ ]
=newi nt[10];
st ati
cintd;
v oidsumof sub(intp,intk, intr)
{
i
nti;
x[k]=1;
i
f (p+s[
( k]==d) )
{
for(i=1;i<=k; i
++)
if(x[i]
==1)
Sy stem. out.
pri
nt(
"\t+s[
" i
])
;
Sy stem. out .printl
n( );
}
elsei f(p+s[k]+s[ k+1] <=d)
sumof sub( p+s[ k]
,k+1, r
-s[k]
);
i
f ((
p+r -s[
k]>=d) &&( p+s[ k+1] <=d))
{
x[k]=0;
sumof sub( p,k+1,r-s[k])
;
}
}
publ i
cst at icvoidmai n( Stringar gs[ ])
{
i
nti ,n,
sum=0;
Scannersc=newScanner ( Sy
stem. i
n);
subset sum ss=newsubset sum( );
Sy stem.out .println("\nEnt erthemaxno. :
")
;
n=sc. next I
nt (
);
Sy stem.out .println("\nEnt erthesetinincreasi
ngor
der:"
);
for(i=1;i
<=n; i
++)
s[i
]=sc. nextInt (
);
Sy stem.out .println("\nEnt erthemaxi mum subsetv
alues:
")
;
d=sc. next I
nt (
);
for(i=1;i
<=n; i
++)
sum=sum+s[ i]
;
i
f(sum<d| |s[1]>d)
Sy stem.out .println("\nNosubsetpossi ble")
;
else
ss.sumof sub( 0,1,sum) ;
}
}

OUTPUT:

Ent
ert
hemaxno.
:

DeptofCSE,
GCEM Page36 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms
8

Ent
ert
heseti
nincr
easi
ngor
der
:
12345678

Entert
hemaxi
mum subsetv
alues:
10
1 2 3 4
1 2 7
1 3 6
1 4 5
2 3 5
2 8
3 7
4 6

CONCLUSI
ON:
Theabov
epr
ogr
am i
susedt
ofi
ndsubset
sofagi
venset

12.Desi
gnandimplementi
nJavat
of i
ndallHami
l
toni
anCy
clesi
naconnect
edundi
rect
edGr
aph
Gofnv er
ti
cesusi
ngbacktr
acki
ngpr
incipl
e.

DeptofCSE,
GCEM Page37 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

AI
M:Pr
ogr
am t
oimpl
ementHami
l
toni
ancy
cle

i
mpor tjav a.ut i
l.*;
classHcy cle
{
priv atei ntadj [
][]
,x[],
n;
Hcy cle()
{
Scannersc=newScanner (System. i
n);
Sy st em. out .pri
nt ln("Enterthenumberofnodes" )
;
n=sc. next Int();
x=newi nt [n];
x[0]=0;
for( inti =1; i
<n; i++)
x[i
]=- 1;
adj =newi nt[n][
n] ;
Sy st em. out .pri
nt ln("Entertheadj acencymat
ri
x")
;
for( inti =0; i
<n; i++)
for( intj =0; j
<n; j
++)
adj [
i][j
]=sc. next Int();
}
publ i
cv oi dnext Val ue( i
ntk)
{
i
nti =0;
whi le(true)
{
x[k]=x[ k]+1;
i
f( x[ k]==n)
x[k]=- 1;
i
f( x[ k]==-1)
retur n;
i
f( adj [x[k-1]][x[k]]==1)
for( i=0; i<k; i++)
i
f( x[ i]
==x[ k])
break;
i
f( i==k)
i
f( k<n- 1|| k==n- 1&&adj [
x[n-1]]
[0]==1)
retur n;
}
}
voidget cy cl
e( i
ntk)
{
whi le(true)
{
next Value( k) ;
i
f( x[ k]==-1)
retur n;
i
f( k==n- 1)
{
Sy st em. out .pri
nt ln("\nSoluti
on: ");
for( inti =0; i
<n; i
++)
Sy st em. out .pri
nt ((x[i
]+1)+"");
Sy st em. out .pri
nt ln(1);
}
DeptofCSE,
GCEM Page38 Semest
er–I
/I
I
Desi
gnandAnal
ysi
sofAl
gor
it
hms

el
se
getcycle(k+1);
}
}
}
cl
assham
{
publicstaticvoidmai
n(Str
ingar
gs[
])
{
Hcy cl
ehc=newHcy cl
e();
hc.
get cycle(1)
;
}
}

OUTPUT:

Enterthenumberofnodes
6
Entertheadj
acencymatri
x
011100
101001
110110
101010
001101
010010

Sol
uti
on:
1265341

Sol
uti
on:
1265431

Sol
uti
on:
1326541

Sol
uti
on:
1345621

Sol
uti
on:
1435621

Sol
uti
on:
1456231

CONCLUSI
ON:Theabov
epr
ogr
am i
susedt
ofi
ndHami
l
toni
ancy
cleofaconnect
edundi
rect
ed
gr
aph

DeptofCSE,
GCEM Page39 Semest
er–I
/I
I

You might also like