wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

HSG THCS 3 - Sắp xếp và tìm kiếm

Total questions: 42

Worksheet time: 21mins

Name
Class
Date
1.

Thuật toán sắp xếp nào có độ phức tạp trung bình là O(n^2)?

a)
Quick Sort
b)
Merge Sort
c)
Heap Sort
d)

Bubble Sort

2.

Thuật toán sắp xếp nào sử dụng phương pháp chia để trị (divide and conquer)?

a)
BubbleSort
b)
InsertionSort
c)
SelectionSort
d)

MergeSort

3.

Thuật toán tìm kiếm nào sử dụng phương pháp chia để trị?

a)

Tìm kiếm tuần tự (Sequential Search)

b)

Tìm kiếm nhị phân (Binary Search)

c)

Tìm kiếm tuyến tính (Linear Search)

d)

Tìm kiếm băm (Hashing)

4.

Điều kiện để sử dụng thuật toán tìm kiếm nhị phân là gì?

a)

Dữ liệu phải là số nguyên

b)

Dữ liệu phải được sắp xếp

c)

Dữ liệu phải là chuỗi

d)

Dữ liệu phải không có giá trị trùng lặp

5.

Đối với dãy đã được sắp xếp, thuật toán tìm kiếm nào sau đây có thể tìm kiếm hiệu quả nhất?

a)

Tìm kiếm tuần tự

b)

Tìm kiếm nhị phân

c)

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

d)

Tìm kiếm nhị phân kết hợp với Jump Search

6.

Đâu là thuật toán sắp xếp nhanh nhất trong trường hợp dữ liệu đã sắp xếp hoặc gần sắp xếp?

a)
Sắp xếp nổi bọt (Bubble Sort)
b)
Sắp xếp chọn (Selection Sort)
c)
Sắp xếp chèn (Insertion Sort)
d)
Sắp xếp nhanh (Quick Sort)
7.

Thuật toán tìm kiếm nhị phân hoạt động dựa trên cấu trúc dữ liệu nào?

a)
Cây nhị phân
b)
Danh sách liên kết
c)
Mảng đã được sắp xếp
d)
Mảng chưa được sắp xếp
8.

Đâu là bước đầu tiên trong thuật toán Merge Sort?

a)
Sắp xếp danh sách theo thứ tự tăng dần.
b)
Tìm phần tử lớn nhất trong danh sách.
c)
Gộp hai nửa danh sách lại với nhau.
d)
Chia danh sách thành hai nửa.
9.

Thuật toán nào có thể tìm thấy phần tử lớn thứ k trong một mảng chưa được sắp xếp?

a)

Quickselect

b)

Merge sort

c)

Bubble sort

d)

Binary search

10.

Thuật toán sắp xếp nào sử dụng một danh sách trung gian để gộp các phần tử đã sắp xếp?

a)
Quick Sort
b)
Merge Sort
c)
Bubble Sort
d)
Insertion Sort
11.

Đâu là bước đầu tiên trong thuật toán tìm kiếm nhị phân?

a)
Sắp xếp mảng theo thứ tự tăng dần.
b)
Xác định kích thước của mảng.
c)
Xác định chỉ số giữa của mảng.
d)
Tìm kiếm phần tử đầu tiên trong mảng.
12.

Đâu là thuật toán sắp xếp nhanh nhất trong trường hợp dữ liệu hoàn toàn ngẫu nhiên?

a)
BubbleSort
b)
InsertionSort
c)
SelectionSort
d)
QuickSort
13.

Giả sử bạn có một mảng [3, 1, 4, 1, 5].

Kết quả của bước đầu tiên khi sử dụng thuật toán Bubble Sort là gì?

a)
[3, 4, 1, 1, 5]
b)
[1, 4, 3, 1, 5]
c)

[1, 3, 4, 1, 5]

d)
[3, 1, 1, 4, 5]
14.

Trong thuật toán Insertion Sort, sau khi chèn phần tử thứ ba từ dãy [2, 4, 1, 3], mảng sẽ như thế nào?

a)

[1, 2, 4, 3]

b)

[2, 1, 4, 3]

c)

[1, 2, 3, 4]

d)

[2, 4, 1, 3]

15.

Khi sử dụng thuật toán Selection Sort để sắp xếp mảng [5, 3, 8, 6, 2], bước đầu tiên sẽ như thế nào?

a)

[2, 3, 8, 6, 5]

b)

[5, 3, 2, 6, 8]

c)

[5, 2, 8, 6, 3]

d)

[3, 5, 8, 6, 2]

16.

Trong thuật toán Quick Sort, nếu phần tử chốt (pivot) được chọn là phần tử đầu tiên trong mảng [7, 2, 1, 6, 8, 5, 3, 4], sau bước phân chia đầu tiên, mảng sẽ như thế nào?

a)
[2, 1, 6, 5, 3, 4, 7, 8]
b)
[6, 2, 1, 5, 3, 4, 7, 8]
c)
[7, 8, 6, 5, 3, 4, 2, 1]
d)
[1, 2, 6, 5, 3, 4, 7, 8]
17.

