Professional Documents
Culture Documents
Trang 1
Chng1
Tng quan v cu trc d liu v gii thut
Vit chng trnh hon chnh cho cc bi ton sau y
(cc bi tp v n tp, cc bi tp v rn luyn cch la chn mt cu trc d
liu thch hp; mt thut ton thch hp cho vn bi ton)
BT1-1. Cho n s nguyn dng a0,a1,a2,...,an-1.
a.Chn phn t x vo v tr k ca dy.
b.Xa tt c cc s nguyn t trong dy.
BT1-2. Cho ma trn vung n dng n ct; mi phn t ca ma trn l mt phn s
(gi thit rng t s v mu s ca cc phn s ny l cc s nguyn). Hy thc hin
cc yu cu sau:
a.Tm phn s c gi tr nh nht nm trong khong.(0;1).
b.m s lng phn s nm trong ma trn tam gic trn c gi tr nm trong
khong (0,1)
c.Sp xp cc phn s trong ma trn tng dn t tri qua phi v t trn
xung di.
BT1-3.Vit chng trnh to mt tp tin vn bn c tn l DAYSO.INP c cu
trc nh sau:
-Dng u tin ghi n (n l s nguyn dng nhp t bn phm).
-Trong cc dng tip theo ghi n s nguyn ngu nhin trong phm vi t 1 n
10000, mi dng 10 s (cc s cch nhau t nht mt du cch).
Hy thc hin cc cng vic sau y:
a.Tm gi tr ln nht ca cc s trong tp tin DAYSO.INP.
b.m s lng s chn, s lng s l trong tp tin DAYSO.INP.
c.Hy m s lng s nguyn t, s chnh phng, s hon ho, s
Amstrong trong tp tin DAYSO.INP.
Hy ghi kt qu ca cc cu a,b,c trn vo tp tin vn bn c tn l
DAYSO.OUT.
BT1-4.Vit chng trnh to tp tin vn bn c tn l BANGSO.INP c cu trc
nh sau:
Trang 2
x
x2
x3
xn
+
... + (1) n1
1
1
1 1+ 1 1+ 1 + 1
1 + + ... +
2
2 3
2
n
S(n,x) = 1 + +
x2 x3
xn
+
+ ... +
2! 3!
n!
Trang 3
-7
Th kt qu tng l 7.
Phn gi :
BT1.9.
Algorithms1: O(N2)
float s=1;
for (int i=1;i<=n;i++)
s=s+pow(x,i)/giaithua(i);// giaithua(i) = i!=1.2.3.i
phc tp theo cch ny l O(N2), tuy nhin chng trnh khng th thc
hin c khi n ln; chng hn n =100 - do php tnh giai tha ca n khng th
thc hin..
Algorithms2: O(N2)
Trang 4
float s=1,p;
for (int i=1; i<=n;i++)
{
p=1;
for (int j=1; j<=i;j++)
p=p*x/j;
s=s+p;
}
phc tp theo cch ny vn l l O(N2), tuy nhin chng trnh khng
cn tnh giai tha ca n.
Algorithms3: O(N) phc tp tuyn tnh
float s=1,p=1;
for (int i=1;i<=n;i++)
{
p=p*x/i;
s=s+p;
}
BT1-11.a.
Nhp m ch s ca s a, lu vo mng mt chiu a.
Nhp n ch s ca s b, lu vo mng mt chiu b.
Gi s ta c hai s a=97895 v b = 6478
i
a[i]
B[i]
Lu nu
0
9
6
khi nhp m
1
7
4
khng ging
2
8
7
hng bn phi
3
4
9
5
8
th kt qu s sai, ta c
th tin hnh nhp hai s a,b theo cch sau khc phc tnh trng ny:
t max l s ln nht trong hai gi tr m v n.
Vic nhp hai s a ,b c tin hnh nh sau:
for i=max-m+1;i<=max;i++
cin>>a[i];
for i=max-n+1;i<=max;i++
cin>>b[i];
Trang 5
a[2]=7;
a[3]=8;
a[4]=9.
a[5]=5.
b[2] = 6,
b[3]=4;
b[4]=7;
b[5]=8
BT1-12
Algorithms1: O(N3)
Thut ton n gin nht c th vit ngay l: Xt tt c cc cp s nguyn L
v U tha mn 1 L U n; i vi mi cp nh vy ta tnh tng ca dy con
a[L..U] v so snh tng ny vi gi tr ln nht hin c:
for (L=1;L<=n;L++)
for (U=L;U<=n;U++)
{
sum=0;
for (int I=L;I<=U;I++)
Trang 6
sum=sum+a[I];
maxsofar=max(maxsofar,sum);
}
Chng trnh ny tuy d hiu, nhng n chy rt chm. Thut ton ny c phc
tp l O(n3). Cc bn xem nu n=10000 th thi gian dnh cho thut ton ny l qu
ln.
Algorithms2:O(N2)
Ta c th ci tin thut ton trn c thut ton vi phc tp l O(n 2)
bng cch s dng h thc :
Tng a[L..U]= Tng a[L..U-1]+a[U]
maxsofar=0;
for (L=1;L<=n;L++)
{
sum=0;
for (U=L;U<=n;U++)
{
sum=sum+a[U];
maxsofar=max(maxsofar,sum);
}
}
Algorithms3:O(N)
Tng ln nht trong dy con a[1..i] l tng ln nht trong dy con a[1..i-1] gi l maxsofar hoc tng ln nht trong tt c cc tng ca cc dy con kt thc ti
i - gi l maxendinghere. Chng ta c nhn xt rng: Dy con ln nht kt thc ti i
l dy con ln nht kt thc ti v tr i-1 c b sung thm phn t a[i] cui hoc
l dy con rng trong trng hp tng ca dy con nhn c l s m. Ta c thut
ton nh sau:
maxsofar=0;
maxendinghere=0;
for (i=1; i<=n;i++)
{
maxendinghere=max(maxendinghere+a[i],0);
Trang 7
maxsofar=max(maxsofar,maxendinghere);
}
Minh ha cho thut ton ny nh sau:
i
1
2
A[i]
4
-5
maxendinghere
4
0
Maxsofar
4
4
Thut ton ny c phc tp l O(n).
3
6
6
6
4
-4
2
6
5
2
4
6
6
3
7
7
7
-7
0
7
Trang 8
Chng2
Tm kim & sp xp
Vit chng trnh hon chnh cho cc bi ton sau y
BT2-1.Cho dy s.
84
32
13
64
55
48
Nu k=5 th kt qu l 9, 9, 9, 9, 7
BT2-3.Cho mng mt chiu n phn t. Sp xp cc s nguyn t tng dn, cc s
khc gi nguyn gi tr v v tr.
BT2-4.Cho ma trn hai chiu m dng, n ct. Hy sp tng dn cc phn t theo
chiu t tri qua phi v t trn xung di.
BT2-5.Vit chng trnh cho cc phng php sp xp sau:
a.i ch trc tip
b.Chn trc tip
c.Chn trc tip
d.Ni bt.
BT2-6.Cho dy s.
84
32
13
64
55
48
Trang 9
chng
trnh
cho
phng
php
sp
xp
Quick
sort.
Trang 10
Chng3
Cu trc danh sch lin kt
Vit chng trnh hon chnh cho cc bi ton sau y
BT3-1.Cho mt danh sch lin kt n l, mi nt l mt s nguyn dng.
a.Tm phn t ln nht danh sch l.
b.Tm tng cc phn t ca danh sch l.
c.m xem trong danh sch l c bao nhiu s nguyn t ?
d.m xem trong danh sch c bao nhiu s m ? bao nhiu s bng 0 ? bao
nhiu s dng ?
e.m xem trong danh sch c bao nhiu s bng x ?
f.Tm phn t dng nh nht trong danh sch.
BT3-2. Cho mt danh sch lin kt n l, mi nt l mt s nguyn dng.
a.Xa phn t u tin trong danh sch.
b.Xa phn t cui cng trong danh sch.
c.Xa mt phn t c tr bi con tr q.
d.Xa mt phn t ngay trc phn t c tr bi con tr q.
e.Xa mt nt c gi tr k.
f.Xa tt c cc s c gi tr nguyn t.
BT3-3. Cho mt danh sch lin kt n l, mi nt l mt s nguyn dng.
a.Hy to danh sch l1 ch cha cc s nguyn t t danh sch l.
b.Tch danh sch l thnh 2 danh sch: mt danh sch cha ton s chn, mt
danh sch cha ton s l.
c.Sp xp cc phn t ca l gim dn theo phng php chn trc tip.
BT3-4.Vit chng trnh thc hin cc yu cu sau:
a.Khai bo cu trc d liu ca mt danh sch lin kt n cc tnh. Bit
rng thng tin ca mi tnh bao gm: tn tnh, din tch, dn s
b.Ci t cc thao tc c bn cho danh sch lin kt n cc tnh (thm, sa ,
xa, duyt).
c.Tnh tng din tch ca tt c cc tnh trong danh sch lin kt
Trang 11
d.Tm a ch ca node cha tnh c din tch ln nht trong danh sch lin
kt.
e.Tm mt tnh c dn s ln nht.
f.Sp xp danh sch tng dn theo din tch.
BT3-5.Vit chng trnh thc hin cc yu cu sau:
a.Khai bo cu trc d liu ca mt danh sch lin kt n lu ta cc
nh ca mt a gic li trong mt phng OXY.
b.Tnh chu vi ca a gic.
c.Tnh din tch ca a gic.
BT3-6.Cho mt danh sch lin kt, mi nt cha mt s nguyn.
a.Thm mt phn t c gi tr x vo u danh sch
b.Ch gi li mt gi tr trong s cc gi tr ging nhau.
c.Kim tra xem danh sch c c sp xp tng dn hay khng?
d.o ngc danh sch.
e.Sp xp cc s chn trong danh sch theo th t tng, sp xp cc s l
theo th t gim dn, cc s 0 gi nguyn v tr..
BT3-7.Cng hai a thc (mi node c 3 thnh phn: h s khc 0 ca mt s hng,
s m tng ng v mc ni ti node tip theo).
BT3-8.Ta c 4 la chn: 1. Stack; 2. Queue; 3. List; 4. C 3 CTDL ny u khng
thch hp. Trong mi tnh hung sau, hy cho bit p dng la chn no l thch
hp nht:
a.Cc khch hng ti quy bn v xe la ly s th t mua v
b.Mt danh sch tn theo th t ABC
c.Cc s nguyn cn phi sp th t
d.Danh sch cc mn hng bn trong ngy ti quy thu ngn trong siu
th
e.Chng trnh c s dng k thut Back-tracking
f.Cc my bay ang ch p xung phi trng
BT3-9.Tnh gi tr ca a thc P(x) vi x v cc h s cho bit trc c t chc
di dng mt danh sch lin kt (mi node c 3 thnh phn: h s khc 0 ca mt
s hng, s m tng ng v mc ni ti node tip theo).
BT3-10.Hon chnh cc thao tc trn Stack v Queue.
Trang 12
Trang 13
Chng4
Cu trc cy
Vit chng trnh hon chnh cho cc bi ton sau y
BT4-1.Cho cy nh hnh sau. Hy tr li cc cu hi sau:
a.Cc nt no l nt l ?
b.Cc nt no l nt nhnh ?
c.Cha ca nt G l nt no ?
d.Con ca nt C l cc nt no ?
e.Cc nt no l anh em ca nt B ?
f.Mc ca D, ca L l bao nhiu ?
Trang 14
hnh v bn:
-Lit k cc nt l ca cy T.
-Lit k cc nt nhnh ca cy T.
sau.
Hy vit dy cc nt c thm khi
duyt cy ny theo
a.th t trc
b.th t gia
c.th t sau.
Trang 15
hin cc yu cu sau:
a.Hy m s nt ca cy.
b.Cho bit chiu cao ca cy AVL
c.Kim tra xem T c phi l cy nh phn tm kim khng ?
d.Kim tra xem T c phi l cy cn bng hon ton khng ?
Trang 16
thnh phn thng tin ca mt c gi. Bit rng mt c gi gm nhng thnh phn:
M c gi, tn c gi, ngy sinh, a ch, ngy lp th.
a.Tm a ch ca c gi ln tui nht trong cy.
b.Lit k cc c gi trong cy sinh sau nm 1975
c.m s lng node c 2 cy con c ngy lp th trong ngy
09/07/2009.
d.Tm kim a ch theo m c gi.
e.Lit k cc c gi trong cy.