wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

THUẬT TOÁN TIM KIẾM_SX

Total questions: 45

Worksheet time: 22mins

Name
Class
Date
1.

Trong bài toán tìm kiếm nhị phân, đối với dãy đã sắp xếp tăng dần khi nào phạm vi tìm kiếm nằm ở nửa sau của dãy:

a)

Khi số cần tìm nhỏ hơn phần tử giữa của phạm vi tìm kiếm.

b)

Khi số cần tìm lớn hơn phần tử giữa của phạm vi tìm kiếm

c)

Khi số cần tìm lớn hơn phần tử đầu tiên của dãy.

d)

Khi số cần tìm nhỏ hơn phần tử cuối cùng của dãy.

2.

Điều gì xảy ra khi thuật toán tìm kiếm nhị phân không tìm thấy giá trị cần tìm trong danh sách?

a)

Tiếp tục tìm kiếm và không bao giờ kết thúc.

b)

Thông báo “Tìm thấy” và tìm tiếp xem còn phần tử nào khác nữa không.

c)

Thông báo “Tìm thấy” và kết thúc.

d)

Thông báo “Không tìm thấy” và kết thúc.

3.

Để tìm kiếm một số trong dãy số bằng thuật toán tìm kiếm nhị phân, ta thực hiện:

a)

So sánh số cần tìm với số ở giữa dãy số.

b)

Sắp xếp dãy số theo thứ tự tăng dần.

c)

So sánh lần lượt từ số đầu tiên trong dãy số với số cần tìm.

d)

Lấy ngẫu nhiên một số trong dãy số để so sánh với số cần tìm.

4.

Cho dãy số 2, 4, 6, 8, 9. Bài toán “Tìm vị trí của số 8 trong dãy”, cho kết quả là:

a)

1

b)

2

c)

3

d)

4

5.

Trong bài toán tìm kiếm nhị phân, đối với dãy đã sắp xếp tăng dần khi nào phạm vi tìm kiếm nằm ở nửa đầu của dãy:

a)

Khi số cần tìm lớn hơn phần tử giữa của phạm vi tìm kiếm.

b)

Khi số cần tìm nhỏ hơn phần tử giữa của phạm vi tìm kiếm.

c)

Khi số cần tìm lớn hơn phần tử đầu tiên của dãy.

d)

Khi số cần tìm nhỏ hơn phần tử cuối cùng của dãy.

6.

Tìm kiếm nhị phân là:

a)

Tìm kiếm lần lượt từ đầu tới cuối dãy.

b)

Tìm kiếm ở đầu dãy.

c)

Tìm kiếm bằng cách chia dãy làm hai nửa, loại bỏ nửa dãy chắc chắn không chứa phần tử cần tìm, chỉ tìm kiếm trong nửa dãy còn lại.

d)

Tìm kiếm ở cuối dãy.

7.

Thuật toán tìm kiếm nhị phân bắt đầu thực hiện ở vị trí nào trong danh sách?

a)

Vị trí đầu tiên.

b)

Vị trí cuối cùng.

c)

Vị trí giữa.

d)

Bất kì vị trí nào.

8.

Khẳng định nào sau đây là đúng khi nói về thuật toán tìm kiếm nhị phân?

a)

Thuật toán tìm kiếm nhị phân chỉ áp dụng được cho dãy đã sắp xếp thứ tự.

b)

Thuật toán tìm kiếm nhị phân áp dụng được cho mọi bài toán.

c)

Thuật toán tìm kiếm nhị phân áp dụng được cho dãy đã sắp xếp thứ tự và dãy không sắp xếp thứ tự .

d)

Thuật toán tìm kiếm nhị phân chỉ áp dụng được cho dãy không sắp xếp thứ tự.

9.

Cho dãy số 2, 4, 6, 8, 9. Bài toán “Tìm vị trí của số 8 trong dãy”, có phạm vi tìm kiếm là:

a)

Nửa dãy đầu.

b)

Tất cả dãy.

c)

Nửa dãy sau.

d)

Không có phạm vi.

10.

Điều gì xảy ra khi thuật toán tìm kiếm nhị phân không tìm thấy giá trị cần tìm trong danh sách?

a)

Tiếp tục tìm kiếm và không bao giờ kết thúc.

b)

Thông báo “Tìm thấy” và tìm tiếp xem còn phần tử nào khác nữa không.

c)

