wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Trắc Nghiệm Tìm Kiếm Tuyến Tính

Total questions: 60

Worksheet time: 38mins

Name
Class
Date
1.

Xét mảng A sau và phần tử cần tìm kiếm là X. Cần bao nhiêu phép so sánh để tìm kiếm phần tử X trong mảng A. Biết A=[25,45,87,21,18,49,13,115,83,65], X=83.

a)

7

b)

8

c)

9

d)

10

2.

Câu nào sau đây là đúng về tìm kiếm trong cấu trúc dữ liệu mảng có N phần tử?

a)

Cả 2 ý đều đúng

b)

Chỉ có 1 đúng

c)

Chỉ có 2 đúng

d)

Cả 2 ý đều sai.

3.

Trường hợp tốt nhất cho tìm kiếm tuyến tính là gì?

a)

O(nlogn)

b)

O(logn)

c)

O(n)

d)

O(1)

4.

Trường hợp tệ nhất của tìm kiếm tuyến tính là gì?

a)

O(nlogn)

b)

O(logn)

c)

O(n)

d)

O(1)

5.

Độ phức tạp trong trường hợp tốt nhất và xấu nhất của tìm kiếm tuyến tính có thứ tự là bao nhiêu?

4 lines
6.

Độ phức tạp trong trường hợp tốt nhất và xấu nhất của tìm kiếm tuyến tính có thứ tự là bao nhiêu?

a)

O(nlogn), O(logn)

b)

O(logn), O(nlogn)

c)

O(n), O(1)

d)

O(1), O(n)

7.

Điểm nào sau đây là nhược điểm của tìm kiếm tuyến tính?

a)

Cần nhiều không gian hơn

b)

Độ phức tạp về thời gian lớn hơn so với các thuật toán tìm kiếm khác

c)

Không dễ hiểu

d)

Không dễ triển khai

8.

Thuật toán tìm kiếm nhảy yêu cầu điều kiện nào sau đây là đúng?

a)

mảng phải được sắp xếp

b)

mảng không được sắp xếp

c)

mảng phải có ít hơn 64 phần tử

d)

mảng phải được sắp xếp một phần

9.

Các bước nhảy được thực hiện trong thuật toán tìm kiếm nhảy cho đến khi ___________

a)

phần tử có giá trị nhỏ hơn giá trị của phần tử cần tìm được

b)

phần tử có giá trị bằng giá trị trung vị của các giá trị trong mảng được tìm thấy

c)

phần tử có giá trị lớn hơn giá trị của phần tử cần tìm được

d)

phần tử ở giữa được tìm thấy bằng với phần tử đang được tìm kiếm

10.

Bước nào sau đây được thực hiện sau khi tìm thấy một phần tử có giá trị lớn hơn phần tử đang được tìm kiếm?

a)

Tìm kiếm tuyến tính diễn ra theo hướng thuận

b)

Tìm kiếm tuyến tính diễn ra theo hướng ngược

c)

Tìm kiếm nhị phân diễn ra theo hướng thuận

d)

Tìm kiếm nhị phân diễn ra theo hướng ngược

11.

Có bao nhiêu lần nhảy sẽ được thực hiện trong trường hợp tệ nhất của tìm kiếm nhảy (cho khối nhảy = k)?

a)

n * k

b)

n / k

c)

k / n

d)

n + k

12.

Số lượng so sánh tối đa có thể thực hiện trong thuật toán tìm kiếm nhảy là bao nhiêu (giả sử k là các khối đã nhảy)?

a)

k

b)

n/k

c)

k-1

d)

k-1

13.

Giá trị của bước nhảy được thực hiện để đạt hiệu quả tối đa khi triển khai tìm kiếm nhảy là bao nhiêu?

a)

n/2

b)

n2

c)

n1/2

d)

log n

14.

của bước nhảy được thực hiện để đạt hiệu quả tối đa khi triển khai tìm kiếm nhảy là bao nhiêu?

a)

n/2

b)

n2

c)

n1/2

d)

log n

15.

Thuật toán tìm kiếm nào sau đây là nhanh nhất?

a)

tìm kiếm nhảy

b)

tìm kiếm nhị phân

c)

tìm kiếm tuyến tính

d)

tất cả đều nhanh như nhau

16.

Trong trường hợp nào sau đây, tìm kiếm nhảy sẽ được ưu tiên hơn tìm kiếm nhị phân?

a)

nhảy ngược mất nhiều thời gian hơn đáng kể so với nhảy tiến

b)

nhảy tiến mất nhiều thời gian hơn đáng kể so với nhảy lùi

c)

khi mảng cho trước có kích thước rất lớn

d)

