LẬP TRÌNH CĂN BẢN - Trang 152

/codegym.vn/ - 147

12.

}

else

{

13.

if

(

intArray

[

midPoint

]

<

data

)

{

14. lowerBound

=

midPoint

+

1

;

15.

}

else

{

16. upperBound

=

midPoint

-

1

;

17.

}

18.

}

19.

}

20.

return

index

;

21.

}

Bước 2: Khai báo mảng các số nguyên đã được sắp xếp và giá trị cần tìm:

1.

let

array

=

[

1

,

2

,

3

,

4

,

6

,

7

,

9

,

11

,

12

,

14

,

15

,

16

,

17

,

19

,

33

,

34

,

43

,

45

,

55

,

66

];

2.

let

data

=

9

;

Bước 3: Truyền mảng các số nguyên và giá trị cần tìm đã được khai báo như đối số
của hàm binarySearch:

1.

let

index

=

binarySearch

(

data

,

array

);

Bước 4: Hiển thị vị trí tìm thấy giá trị cần tìm trong mảng:

1.

if

(

index

!=

-

1

)

{

2. console

.

log

(

data

+

' is found at the location: '

+

index

);

3.

}

else

{

4. console

.

log

(

'not found'

);

5.

}

Bước 5: Chạy và quan sát kết quả.
Link mã nguồn tham khảo: https://github.com/codegym-vn/introduction-to-
programming-with-javascript/blob/main/chapter-07/exercise-01-thuat-toan-tim-kiem-
nhi-phan.html

Bài 2: Tìm một giá trị trong mảng sử dụng thuật toán tìm kiếm tuyến tính

Mục tiêu:
Luyện tập sử dụng thuật toán tìm kiếm tuyến tính

tả:

Cho trước 1 mảng các số nguyên đã được sắp xếp như sau:

array = [1, 2, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17, 19, 33, 34, 43, 45, 55, 66];

Hãy tìm số có giá trị bằng 9 được lưu trữ tại vị trí nào trong mảng.
Hướng

dẫn:

Bước 1: Xây dựng hàm linearSearch(data, intArray) có 2 tham số hình thức là giá trị
cần tìm và mảng các số nguyên đã được sắp xếp.

1.

function

linearSearch

(

data

,

intArray

)

{

2.

let

index

=

-

1

;

3.

for

(

let

i

=

0

;

i

<

intArray

.

length

;

i

++){

4.

if

(

data

==

intArray

[

i

]){

5.

index

=

i

;

6.

}

7.

}

8.

return

index

;

9.

}