Thông báo “Tìm thấy” và kết thúc.

d)

Thông báo “Không tìm thấy” và kết thúc.

11.

Để tìm kiếm một số trong dãy số bằng thuật toán tìm kiếm nhị phân, ta thực hiện:

a)

So sánh số cần tìm với số ở giữa dãy số.

b)

Sắp xếp dãy số theo thứ tự tăng dần.

c)

So sánh lần lượt từ số đầu tiên trong dãy số với số cần tìm.

d)

Lấy ngẫu nhiên một số trong dãy số để so sánh với số cần tìm.

12.
Thuật toán tìm kiếm nhị phân cần thực hiện bao nhiêu bước lặp để tìm thấy số 12 trong danh sách [3, 5, 7, 11, 12, 25]?
a)

2

b)

3

c)

4

d)

5

13.
Trong thuật toán tìm kiếm nhị phân, khi so sánh giá trị cần tìm với giá trị ở vị trí giữa, nếu giá trị cần tìm nhỏ hơn giá trị ở vị trí giữa thì:
a)

Tìm trong nửa sau của danh sách.

b)

Tìm trong nửa đầu của danh sách.

c)

Dừng lại.

d)

Tìm trong nửa đầu hoặc nửa sau của danh sách.

14.
Điều kiện lặp của thuật toán tìm kiếm nhị phân là gì?
a)

Chưa tìm thấy phần tử cần tìm.

b)

Chưa hết danh sách.

c)

Chưa tìm thấy phần tử cần tìm hoặc chưa hết danh sách.

d)

Chưa tìm thấy phần tử cần tìm và chưa hết danh sách.

15.
Chọn câu diễn đạt đúng hoạt động của thuật toán tìm kiếm nhị phân
a)

Tìm trên danh sách đã sắp xếp, bắt đầu từ đầu danh sách, nếu chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.

b)

Tìm trên danh sách bất kì, bắt đầu từ giữa danh sách, nếu chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.

c)

Tìm trên danh sách đã sắp xếp, bắt đầu từ giữa danh sách, nếu chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp.

d)

Tìm trên danh sách bất kì, bắt đầu từ đầu danh sách, nếu chưa tìm thấy hoặc chưa tìm hết thì còn tìm tiếp

16.
Tại mỗi bước lặp, thuật toán tìm kiếm nhị phân sẽ:
a)

Thu hẹp danh sách tìm kiếm chỉ còn một nửa.

b)

Danh sách sẽ được sắp xếp lại.

c)

Các phần tử trong danh sách ban đầu sẽ giảm một nửa.

d)

Đáp án khác.

17.

Thuật toán tìm kiếm nhị phân cần bao nhiêu bước để tìm thấy “Mai” trong danh sách ["Hoa”, "Lan”, "Ly", "Mai", “Phong”, "Vị"]?

a)

1

b)

2

c)

3

d)

4

18.
Bài toán nào sau đây áp dụng được thuật toán tìm kiếm nhị phân?
a)

Tìm số 5 trong dãy [1, 2, 3, 4, 5, 6]

b)

Tìm số 5 trong dãy [1, 5, 3, 6]

c)

Tìm số 5 trong dãy [6, 5, 4, 3, 2, 1]

d)

Tìm số 5 trong dãy [6, 5, 4, 3, 2, 1] và dãy [1, 2, 3, 4, 5, 6]

19.
Tư tưởng của thuật toán tìm kiếm nhị phân là gì?
a)
Tìm kiếm dựa vào cây tìm kiếm.
b)
Tìm kiếm từ đầu đến cuối dãy.
c)
Tại mỗi bước tiến hành so sánh X với phần tử giữa của dãy. Dựa vào bước so sánh này quyết định tìm kiếm ở nửa đầu hay ở nửa sau của danh sách.
d)
So sánh X lần lượt với các phần tử a1, a2, …, an
20.
Lợi ích của việc sắp xếp trong tìm kiếm là?
a)
Giúp tìm kiếm chính xác hơn.
b)
Giúp tìm kiếm nhanh hơn.
c)
Giúp tìm kiếm đầy đủ hơn.
d)
Không có lợi ích gì
21.
Khi so sánh giá trị cần tìm với giá trị của vị trí giữa, nếu giá trị cần tìm nhỏ hơn giá trị giữa thì:
a)
Tìm trong nửa đầu của danh sách.
b)
Tìm trong nửa sau của danh sách.
c)
Dừng lại.
d)
Tìm trong nửa đầu hoặc nửa sau của danh sách.
22.
Vị trí giữa của vùng tìm kiếm được tính như thế nào?
a)
Vị trị cuối – vị trí đầu +1
b)
(Vị trị cuối – vị trí đầu)/2
c)
(Vị trị cuối + vị trí đầu)/2
d)
Vị trị cuối + vị trí đầu -1
23.

