41
SBD Hä vµ tªn V¨n To¸n Anh Tæng KÕt qu¶ 105 Lª ThÞ Thu 8.5 10.0 7.0 9.0 102 Vò Ngäc S¬n 6.0 8.5 8.5 5.0 215 TrÇn Thuû 7.0 7.0 6.5 6.5 211 NguyÔn Anh 4.5 5.0 7.0 7.5 245 Phan V©n 5.0 2.0 3.5 4.5 VÝ dô 1: Qu¶n lÝ ®iÓm trong mét k× thi b»ng m¸y tÝnh. Yªu cÇu : H·y x¸c ®Þnh th«ng tin ®-a vµo (Input) vµ th«ng tin cÇn lÊy ra (Output) Input: SBD, Hä vµ tªn, V¨n, To¸n, LÝ, Anh. Output: Tæng ®iÓm, KÕt qu¶ thi cña häc sinh. 53 §ç 42.5 §ç 41 §ç 33.5 §ç 22

Bai 4 bai toan va thuat toan main

  • Upload
    bi-lien

  • View
    162

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Bai 4 bai toan va thuat toan main

SBD Hä vµ tªn V¨n To¸n LÝ Anh Tæng KÕt qu¶

105 Lª ThÞ Thu 8.5 10.0 7.0 9.0

102 Vò Ngäc S¬n 6.0 8.5 8.5 5.0

215 TrÇn Thuû 7.0 7.0 6.5 6.5

211 NguyÔn Anh 4.5 5.0 7.0 7.5

245 Phan V©n 5.0 2.0 3.5 4.5

VÝ dô 1: Qu¶n lÝ ®iÓm trong mét k× thi b»ng m¸y tÝnh.

Yªu cÇu : H·y x¸c ®Þnh th«ng tin ®­a vµo (Input)

vµ th«ng tin cÇn lÊy ra (Output)

Input: SBD, Hä vµ tªn, V¨n, To¸n, LÝ, Anh.

Output: Tæng ®iÓm, KÕt qu¶ thi cña häc sinh.

53 §ç

42.5 §ç

41 §ç

33.5 §ç

22

Page 2: Bai 4 bai toan va thuat toan main

VÝ dô 2: Gi¶i ph­¬ng tr×nh bËc nhÊt ax + b = 0.

Yªu cÇu : H·y x¸c ®Þnh th«ng tin ®­a vµo (Input)

vµ th«ng tin cÇn lÊy ra (Output)

Input: C¸c hÖ sè a, b.

Output: NghiÖm cña ph­¬ng tr×nh.

Víi a = 1, b = -5

Ph­¬ng tr×nh cã nghiÖm x = 5

Page 3: Bai 4 bai toan va thuat toan main

1. Kh i niÖm bµi to¸n

Lµ viÖc nµo ®ã ta muèn m y thùc hiÖn ®Ó tõ th«ng tin ®­a vµo (INPUT) t×m ®­îc th«ng tin ra (OUTPUT).

VÝ dô 3: T×m ­íc sè chung lín nhÊt cña hai sè nguyªn d­¬ng.INPUT: Hai sè nguyªn d­¬ng M vµ N.OUTPUT: ­íc sè chung lín nhÊt cña M vµ N.

VÝ dô 4: Bµi to¸n xÕp lo¹i häc tËp cña mét líp. INPUT: B¶ng ®iÓm cña häc sinh trong líp.

OUTPUT: B¶ng xÕp lo¹i häc lùc cña häc sinh.

Bµi 4. Bµi to¸n vµ thuËt To¸nBµi 4. Bµi to¸n vµ thuËt To¸n

Page 4: Bai 4 bai toan va thuat toan main

2. Kh i niÖm thuËt to¸n

Tõ INPUT lµm thÕ nµo ®Ó t×m ra OUTPUT ?

C¸c em cÇn t×m ra c¸ch gi¶i cña bµi to¸n.

Page 5: Bai 4 bai toan va thuat toan main

XÐt vÝ dô 2: Gi¶i ph­¬ng tr×nh bËc nh t ax + b = 0. ấ

B1: Xc ®Þnh hÖ sè a, b;B1: X c ®Þnh hÖ sè a, b;

B2: NÕu a=0 vµ b=0 => Ph­¬ng tr×nh v« sè nghiÖm =>B5;B2: NÕu a=0 vµ b=0 => Ph­¬ng tr×nh v« sè nghiÖm =>B5;