Khi thực hiện thuật toán Merge Sort trên mảng [6, 3, 8, 5, 2, 7, 4, 1], sau bước chia đầu tiên, mảng sẽ như thế nào?

a)
[[6, 3], [8, 5, 2, 7, 4, 1]]
b)
[[6, 3, 8], [5, 2, 7, 4, 1]]
c)
[[6, 3, 8, 5, 2], [7, 4, 1]]
d)
[[6, 3, 8, 5], [2, 7, 4, 1]]
18.

Với mảng [2, 3, 4, 10, 40] và giá trị cần tìm là 10, thuật toán Binary Search sẽ kiểm tra vị trí nào đầu tiên?

a)

0

b)
4
c)
2
d)
3
19.

Khi sử dụng thuật toán Binary Search trên mảng [1, 2, 3, 4, 5, 6, 7], giá trị nào sẽ được kiểm tra đầu tiên khi tìm kiếm giá trị 5?

a)
4
b)
7
c)
6
d)
3
20.

Mảng [5, 2, 4, 6, 1, 3] sau bước đầu tiên của thuật toán Bubble Sort sẽ như thế nào?

a)

[2, 5, 4, 6, 1, 3]

b)
[5, 4, 2, 1, 3, 6]
c)
[5, 2, 1, 4, 3, 6]
d)

[2, 4, 5, 1, 3, 6]

21.

Trong thuật toán Insertion Sort, sau khi chèn phần tử thứ hai từ dãy [4, 3, 2, 1], mảng sẽ như thế nào?

a)
[4, 3, 2, 1]
b)
[2, 3, 4, 1]
c)
[4, 2, 3, 1]
d)
[3, 4, 2, 1]
22.

Khi sử dụng thuật toán Selection Sort để sắp xếp mảng [9, 7, 5, 3, 1], bước đầu tiên sẽ như thế nào?

a)
[3, 7, 5, 1, 9]
b)
[9, 5, 7, 3, 1]
c)
[1, 3, 5, 7, 9]
d)
[1, 7, 5, 3, 9]
23.

Trong thuật toán Quick Sort, nếu phần tử chốt (pivot) được chọn là phần tử cuối cùng trong mảng [10, 7, 8, 9, 1, 5], sau bước phân chia đầu tiên, mảng sẽ như thế nào?

a)
[9, 10, 8, 7, 5, 1]
b)
[1, 5, 8, 9, 10, 7]
c)
[5, 1, 7, 8, 9, 10]
d)
[10, 7, 8, 9, 1, 5]
24.

Khi thực hiện thuật toán Merge Sort trên mảng [8, 4, 7, 3, 6, 2, 5, 1], sau bước chia đầu tiên, mảng sẽ như thế nào?

a)
[[8, 4, 7, 3], [6, 2, 5, 1]]
b)
[[8, 4, 7], [3, 6, 2, 5, 1]]
c)
[[8, 4], [7, 3, 6, 2, 5, 1]]
d)
[[8, 4, 7, 3, 6], [2, 5, 1]]
25.

Với mảng [3, 5, 7, 10, 15] và giá trị cần tìm là 7, thuật toán Binary Search sẽ kiểm tra vị trí nào đầu tiên?

a)
2
b)
4
c)
3
d)
1
26.

Khi sử dụng thuật toán Binary Search trên mảng [11, 22, 33, 44, 55], giá trị nào sẽ được kiểm tra đầu tiên khi tìm kiếm giá trị 44?

a)
33
b)
22
c)
55
d)
44
27.

Tại sao việc sắp xếp dữ liệu trước khi tìm kiếm lại quan trọng?

a)

Giúp tiết kiệm bộ nhớ

b)

Giảm độ phức tạp của thuật toán

c)

Tạo ra dữ liệu ngẫu nhiên

d)

Tăng tốc độ tìm kiếm

28.

Thuật toán tìm kiếm nhị phân (Binary Search) yêu cầu dữ liệu phải được sắp xếp vì lý do gì?

a)

Để dễ dàng chọn phần tử trung bình

b)

Để giảm độ phức tạp không gian

c)

Để đảm bảo tính chính xác

d)

Để giảm số lần so sánh

29.

Mối quan hệ giữa sắp xếp và tìm kiếm là gì?

a)

Sắp xếp làm tăng hiệu quả của tìm kiếm

b)

Tìm kiếm làm tăng hiệu quả của sắp xếp

c)

Sắp xếp và tìm kiếm không liên quan

d)

Tìm kiếm và sắp xếp làm giảm hiệu suất tổng thể

30.

Thuật toán tìm kiếm tuần tự (Sequential Search) có hiệu quả hơn khi dữ liệu đã được sắp xếp đúng không?

a)

Không, thuật toán tìm kiếm tuần tự không hiệu quả hơn khi dữ liệu đã được sắp xếp.

b)
Có, thuật toán tìm kiếm tuần tự sẽ nhanh hơn khi dữ liệu đã được sắp xếp.
31.

Đối với một mảng đã được sắp xếp, thuật toán tìm kiếm nào sẽ hiệu quả nhất?