khi mảng cho trước có kích thước rất nhỏ

17.

Trường hợp tốt nhất của tìm kiếm nhảy sẽ có độ phức tạp thời gian là _________

a)

O(1)

b)

O(n)

c)

O(logn)

d)

O(nlogn)

18.

Điều kiện nào sau đây là mong muốn nhất cho tìm kiếm nội suy?

4 lines
19.

Điều kiện nào sau đây là mong muốn nhất cho tìm kiếm nội suy?

a)

mảng phải được sắp xếp

b)

mảng không được sắp xếp nhưng các giá trị phải được phân bổ đều

c)

mảng phải có ít hơn 64 phần tử

d)

mảng phải được sắp xếp và các giá trị phải được phân bổ đều

20.

Tìm kiếm nội suy là một biến thể của?

a)

Tìm kiếm tuyến tính

b)

Tìm kiếm nhị phân

c)

Tìm kiếm nhảy

d)

Tìm kiếm mũ

21.

Tìm kiếm nội suy thực hiện tốt hơn tìm kiếm nhị phân khi nào?

a)

Mảng có các giá trị phân bố đều nhưng không được sắp xếp

b)

Mảng được sắp xếp và có các giá trị phân bố đều

c)

Mảng được sắp xếp nhưng các giá trị không được phân bố đều

d)

Mảng không được sắp xếp

22.

Trong trường hợp nào sau đây, tìm kiếm nhảy thực hiện tốt hơn tìm kiếm nội suy?

a)

Khi mảng có các giá trị phân phối đều nhưng không được sắp xếp

b)

Khi mảng được sắp xếp và có phân phối đồng đều các giá trị

c)

Khi mảng được sắp xếp nhưng các giá trị tăng theo cấp số nhân

d)

Khi mảng không được sắp xếp

23.

Độ phức tạp thời gian của tìm kiếm nội suy là bao nhiêu khi mảng đầu vào có các giá trị phân bố đều và được sắp xếp?

a)

O(n)

b)

O(log log n)

c)

O(n log n)

d)

O(log n)

24.

Thuật toán tìm kiếm nào sau đây là nhanh nhất khi mảng đầu vào được sắp xếp và có các giá trị phân phối đều?

a)

tìm kiếm nhảy

b)

tìm kiếm mũ

c)

tìm kiếm nhị phân

d)

tìm kiếm nội suy

25.

Thuật toán tìm kiếm nào sau đây là nhanh nhất khi mảng đầu vào được sắp xếp nhưng có các giá trị phân phối không đồng đều?

a)

tìm kiếm nhảy

b)

tìm kiếm tuyến tính

c)

tìm kiếm nhị phân

d)

tìm kiếm nội suy

26.

Thuật toán tìm kiếm nào sau đây là nhanh nhất khi mảng đầu vào không được sắp xếp nhưng có các giá trị phân bố đều?

a)

tìm kiếm nhảy

b)

tìm kiếm tuyến tính

c)

tìm kiếm nhị phân

d)

tìm kiếm nội suy

27.

Công thức nào được sử dụng để tính vị trí trong tìm kiếm nội suy?

a)

((x - A[low]) * (high - low)) / (A[high] - A[low])

b)

high + ((x - A[low]) * (high - low)) / (A[high] - A[low])

c)

low + ((x - A[low]) * (high - low)) / (A[high] - A[low])

d)

x + ((x - A[low]) * (high - low)) / (A[high] - A[low])

28.

Giá trị cập nhật của high và low trong mảng là bao nhiêu nếu phần tử đang được tìm kiếm lớn hơn giá trị tại chỉ số được tính toán trong tìm kiếm nội suy? (pos = vị trí hiện tại)

a)

low = pos + 1, high không đổi

b)

high = pos - 1, low không đổi

c)

low = low +1, high = high - 1

d)

low = pos +1, high = pos - 1

29.

Giá trị cập nhật của high và low trong mảng là bao nhiêu nếu phần tử đang được tìm kiếm thấp hơn giá trị tại chỉ mục được tính toán trong tìm kiếm nội suy? (pos = vị trí hiện tại)

a)

low = pos + 1, high không đổi

b)

high = pos - 1, low không đổi

c)

low = low +1, high = high - 1

d)

low = pos +1, high = pos - 1

30.

Thuật toán tìm kiếm nào sau đây là nhanh nhất?

a)

tìm kiếm nhị phân

b)

tìm kiếm tuyến tính

c)

tìm kiếm nhảy

d)

tất cả đều nhanh như nhau

31.

Tìm kiếm tuyến tính được sử dụng ở đâu?

a)

Được sử dụng mọi lúc

b)