B3: NÕu aB3: NÕu a==0 vµ b0 vµ b≠≠0 => Ph­¬ng tr×nh v« nghiÖm =>B5;0 => Ph­¬ng tr×nh v« nghiÖm =>B5;

B4: NÕu aB4: NÕu a≠≠0 => Ph­¬ng tr×nh cã nghiÖm x=-b/a =>B5;0 => Ph­¬ng tr×nh cã nghiÖm x=-b/a =>B5;

B5: KÕt thóc.B5: KÕt thóc.

Page 6: Bai 4 bai toan va thuat toan main

ThuËt to n ®Ó gi¶i mét bµi to n lµ mét d·y h÷u h¹n c¸c thao t c ®­îc s¾p xÕp theo mét tr×nh tù x c ®Þnh sao cho sau khi thùc hiÖn d·y thao t c Êy, tõ Input cña bµi to n, ta nhËn ®­îc Output cÇn t×m.

Cã hai c¸ch thÓ hiÖn mét thuËt to¸n:

C¸ch 1: LiÖt kª c¸c b­íc.

C¸ch 2: VÏ s¬ ®å khèi.

Page 7: Bai 4 bai toan va thuat toan main

B7: KÕt thóc.

B1: B¾t ®Çu;B1: B¾t ®Çu;

B2: NhËp a, b, c;B2: NhËp a, b, c;

B3: TÝnh B3: TÝnh ∆∆ = b = b22 – 4ac; – 4ac;

B4: NÕu B4: NÕu ∆∆ < 0 => PT v« nghiÖm => B7; < 0 => PT v« nghiÖm => B7;

B5: NÕu B5: NÕu ∆∆ = 0 = 0 => PT cã nghiÖm kÐp x = -b/2a => B7; => PT cã nghiÖm kÐp x = -b/2a => B7;

B6: NÕu B6: NÕu ∆∆ > 0 > 0 => PT cã hai nghiÖm x1, x2 = (-b => PT cã hai nghiÖm x1, x2 = (-b ±± √∆√∆ )/2a )/2a => B7; => B7;

3. Mét sè vÝ dô vÒ thuËt to¸n ThuËt to¸n gi¶i ph­¬ng tr×nh bËc hai (a ≠ 0).

C¸ch 1: LiÖt kª c¸c b­íc

Page 8: Bai 4 bai toan va thuat toan main

Quy ­íc c¸c khèi trong s¬ ®å thuËt to¸nQuy ­íc c¸c khèi trong s¬ ®å thuËt to¸n

B¾t ®Çu thuËt to¸n.

Dïng ®Ó nhËp vµ xuÊt d÷ liÖu.

Dïng ®Ó g¸n gi trÞ vµ tÝnh to¸n.

XÐt ®iÒu kiÖn rÏ nh nh theo mét trong hai ®iÒu kiÖn ®óng, sai.

KÕt thóc thuËt to¸n.

§K

®

S

KT

C¸ch 2: VÏ s¬ ®å khèi

Page 9: Bai 4 bai toan va thuat toan main

NhËp vµo a, b, c

∆ = b - 4ac

∆ < 0 PT v« nghiÖm

∆ = 0 PT cã nghiÖm x= - b/2a KT

BD

®

s

S¬ ®å thuËt to¸n gi¶i ph­¬ng tr×nh bËc haiS¬ ®å thuËt to¸n gi¶i ph­¬ng tr×nh bËc hai

2

PT cã 2 nghiÖm

x1,x2 = ( -b ±√∆ )/2a

B1

B2

B3

B4

B5

B6

s

®

B7

Page 10: Bai 4 bai toan va thuat toan main

a,b,c= 1 3 5

∆ = 3∗3 − 4∗5 = − 11

−11 < 0 PT v« nghiÖm

∆ = 0 PT cã nghiÖm x = -b/2a KT

BD

-11

531

c b a

S

PT cã 2 nghiÖm x1, x2 = (-b ±√∆ )/2a

§

S

∆ = b* b − 4* a* c

nhËp vµo a,b,c

∆ < 0

M« pháng thuËt to¸n gi¶i ph­¬ng tr×nh bËc haiM« pháng thuËt to¸n gi¶i ph­¬ng tr×nh bËc hai

Bé TEST 1:

Page 11: Bai 4 bai toan va thuat toan main