a)
Thuật toán tìm kiếm nhị phân (binary search)
b)
Thuật toán tìm kiếm tuần tự (linear search)
c)
Thuật toán tìm kiếm nhị phân cải tiến (improved binary search)
d)
Thuật toán tìm kiếm nhị phân ngược (reverse binary search)
32.

Thuật toán nào thường kết hợp quá trình sắp xếp và tìm kiếm để đạt hiệu quả cao hơn?

a)
Tìm kiếm tuyến tính
b)
Sắp xếp nổi bọt
c)
Tìm kiếm nhị phân
d)
Sắp xếp nhanh
33.

Mối quan hệ cơ bản giữa sắp xếp và tìm kiếm có thể được tóm tắt như thế nào?

a)

Cả hai đều làm tăng độ phức tạp

b)

Sắp xếp và tìm kiếm không liên quan

c)
Sắp xếp làm giảm hiệu quả tìm kiếm.
d)

Sắp xếp giảm độ phức tạp của tìm kiếm

34.

Thuật toán Bubble Sort hoạt động như thế nào khi sắp xếp mảng [5, 3, 8, 4, 2] trong bước đầu tiên?

a)

Đổi chỗ 5 và 3, 8 và 4, 8 và 2

b)

Đổi chỗ 5 và 3, 8 và 2, 4 và 2

c)

Đổi chỗ 5 và 3, 8 và 4, 4 và 2

d)

Đổi chỗ 5 và 2, 3 và 4, 8 và 4

35.

Trong thuật toán Insertion Sort, hãy giải thích cách sắp xếp mảng [4, 3, 2, 1] sau khi chèn phần tử thứ hai.

a)

Di chuyển 3 lên trước 4

b)

Giữ nguyên 4, 3 và di chuyển 2 lên trước

c)
  • Sắp xếp 3, 4 và để 2, 1 ở cuối

d)

Đổi chỗ 4 và 3

36.

Hãy giải thích bước đầu tiên của thuật toán Selection Sort trên mảng [7, 5, 2, 8, 4].

a)

Tìm phần tử nhỏ nhất và đổi chỗ với phần tử đầu tiên

b)

Tìm phần tử lớn nhất và đổi chỗ với phần tử cuối cùng

c)

Sắp xếp phần tử đầu tiên vào đúng vị trí

d)

Di chuyển phần tử nhỏ nhất vào vị trí cuối

37.

Trong thuật toán Quick Sort, sau bước chọn phần tử chốt (pivot) là phần tử đầu tiên trong mảng [6, 2, 9, 3, 7], mảng sẽ như thế nào?

a)
[6, 2, 3, 7, 9]
b)
[9, 7, 6, 3, 2]
c)
[3, 2, 6, 7, 9]
d)
[2, 3, 6, 9, 7]
38.

Giải thích bước chia đầu tiên của thuật toán Merge Sort trên mảng [9, 5, 7, 3].

a)

Chia thành [9, 5] và [7, 3]

b)

Chia thành [9] và [5, 7, 3]

c)

Chia thành [9, 5, 7] và [3]

d)
  • Chia thành [9, 5] và [3, 7]

39.

Thuật toán tìm kiếm tuần tự (Sequential Search) hoạt động như thế nào khi tìm giá trị 4 trong mảng [1, 2, 3, 4, 5]?

a)

Bắt đầu từ cuối mảng và so sánh từng phần tử

b)

Bắt đầu từ đầu mảng và so sánh từng phần tử

c)

So sánh phần tử ở giữa mảng

d)

So sánh phần tử ở vị trí bất kỳ

40.

Giải thích cách hoạt động của thuật toán tìm kiếm nhị phân (Binary Search) trên mảng đã được sắp xếp [2, 4, 6, 8, 10] khi tìm giá trị 8.

a)

So sánh 8 với phần tử đầu mảng

b)

So sánh 8 với phần tử cuối mảng

c)

So sánh 8 với phần tử ở giữa mảng, sau đó tiếp tục tìm kiếm trong nửa phù hợp

d)

So sánh 8 với tất cả các phần tử

41.

Trong thuật toán tìm kiếm nhị phân, sau khi so sánh giá trị cần tìm với phần tử ở giữa mảng, bước tiếp theo là gì?

(Chọn 2 đáp án đúng)

a)

Kết thúc tìm kiếm nếu tìm thấy giá trị

b)

Tiếp tục tìm kiếm trong nửa nhỏ hơn hoặc lớn hơn

c)

Sắp xếp lại mảng

d)

Bắt đầu tìm kiếm lại từ đầu mảng

42.

Giải thích cách hoạt động của thuật toán sắp xếp chèn (Insertion Sort) khi sắp xếp mảng [5, 2, 4, 6, 1].

a)

Chọn phần tử đầu tiên và so sánh với tất cả các phần tử khác.

b)

Chọn phần tử thứ hai và đặt vào đúng vị trí trong phần đã sắp xếp.

c)

Đổi chỗ phần tử đầu tiên với phần tử cuối cùng.

d)

Đổi chỗ phần tử lớn nhất với phần tử nhỏ nhất.