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.

}

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.