a,b,c= 1 2 1

∆ = 2∗2 − 4∗1∗1 = 0

PT v« nghiÖm

PT cã nghiÖm x=-b/2a KT

BD

0

121

c b a

S

PT cã 2 nghiÖm x1, x2 = (-b ±√∆ )/2a

§

S

∆ = b* b − 4* a* c

nhËp vµo a,b,c

∆ < 0

M« pháng thuËt to¸n gi¶i ph­¬ng tr×nh bËc haiM« pháng thuËt to¸n gi¶i ph­¬ng tr×nh bËc hai

Bé TEST 2:

§

∆ = 0 PT cã nghiÖm kÐp x=-1

Page 12: Bai 4 bai toan va thuat toan main

a,b,c= 1 -5 6

∆ = 25 − 24 = 1

PT v« nghiÖm

PT cã nghiÖm x=-b/2a KT

BD

1

6-51

c b a

S

PT cã 2 nghiÖm x1, x2 = (-b ±√∆ )/2a

§

S

∆ = b* b − 4* a* c

nhËp vµo a,b,c

∆ < 0

M« pháng thuËt to¸n gi¶i ph­¬ng tr×nh bËc haiM« pháng thuËt to¸n gi¶i ph­¬ng tr×nh bËc hai

Bé TEST 3:

§

∆ = 0

PT cã nghiÖm x1 = 3 x2 = 2

Page 13: Bai 4 bai toan va thuat toan main

ThuËt to¸n t×m max

3

Ng­êi ta ®Æt 5 qu¶ bãng cã kÝch th­íc kh c nhau trong hép ®· ®­îc ®Ëy n¾p nh­ h×nh bªn. ChØ dïng tay h·y t×m ra qu¶ bãng cã kÝch th­íc lín nhÊt .

Page 14: Bai 4 bai toan va thuat toan main

Qu¶ nµy lín nhÊt

Qu¶ nµy míi lín nhÊt å! Qu¶ nµy

lín h¬n T×m ra qu¶ lín nhÊt råi!

Cïng t×m thuËt to¸n

MAX

Page 15: Bai 4 bai toan va thuat toan main

ThuËt to¸n t×m sè lín nhÊt trong mét d·y sè nguyªn

X c ®Þnh bµi to¸n:

INPUT: Sè nguyªn d­¬ng N vµ d·y N sè nguyªn

a1, a2, …, aN (ai víi i: 1N).

OUTPUT: Sè lín nhÊt (Max) cña d·y sè.

Page 16: Bai 4 bai toan va thuat toan main

ý t­ëng:

- §Æt gi trÞ Max = a1.

- LÇn l­ît cho i ch¹y tõ 2 ®Õn N, so s¸nh

gi trÞ ai víi gi trÞ Max, nÕu ai > Max th×

Max nhËn gi trÞ míi lµ ai.

Page 17: Bai 4 bai toan va thuat toan main

C¸ch 1: LiÖt kª c¸c b­ícC¸ch 1: LiÖt kª c¸c b­íc

B1: NhËp N vµ d·y aB1: NhËp N vµ d·y a11,…, a,…, aNN;;

B2: Max B2: Max ←← a a11; i ; i ←← 2; 2;

B3: NÕu i > N th× ®­a ra gi trÞ Max råi kÕt thóc; B3: NÕu i > N th× ®­a ra gi trÞ Max råi kÕt thóc;

B4:B4:B­íc 4.1: NÕu aB­íc 4.1: NÕu aii > Max th× Max > Max th× Max ←← a aii;;B­íc 4.2: i B­íc 4.2: i ←← i+1 råi quay l¹i B3. i+1 råi quay l¹i B3.

Page 18: Bai 4 bai toan va thuat toan main

§

S

§

S

NhËp N vµ d·y a1,…,aN

Max ← a1 ; i ← 2

i > N ?

ai > Max ?

Max ← ai

i ← i + 1

§­a ra Max råi kÕt thóc

B1: NhËp N vµ d·y a1,…,aN;

B2: Max ← a1; i ← 2;

B3: NÕu i > N th× ®­a ra gi trÞ Max råi kÕt thóc;

B4 : 4.1: NÕu ai > Max th× Max ← ai;

4.2: i ← i + 1 råi quay l¹i B3.

C¸ch 2: S¬ ®å khèiC¸ch 2: S¬ ®å khèi