Phương pháp tìm kiếm nhị phân hoạt động như thế nào?

a)

Phương pháp tìm kiếm nhị phân hoạt động bằng cách tìm kiếm từng phần tử trong mảng và so sánh với giá trị tìm kiếm.

b)

Phương pháp tìm kiếm nhị phân hoạt động bằng cách sắp xếp mảng theo thứ tự ngẫu nhiên và tìm kiếm giá trị trong mảng đã sắp xếp.

c)

Phương pháp tìm kiếm nhị phân hoạt động bằng cách tìm kiếm từng phần tử trong mảng và so sánh với giá trị tìm kiếm theo thứ tự ngẫu nhiên.

d)

Phương pháp tìm kiếm nhị phân hoạt động bằng cách chia mảng đã được sắp xếp thành hai phần và so sánh giá trị tìm kiếm với giá trị ở phần giữa.

24.

Tìm kiếm nhị phân được sử dụng trong lĩnh vực nào?

a)

Tìm kiếm và lưu trữ dữ liệu.

b)

Tìm kiếm và sắp xếp dữ liệu.

c)

Tìm kiếm và phân tích dữ liệu.

d)

Tìm kiếm và xử lý dữ liệu.

25.

Giải thuật tìm kiếm nhị phân chỉ hoạt động trên dãy số đã được sắp xếp tăng dần. Đúng hay sai?

a)

Đúng

b)

Sai

c)

Không biết

d)

Chưa rõ

26.

Tìm kiếm nhị phân có độ phức tạp thời gian là bao nhiêu?

a)

O(n)

b)

O(log n)

c)

O(n^2)

d)

O(1)

27.

Khi tìm kiếm nhị phân, nếu phần tử cần tìm nằm ở giữa dãy số, ta sẽ làm gì?

a)

Tiếp tục tìm kiếm ở nửa dãy số mà phần tử cần tìm nằm trong đó.

b)

Tìm kiếm ở phần tử sau đó của dãy số.

c)

Tìm kiếm ở phần tử trước đó của dãy số.

d)

Dừng tìm kiếm vì đã tìm thấy phần tử cần tìm.

28.

Để tìm kiếm một số trong dãy số bằng thuật toán tìm kiếm tuần tự, ta thực hiện:

a)

Lấy ngẫu nhiên một số trong dãy số để so sánh với số cần tìm

b)

So sánh lần lượt từ số đầu tiên trong dãy số với số cần tìm

c)

Sắp xếp dãy số theo thứ tự tăng dần

d)

So sánh số cần tìm với số ở giữa dãy số

29.

Cho dãy số A = {24, 28, 14, 18, 19, 12, 19}. Để tìm kiếm số 19 trong dãy theo thuật toán tìm kiếm tuần tự cần thực hiện mấy lần lặp?

a)

5 lần

b)

6 lần

c)

7 lần

d)

8 lần

30.

Cho dãy số A = {24, 28, 14, 18, 19, 12, 19}. Để tìm kiếm số 39 trong dãy theo thuật toán tìm kiếm tuần tự cần thực hiện mấy lần lặp?

a)

5 lần

b)

6 lần

c)

7 lần

d)

8 lần

31.

Với dãy số lần lượt là: 12, 14, 15, 18, 19, 21, 24, 25, 26. Nếu thực hiện theo thuật toán tìm kiếm nhị phân để tìm số 21 ta cần thực hiện mấy lần lặp?

a)

2 lần

b)

3 lần

c)

4 lần

d)

5 lần

32.

Với thuật toán tìm kiếm nhị phân. Hãy sắp xếp các bước thực hiện ở mỗi lần lặp:

1. So sánh giá trị cần tìm với giá trị của phần tử giữa dãy đang xét.

2. Nếu nhỏ hơn thì xét dãy ở nửa trước, nếu lớn hơn thì xét dãy ở nửa sau.

3. Nếu bằng nhau thì thông báo vị trí tìm thấy và kết thúc.