Khi danh sách chỉ có một vài phần tử

c)

Khi thực hiện một tìm kiếm duy nhất trong danh sách không có thứ tự

d)

Khi danh sách chỉ có một vài phần tử và Khi thực hiện một tìm kiếm duy nhất trong danh sách không có thứ tự

32.

Làm thế nào để cải thiện Jump Search?

a)

Kích thước bước phải khác sqrt(n)

b)

Không thể cải thiện

c)

Bắt đầu từ mục thứ k, trong đó k là kích thước bước

d)

Bắt đầu tìm kiếm từ cuối

33.

Thuật toán tìm kiếm nào sau đây được sử dụng với sắp xếp theo cấp số nhân sau khi tìm thấy phạm vi thích hợp?

a)

Tìm kiếm nhảy

b)

Tìm kiếm Fibonacci

c)

Tìm kiếm tuyến tính

d)

Tìm kiếm nhị phân

34.

Thuật toán tìm kiếm nào sau đây là nhanh nhất khi mảng đầu vào không được sắp xếp nhưng có các giá trị phân bố đều?

a)

tìm kiếm tuyến tính

b)

tìm kiếm nhảy

c)

tìm kiếm nội suy

d)

tìm kiếm nhị phân

35.

Độ phức tạp thời gian của thuật toán Z để tìm kiếm mẫu là bao nhiêu (m = độ dài của văn bản, n = độ dài của mẫu)?

a)

O(n)

b)

O(m)

c)

O(n + m)

d)

O(m * n)

36.

Trong trường hợp nào thì tìm kiếm nhị phân thống nhất không hiệu quả so với tìm kiếm nhị phân?

4 lines
37.

Trong trường hợp nào thì tìm kiếm nhị phân thống nhất không hiệu quả so với tìm kiếm nhị phân?

a)

Độ phức tạp của mã

b)

Nhiều tìm kiếm sẽ được thực hiện trên một số mảng có cùng độ dài

c)

Nhiều tìm kiếm sẽ được thực hiện trên cùng một mảng

d)

Tra cứu bảng thường nhanh hơn phép cộng và phép dịch chuyển

38.

Tìm kiếm nội suy là một biến thể của?

a)

Tìm kiếm theo hàm mũ

b)

Tìm kiếm tuyến tính

c)

Tìm kiếm nhị phân

d)

Tìm kiếm nhảy

39.

Ứng dụng nào sau đây không phải là ứng dụng của tìm kiếm nhị phân?

a)

Tìm kiếm trong danh sách không có thứ tự

b)

Gỡ lỗi

c)

Hợp các khoảng

d)

Tìm giới hạn dưới/trên trong một chuỗi có thứ tự

40.

Bước nào sau đây được thực hiện sau khi tìm thấy một phần tử có giá trị lớn hơn phần tử đang được tìm kiếm?

a)

Tìm kiếm nhị phân diễn ra theo hướng thuận

b)

Tìm kiếm nhị phân diễn ra theo hướng ngược

c)

Tìm kiếm tuyến tính diễn ra theo hướng thuận

d)

Tìm kiếm tuyến tính diễn ra theo hướng ngược

41.

Câu nào sau đây không phải là ưu điểm của Tìm kiếm Fibonacci?

a)

Khi phần tử đang được tìm kiếm có bộ nhớ truy cập không đồng nhất

b)

Có thể áp dụng hiệu quả trên các mảng chưa được sắp xếp

c)

Có thể sử dụng cho các mảng lớn không vừa với bộ nhớ đệm CPU hoặc RAM

d)

Có thể sử dụng trong băng từ

42.

Trong trường hợp nào sau đây, tìm kiếm nhảy sẽ được ưu tiên hơn tìm kiếm theo cấp số nhân?

a)

khi mảng cho trước có kích thước rất nhỏ

b)

khi mảng cho trước có kích thước rất lớn

c)

nhảy ngược lại mất nhiều thời gian hơn đáng kể so với nhảy về phía trước

d)

nhảy về phía trước mất nhiều thời gian hơn đáng kể so với nhảy về phía sau

43.

Trong trường hợp nào tìm kiếm nhảy sẽ không hiệu quả?

a)

Khi mảng có kích thước rất lớn

b)

Khi mảng không được sắp xếp

c)

Khi mảng có các giá trị phân bố không đồng đều

d)

Khi mảng được sắp xếp

44.

Độ phức tạp thời gian của tìm kiếm nhị phân là gì khi mảng đã được sắp xếp?

a)

O(n)

b)

O(log n)

c)

O(n log n)

d)

O(1)

45.

Điều kiện nào sau đây là cần thiết để áp dụng tìm kiếm nhảy?