Page 19: Bai 4 bai toan va thuat toan main

§

S

§

S

NhËp N vµ d·y a1,…,aN

Max ← a1 ; i ← 2

I > N ?

ai> Max ?

Max ←ai

i ← i+1

§­a ra Max råi kÕt thóc

Max

i

A

77555

5432

67415N=5 ; A [ 5 1 4 7 6 ]

Max ← 5 ; i ← 2

2 > 5 ?

1> 5 ?

i ← 2+1

3 > 5 ?

4> 5 ?

i ←3+1

4 > 5 ?

7 > 5 ?

Max ←7

4

i ←4+1

5 > 5 ?

7 > 7 ?

i ←5+1

6 > 5 ? Sè lín nhÊt cña d·y lµ 7

M« pháng thuËt to¸n

Víi i = 2Víi i = 3Víi i = 4Víi i = 5

Page 20: Bai 4 bai toan va thuat toan main

§

S

§

S

NhËp N vµ d·y a1,…,aN

Max ← a1 ; i ← 2

I > N ?

ai> Max ?

Max ←ai

i ← i+1

§­a ra Max råi kÕt thóc

Max

i

A

77555

5432

67415N=5 ; A [ 5 1 4 7 6 ]

Max ← 5 ; i ← 2

2 > 5 ?

1> 5 ?

i ← 2+1

3 > 5 ?

4> 5 ?

i ←3+1

4 > 5 ?

7 > 5 ?

Max ←7

4

i ←4+1

5 > 5 ?

7 > 7 ?

i ←5+1

6 > 5 ? Sè lín nhÊt cña d·y lµ 7

Page 21: Bai 4 bai toan va thuat toan main

ThuËt to¸n kiÓm tra tÝnh nguyªn tè cña mét sè nguyªn d­¬ng

X c ®Þnh bµi to¸n:

INPUT: N lµ mét sè nguyªn d­¬ng.

OUTPUT: Tr¶ lêi c©u hái N cã lµ sè

nguyªn tè kh«ng?

Page 22: Bai 4 bai toan va thuat toan main

ý t­ëng: XÐt c¸c tr­êng hîp

C¸c em h·y nªu ®Þnh nghÜa sè

nguyªn tè.

- NÕu N ≥ 4 vµ kh«ng cã ­íc sè trong ph¹m vi tõ 2 ®Õn phÇn

nguyªn c¨n bËc hai cña N th× N lµ sè nguyªn tè.

- NÕu N = 1 th× N kh«ng lµ sè nguyªn tè.

- NÕu 1< N <4 th× N lµ sè nguyªn tè.

Page 23: Bai 4 bai toan va thuat toan main

i 2 3 4 5N/i 29/2 29/3 29/4 29/5

Chia hÕt kh«ng?

Kh«ng Kh«ng Kh«ng Kh«ng

Chia hÕtKh«ngChia hÕt kh«ng?

45/345/2N/i32i 45 kh«ng lµ sè

nguyªn tè.

29 lµ sè nguyªn tè.

Tr­êng hîp 2: N = 29 ([√ 29 ] = 5)

Tr­êng hîp 1: N = 45 ([√ 45 ] = 6)

M« pháng thuËt to¸n kiÓm tra tÝnh nguyªn tèM« pháng thuËt to¸n kiÓm tra tÝnh nguyªn tè

Page 24: Bai 4 bai toan va thuat toan main

C¸ch 1: LiÖt kª c¸c b­ícC¸ch 1: LiÖt kª c¸c b­íc

B1: NhËp sè nguyªn d­¬ng N;B1: NhËp sè nguyªn d­¬ng N;

B2: NÕu N = 1 th«ng b¸o N kh«ng nguyªn tè, kÕt thóc;B2: NÕu N = 1 th«ng b¸o N kh«ng nguyªn tè, kÕt thóc;

B3: NÕu N < 4 th«ng b¸o N lµ nguyªn tè råi kÕt thóc; B3: NÕu N < 4 th«ng b¸o N lµ nguyªn tè råi kÕt thóc;

B4: i B4: i ←←2;2;

B5: NÕu i > [B5: NÕu i > [√√N ] th× th«ng b¸o N lµ nguyªn tè, kÕt thóc;N ] th× th«ng b¸o N lµ nguyªn tè, kÕt thóc;

