1. Trang chủ
  2. » Công Nghệ Thông Tin

Bai 4 phan Binary Search

7 5 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

Bài của nhóm mình đến đây là kết thúc.[r]

(1)

Bài 4:

Bài 4:

Bài Toán Và

Bài Toán Và

Thuật Toán

Thuật Tốn

Nhóm 4:

Nhóm 4:

Nguyễn Tấn Quang

Nguyễn Tấn Quang

Triết ĐT

Triết ĐT

Trần Trọng Văn

Trần Trọng Văn

Lộc

Lộc

Liêm

(2)

ThuËt toán tìm kiếm

Hai bn (Bi v Bụng) chơi trốn tm, Bông trốn vào trong nhng mũ ông già Nôen Hãy cách tm mũ mà Bông trốn? Cho biết có nhng cách nào?

B«ng trốn đâu ?

C1: Tìm kiếm tuần tù ( më tõng mò)

C2: Do mũ xếp lớn dần, hai mũ đầu nhỏ hơn

(3)

Tht to¸n tìm kiÕm nhị phân

ý

t ởng:

S dụng tính chất dãy A xếp tăng, ta tỡm cách thu hẹp nhanh phạm vi tỡm kiếm cách so sánh k với số hạng dãy (agiữa), xảy ba tr ng hp:

- Nếu agiữa= k => tỡm đ îc chØ sè, kÕt thóc;

- Nếu agiữa > k => dãy A đ ợc xếp tăng nên việc tỡm kiếm thu hẹp xét từ a1  agiữa - 1;

- Nếu agiữa < k => dãy A đ ợc xếp tăng nên việc tỡm kiếm thu hẹp xét từ agiữa +  aN

(4)

M« thuật toán

Mô thuật toán

ttỡỡmm

kiếm nhị phân

kiếm nhị phân

10

10

9

9

8

8

7

7

6

6

5

5

4

4

3

3

2

2

1

1

i

i

33

33

31

31

30

30

22

22

21

21

9

9

6

6

5

5

4

4

2

2

A

A

 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 a a55 = 9; < = 9; < 21

 vïng t vïng tììm kiÕm thu hĐp ph¹m vi tõ am kiÕm thu hĐp ph¹m vi tõ a66 a a1010;;

33

33

31

31

30

30

22

22

21

21

L ỵt thø hai

L ợt thứ hai: a: agiữagiữa a a88 = 30; 30 > = 30; 30 > 21

 vïng t vïng tììm kiÕm thu hĐp ph¹m vi tõ am kiÕm thu hĐp ph¹m vi tõ a66 a a77;; L ỵt thø ba

L ợt thứ ba: a: agiữagiữa a a66 = 21; = 21; 21= 21 21= 21  VËy sè cần tỡm i =

(5)

Cách 1: Liệt kê bước

Cách 1: Liệt kê bước

B íc 1: NhËp N, c¸c sè hạng a

B ớc 1: Nhập N, số hạng a11, a, a22,,, a, aN N

và giá trị khoá k;

và giá trị khoá k;

B íc 2:

B íc 2: ĐĐÇu Çu  1, Cuèi 1, Cuèi  N; N;

B íc 3: Gi

B íc 3: Giữữa a  [( [(ĐĐÇu + Ci)/2];Çu + Ci)/2];

B íc 4: NÕu a

B íc 4: NÕu aGi÷aGi÷a = k th = k thỡỡ thông báo số Gi thông báo số Gia a

kÕt thóc;

råi kÕt thóc;

B íc 5: NÕu a

B ớc 5: Nếu aGiữaGiữa > k th > k thỡỡ đặt Cuối = Gi đặt Cuối = Giữữa - rồia - rồi

chun sang b íc 7;

chun sang b íc 7;

B íc 6:

B íc 6: ĐầuĐầu  Gi Giữữa + 1;a + 1;

B íc 7: NÕu

B íc 7: NÕu ĐĐÇu Çu  Ci th Ci thìì thông báo dÃy A thông báo dÃy A không có

số hạng có giá trị k, råi kÕt thóc;

sè h¹ng cã giá trị k, kết thúc;

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

(6)

Quy ớc khối sơ đồ thuật toán

Quy ớc khối sơ đồ thuật toán

Bắt đầu thuật toán

Bắt đầu thuật toán

Dùng để nhập xuất d

Dùng để nhập xuất dữữ liệu liệu.

Dùng để gán giá trị tính tốn.

Dùng để gán giá trị tính tốn.

XÐt ®iỊu kiƯn rÏ nhánh theo

Xét điều kiện rẽ nhánh theo mét

trong hai điều kiện đúng, sai.

trong hai điều kiện đúng, sai.

KÕt thóc tht to¸n

KÕt thóc tht to¸n

ĐK

đ

S

KT

(7)

Ngày đăng: 03/06/2021, 01:12

w