4. Nếu dãy rỗng thì thông báo không tìm thấy và kết thúc tìm kiếm, không thì quay lại bước 1.

a)

1 – 2 – 3 – 4

b)

1 – 3 – 4 – 2

c)

1 – 3 – 2 – 4

d)

1 – 2 – 4 – 3

33.

cho danh sách sau: 40, 68, 89, 83,19, 71, 82, 22 nên sử dụng phương pháp tìm kiếm nào

a)

Tìm kiếm nhị phân

b)

Tất cả đều sai

c)

Giải thuật Quicksort

d)

Tìm kiếm tuần tự

34.

Trong Phương pháp tìm kiếm nhị phân, cần các biến nào sau đây

a)

Left

b)

Right

c)

Mid

d)

Tất cả đều đều đúng

35.

Trong Phương pháp tìm kiếm nhị phân khi tìm khóa key trong danh sách mảng 1 chiều, các biến left, right mid là:

a)

Danh sách của mảng

b)

Giá trị của mảng

c)

tất cả đều đúng

d)

Chỉ số của mảng

36.

Thuật toán tìm kiếm tuần tự yêu cầu danh sách cần tìm phải được sắp xếp. 

a)

Đúng

b)

Sai

37.

Hoán đổi vị trí hai phần tử liên tiếp khi chúng không đúng thứ tự là cách sắp xếp của thuật toán nào?

a)

Nổi bọt

b)

Chọn

38.

Dùng thuật toán sắp xếp nổi bọt để sắp xếp một dãy số tăng dần. Mỗi vòng lặp sẽ duyệt các phần tử từ cuối danh sách đến đầu danh sách. Kết thúc vòng lặp thứ nhất, phần tử đầu tiên sẽ có giá trị:

a)

Nhỏ nhất trong dãy số.

b)

Lớn nhất trong dãy số.

c)

Không thay đổi.

d)

Bằng giá trị của phần tử liền trước.

39.

Các nhiệm vụ để thực hiện việc sắp xếp gồm

a)

So sánh

b)

Đổi chỗ

c)

So sánh và đổi chỗ

d)

Đổi chỗ và xoá

40.

Cho dãy số sau: 15, 20, 10, 18.  Bạn Minh sử dụng thuật toán sắp xếp nổi bọt để sắp xếp dãy số tăng dần. Mỗi vòng lặp sẽ duyệt từ phần tử cuối đến phần tử đầu tiên. Em hãy chọn phương án mô tả đúng dãy số sắp xếp sau mỗi vòng lặp.

a)

15, 20, 10, 18→10, 15, 18, 20→ 10, 15, 18, 20

b)

15, 20, 10, 18 → 10, 20, 15, 18→ 10, 15, 20, 18 → 10, 15, 18, 20.

c)

15, 20, 10, 18→ 15, 10, 20, 18→ 10, 15, 18, 20.

d)

15, 20, 10, 18→10, 15, 20, 18→ 10, 15, 18, 20

41.

Đâu là phát biểu đúng khi nói đến thuật toán tìm kiếm tuần tự?

a)

Thực hiện tìm lần lượt từ đầu đến cuối danh sách.

b)

Khi chưa tìm thấy và chưa tìm hết thì còn tìm tiếp.

c)

Cả A, B đúng.

d)

Cả A, B sai.

42.
 Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách nào?
a)
Thay thế.
b)
Thay đổi.
c)
Hoán đổi.
d)
Cả A, B và
43.
 Cho dãy số: 15, 1, 31, 9, 78, 42. Nếu sử dụng thuật toán sắp xếp nổi bọt để sắp xếp dãy trên tăng dần thì sau bao nhiêu lượt đổi chỗ thì thuật toán kết thúc?
a)
2
b)
3
c)
4
d)
5
44.
 Trong thuật toán sắp xếp nổi bọt kết thúc khi nào?
a)
Khi các phần tử đã nằm đúng thứ tự mong muốn.
b)
Không còn bất kì cặp liền kề trái thứ tự mong muốn.
c)
Không còn xảy ra đổi chỗ lần nào nữa.
d)
Cả A, B và
45.
 Thuật toán sắp xếp nổi chọn xét từng vị trí phần tử từ:
a)
Đầu đến cuối
b)
Cuối đến đầu
c)
Giữa đến đầu
d)
Giữa đến cuối