B6: NÕu N chia hÕt cho i th× th«ng b¸o N kh«ng nguyªn B6: NÕu N chia hÕt cho i th× th«ng b¸o N kh«ng nguyªn tè tè råi kÕt thóc; råi kÕt thóc;

B7: i B7: i ←← i +1 råi quay l¹i B5. i +1 råi quay l¹i B5.

Page 25: Bai 4 bai toan va thuat toan main

NhËp N

N =1 ?

N < 4 ?

i ← 2

i>[√N ] ?

N cã chia hÕt cho i ?

i ← i +1

Th«ng b¸o N lµ sè nguyªn tè råi kÕt thóc.

Th«ng b¸o N kh«ng lµ sè nguyªn tè råi

kÕt thóc.

§S

S

§

SS

§

§ C¸ch 2 VÏ s¬ ®å khèi

Page 26: Bai 4 bai toan va thuat toan main

ThuËt to¸n s¾p xÕp

H·y t×m c¸ch s¾p xÕp häc sinh ®øng chµo cê (h×nh a) theo thø tù thÊp tr­íc cao sau (h×nh b).

H×nh a H×nh b

Page 27: Bai 4 bai toan va thuat toan main

ThuËt to¸n s¾p xÕp b»ng tr o ®æi

Xc ®Þnh bµi to¸n:

INPUT: D·y A gåm N sè nguyªn a1, a2,…, aN.

OUTPUT: D·y A ®­îc s¾p xÕp thµnh d·y kh«ng gi¶m.

Page 28: Bai 4 bai toan va thuat toan main

ý t­ëng:

Víi mçi cÆp sè h¹ng ®øng liÒn kÒ trong d·y, nÕu sè tr­íc lín

h¬n sè sau ta ®æi vÞ trÝ chóng cho nhau. ViÖc ®ã ®­îc lÆp

l¹i cho ®Õn khi kh«ng cã sù ®æi chç nµo x¶y ra n÷a.

Page 29: Bai 4 bai toan va thuat toan main

Víi N = 6 vµ d·y A gåm 6 sè h¹ng nh­ sau :

3 5 9 8 1 7

L­ît thø nhÊt:

3 5 9 8 1 7

3 5 8 9 1 7

3 5 8 1 9 7

3 5 8 1 7 9

L­ît thø hai:

3 5 8 1 7 9

3 5 1 8 7 9

3 5 1 7 8 9

L­ît thø ba:

3 5 1 7 8 9

3 1 5 7 8 9

3 1 5 7 8 9

1 3 5 7 8 9

L­ît thø t­:

M« pháng thuËt to¸n s¾p xÕp b»ng tr o ®æiM« pháng thuËt to¸n s¾p xÕp b»ng tr o ®æi

Page 30: Bai 4 bai toan va thuat toan main

C¸ch 1: LiÖt kª c¸c b­ícC¸ch 1: LiÖt kª c¸c b­íc

B1: NhËp N, c¸c sè h¹ng aB1: NhËp N, c¸c sè h¹ng a11, a, a22,…, a,…, aNN;;

B2: M B2: M ←← N; N;

B3: NÕu M < 2 th× ®­a ra d·y A ®· s¾p xÕp råi kÕt thóc; B3: NÕu M < 2 th× ®­a ra d·y A ®· s¾p xÕp råi kÕt thóc;

B4: M B4: M ←← M – 1; i M – 1; i ←← 0; 0;

B5: i B5: i ←← i +1; i +1;

B6: NÕu i > M th× quay l¹i B3;B6: NÕu i > M th× quay l¹i B3;

B7: NÕu ai > ai+1 th× tr o ®æi ai vµ ai+1 cho nhau;

B8: Quay l¹i B5.B8: Quay l¹i B5.

Page 31: Bai 4 bai toan va thuat toan main

NhËp N vµ a1, a2,..., aN

M ← N

M < 2 ?

M ← M - 1; i ←0

i ← i + 1

i > M ?

ai > ai+1 ?

Tro ®æi ai vµ ai+1

§­a ra A ®· s¾p xÕpråi kÕt thóc

§

§

§

S

S

S

C¸ch 2 VÏ s¬ ®å khèi

Page 32: Bai 4 bai toan va thuat toan main

ThuËt to¸n t×m kiÕm