a)

Mảng phải được sắp xếp

b)

Mảng không được sắp xếp

c)

Các giá trị trong mảng phải phân bố ngẫu nhiên

d)

Mảng phải có ít hơn 100 phần tử

46.

Trong thuật toán tìm kiếm nhị phân, điều kiện nào là cần thiết để thuật toán hoạt động hiệu quả?

a)

Mảng phải được sắp xếp

b)

Mảng không được sắp xếp

c)

Các giá trị trong mảng phải phân bố ngẫu nhiên

d)

Mảng phải có ít hơn 50 phần tử

47.

Độ phức tạp thời gian của tìm kiếm nhảy trong trường hợp tệ nhất là gì?

a)

O(n)

b)

O(log n)

c)

O(n log n)

d)

O(1)

48.

Trong trường hợp nào tìm kiếm nhị phân sẽ không hoạt động hiệu quả?

a)

Khi mảng không được sắp xếp

b)

Khi mảng có kích thước rất nhỏ

c)

Khi mảng có các giá trị phân bố đều

d)

Khi mảng được sắp xếp

49.

Tìm kiếm nhảy có thể được cải thiện bằng cách nào?

a)

Giảm kích thước bước

b)

Tăng kích thước bước

c)

Thay đổi cách sắp xếp mảng

d)

Không có cách nào

50.

Điều kiện nào là cần thiết để áp dụng tìm kiếm nội suy?

a)

Mảng phải được sắp xếp và có các giá trị phân bố đều

b)

Mảng không được sắp xếp

c)

Các giá trị trong mảng phải phân bố ngẫu nhiên

d)

Mảng phải có ít hơn 100 phần tử

51.

Độ phức tạp thời gian của tìm kiếm nhảy trong trường hợp xấu nhất là bao nhiêu?

a)

O(n)

b)

O(log n)

c)

O(n^2)

d)

O(1)

52.

Trong trường hợp nào tìm kiếm nhảy sẽ không hiệu quả?

a)

Khi mảng đã được sắp xếp

b)

Khi mảng có kích thước rất lớn

c)

Khi mảng có nhiều phần tử trùng lặp

d)

Khi mảng có ít hơn 10 phần tử

53.

Độ phức tạp thời gian của tìm kiếm nhị phân trong trường hợp tốt nhất là gì?

a)

O(n)

b)

O(log n)

c)

O(1)

d)

O(n log n)

54.

Điều kiện nào là cần thiết để áp dụng tìm kiếm nhảy một cách hiệu quả?

a)

Mảng phải được sắp xếp

b)

Mảng không được sắp xếp

c)

Các giá trị trong mảng phải phân bố ngẫu nhiên

d)

Mảng phải có ít hơn 100 phần tử

55.

Trong thuật toán tìm kiếm nhảy, kích thước bước tối ưu nên được xác định như thế nào?

a)

Phụ thuộc vào kích thước của mảng

b)

Luôn là một hằng số cố định

c)

Phụ thuộc vào độ phân bố của các giá trị trong mảng

d)

Không cần thiết phải xác định

56.

Để cải thiện hiệu suất của tìm kiếm nhị phân, điều gì là cần thiết?

a)

Giảm kích thước mảng

b)

Đảm bảo mảng được sắp xếp

c)

Thay đổi thuật toán tìm kiếm

d)

Thêm nhiều phần tử vào mảng

57.

Trong trường hợp nào tìm kiếm nội suy sẽ hoạt động kém hiệu quả?

a)

Khi mảng có các giá trị phân bố không đồng đều

b)

Khi mảng được sắp xếp

c)

Khi mảng có kích thước nhỏ

d)

Khi mảng có các giá trị phân bố đều

58.

Trong thuật toán tìm kiếm nhị phân, số lần so sánh tối đa cần thiết để tìm kiếm một phần tử trong mảng có n phần tử là bao nhiêu?

a)

O(n)

b)

O(log n)

c)

O(n log n)

d)

O(1)

59.

Điều kiện nào sau đây không cần thiết cho thuật toán tìm kiếm nhị phân?

a)

Mảng phải được sắp xếp

b)

Các phần tử trong mảng phải là số nguyên

c)

Mảng không được chứa giá trị trùng lặp

d)

Mảng phải có ít nhất một phần tử

60.

Trong trường hợp nào tìm kiếm nhảy sẽ hoạt động hiệu quả nhất?

a)

Khi mảng có kích thước nhỏ

b)

Khi mảng có kích thước lớn và được sắp xếp

c)

Khi mảng không được sắp xếp

d)

Khi mảng có các giá trị phân bố ngẫu nhiên

Similar Resources on Wayground