Hai b¹n chã (Bi vµ B«ng) ch¬i trèn t×m, B«ng ®· trèn vµo mét trong nh÷ng chiÕc mò cña «ng giµ N«en trªn. H·y chØ ra c¸c c¸ch t×m chiÕc mò mµ B«ng ®ang trèn? Cho biÕt cã nh÷ng c¸ch nµo?

B«ng trèn ®©u nhØ ?

C1: T×m kiÕm tuÇn tù ( më tõng mò)

C2: Do c¸c mò ®· s¾p xÕp lín dÇn, hai mò ®Çu nhá h¬nng­êi cña B«ng nªn chØ t×m hai mò sau th«i!

Page 33: Bai 4 bai toan va thuat toan main

ThuËt to¸n t×m kiÕm tuÇn tù

Xc ®Þnh bµi to¸n:

INPUT: D·y A gåm N sè nguyªn a1, a2,…, aN ®«i

mét kh c nhau vµ sè nguyªn k.

OUTPUT: ChØ sè i mµ ai = k hoÆc th«ng b¸o

kh«ng cã sè h¹ng nµo cña A b»ng k.

Page 34: Bai 4 bai toan va thuat toan main

54321I

5125118924175A

M« pháng thuËt to¸n t×m kiÕm tuÇn tù M« pháng thuËt to¸n t×m kiÕm tuÇn tù Víi k = 2 vµ d·y A gåm 10 sè h¹ng nh­ sau:

T¹i vÞ trÝ i = 5 cã a5 = 2 = k

Víi k = 6 vµ d·y A gåm 10 sè h¹ng nh­ sau:

A 5 7 1 4 2 9 8 11 25 51

I 1 2 3 4 5 6 7 8 9 10 11

Víi mäi i tõ 1 10 kh«ng cã ai cã gi trÞ b»ng 6

5

Page 35: Bai 4 bai toan va thuat toan main

ý t­ëng:

LÇn l­ît tõ sè h¹ng thø nhÊt, ta so s¸nh gi trÞ sè h¹ng

®ang xÐt víi kho (k) cho ®Õn khi cã sù trïng nhau,

nÕu ®· xÐt tíi sè h¹ng cuèi cïng mµ kh«ng cã sù trïng

nhau th× cã nghÜa lµ d·y A kh«ng cã sè h¹ng nµo cã

gi trÞ b»ng k.

Page 36: Bai 4 bai toan va thuat toan main

C¸ch 1: LiÖt kª c¸c b­ícC¸ch 1: LiÖt kª c¸c b­íc

B­íc 1: NhËp N, c¸c sè h¹ng aB­íc 1: NhËp N, c¸c sè h¹ng a11, a, a22,…, a,…, aN N

vµ gi trÞ kho k;vµ gi trÞ kho k;

B­íc 2: i B­íc 2: i ←← 1; 1;

B­íc 3: NÕu aB­íc 3: NÕu aii = k th× th«ng b¸o chØ sè i, råi kÕt thóc; = k th× th«ng b¸o chØ sè i, råi kÕt thóc;

B­íc 4: i B­íc 4: i ←← i+1; i+1;

B­íc 5: NÕu i > N th× th«ng b¸o d·y A kh«ng cã sèB­íc 5: NÕu i > N th× th«ng b¸o d·y A kh«ng cã sè h¹ng nµo cã gi trÞ b»ng k, råi kÕt thóc; h¹ng nµo cã gi trÞ b»ng k, råi kÕt thóc;

B­íc 6: Quay l¹i B3.B­íc 6: Quay l¹i B3.

Page 37: Bai 4 bai toan va thuat toan main

NhËp N, a1, a2,..., aN

vµ k

i ← 1

ai = k ?

§­a ra iråi kÕt thóc

§

S

§

i ←i + 1

i > N ?

Th«ng b¸o d·y A kh«ng cã sè h¹ng cã gi trÞ b»ng k,

råi kÕt thóc

S C¸ch 2 VÏ s¬ ®å khèi

Page 38: Bai 4 bai toan va thuat toan main

ThuËt to¸n t×m kiÕm nhÞ ph©n

ý t­ëng: Sö dông tÝnh chÊt d·y A ®· s¾p xÕp t¨ng, ta t×m c¸ch thu hÑp nhanh ph¹m vi t×m kiÕm b»ng c¸ch so s¸nh k víi sè h¹ng ë gi÷a d·y (agi÷a), khi ®ã chØ x¶y ra mét trong ba tr­êng hîp:

- NÕu agi÷a= k => t×m ®­îc chØ sè, kÕt thóc;- NÕu agi÷a > k => do d·y A ®· ®­îc s¾p xÕp t¨ng

nªn viÖc t×m kiÕm thu hÑp chØ xÐt tõ a1 agi÷a - 1; - NÕu agi÷a < k => do d·y A ®· ®­îc s¾p xÕp t¨ng

nªn viÖc t×m kiÕm thu hÑp chØ xÐt tõ agi÷a + 1 aN.

Qu tr×nh trªn ®­îc lÆp ®i lÆp l¹i cho ®Õn khi t×m ®­îc OUTPUT.

Page 39: Bai 4 bai toan va thuat toan main

M« pháng thuËt to¸n t×m kiÕm nhÞ ph©nM« pháng thuËt to¸n t×m kiÕm nhÞ ph©n

10987654321i

333130222196542A

Víi k = 21 vµ d·y A gåm 10 sè h¹ng nh­ sau:

L­ît thø nhÊt: a: agi÷agi÷a lµ a lµ a55 = 9; 9 < = 9; 9 < 21 vïng t×m kiÕm thu hÑp trong ph¹m vi tõ a vïng t×m kiÕm thu hÑp trong ph¹m vi tõ a66 a a1010;;

3331302221

L­ît thø haiL­ît thø hai: a: agi÷agi÷a lµ a lµ a88 = 30; 30 > = 30; 30 > 21

vïng t×m kiÕm thu hÑp trong ph¹m vi tõ a vïng t×m kiÕm thu hÑp trong ph¹m vi tõ a66 a a77;;

L­ît thø baL­ît thø ba: a: agi÷agi÷a lµ a lµ a66 = 21; = 21; 21= 21 21= 21

VËy sè cÇn t×m lµ i = 6.

2221

66

21

Page 40: Bai 4 bai toan va thuat toan main

LiÖt kª c¸c b­ícLiÖt kª c¸c b­íc

B­íc 1: NhËp N, c¸c sè h¹ng aB­íc 1: NhËp N, c¸c sè h¹ng a11, a, a22,…, a,…, aN N

vµ gi trÞ kho k;vµ gi trÞ kho k;

B­íc 2: §Çu B­íc 2: §Çu ←← 1, Cuèi 1, Cuèi ←← N; N;

B­íc 3: Gi÷a B­íc 3: Gi÷a ←← [(§Çu + Cuèi)/2]; [(§Çu + Cuèi)/2];

B­íc 4: NÕu aB­íc 4: NÕu aGi÷aGi÷a = k th× th«ng b¸o chØ sè Gi÷a = k th× th«ng b¸o chØ sè Gi÷a råi kÕt thóc; råi kÕt thóc;

B­íc 5: NÕu aB­íc 5: NÕu aGi÷aGi÷a > k th× ®Æt Cuèi = Gi÷a - 1 råi > k th× ®Æt Cuèi = Gi÷a - 1 råi chuyÓn sang b­íc 7; chuyÓn sang b­íc 7;

B­íc 6: §Çu B­íc 6: §Çu ←← Gi÷a + 1; Gi÷a + 1;

B­íc 7: NÕu §Çu B­íc 7: NÕu §Çu ≤≤ Cuèi th× th«ng b¸o d·y A kh«ng cã Cuèi th× th«ng b¸o d·y A kh«ng cã sè h¹ng cã gi trÞ b»ng k, råi kÕt thóc; sè h¹ng cã gi trÞ b»ng k, råi kÕt thóc;

B­íc 8: Quay l¹i b­íc 3.B­íc 8: Quay l¹i b­íc 3.

Page 41: Bai 4 bai toan va thuat toan main

1. Kh i niÖm bµi to¸n

Bµi to¸n vµ thuËt To¸nBµi to¸n vµ thuËt To¸n

2. Kh i niÖm thuËt to¸n

ThuËt to¸n gi¶i ph­¬ng tr×nh bËc hai (a ≠0).

ThuËt to¸n t×m Max cña mét d·y sè.

ThuËt to¸n kiÓm tra tÝnh nguyªn tè cña mét sè nguyªn d­¬ng.

ThuËt to¸n s¾p xÕp b»ng tr o ®æi.

ThuËt to¸n t×m kiÕm tuÇn tù vµ nhÞ ph©n.