Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Bài 17: Dữ liệu mảng một chiều và hai chiều - Trắc nghiệm

Total questions: 50

Worksheet time: 31mins

Name
Class
Date
1-11.

Trong Python, dữ liệu mảng một chiều có thể được biểu diễn bằng danh sách (list) với các phần tử có cùng kiểu dữ liệu.

1.

Để biết kích thước của mảng một chiều ta dùng hàm:

a)

append()

b)

len()

c)

sort()

d)

pop()

2.

Để khởi tạo mảng một chiều B có 5 phần tử là 1, 2, 3, 4, 5 cách khởi tạo nào đúng:

a)

B = ‘1, 2, 3, 4, 5’

b)

B = (1, 2, 3, 4, 5)

c)

B = [1..5]

d)

B = [1, 2, 3, 4, 5]

3.

Để thêm một phần tử vào cuối mảng một chiều ta dùng hàm:

a)

append()

b)

pop()

c)

clear()

d)

remove()

4.

Để xóa phần tử có chỉ số là 2 trong mảng một chiều A cách viết nào dưới đây đúng:

a)

A.pop(1)

b)

A.pop(2)

c)

pop(2)

d)

pop(1)

5.

Để thêm một phần tử x vào đầu mảng một chiều A cách viết nào dưới đây đúng:

a)

A.append(0,x)

b)

A.insert(0,x)

c)

append(0,x)

d)

insert(0,x)

6.

Để gọi đến phần tử đầu tiên trong mảng một chiều A cách viết nào dưới đây đúng:

a)

A[1]

b)

A[0]

c)

A(1)

d)

A[]

7.

Cho mảng a=[0,2,4,6]. Phần tử a[2]=?

a)

0

b)

4

c)

2

d)

6

8.

Cho đoạn chương trình: a=[1,2,3] a.append(4) print(a) Sau khi thực hiện đoạn chương trình trên thì mảng một chiều a có các phần tử:

a)

a=[4,1,2,3]

b)

a=[1,2,4,3]

c)

a=[1,2,3,4]

d)

a=[1,4,2,3]

9.

Cho đoạn chương trình: a=[1,2,3,4,5] a.pop(2) print(a) Sau khi thực hiện đoạn chương trình trên thì mảng một chiều a có các phần tử:

a)

a=[1,2,4,5]

b)

a=[1,3,4,5]

c)

a=[2,3,4,5]

d)

a=[1,2,3,4]

10.

Cho đoạn chương trình: a=[1,2,3] a.insert(0,2) print(a) Sau khi thực hiện đoạn chương trình trên thì mảng một chiều a có các phần tử:

a)

a=[0,1,2,3]

b)

a=[2,3]

c)

a=[2,1,2,3]

d)

a=[1,2,3,2]

11.

Lệnh a.sort() thực hiện:

a)

Xóa mảng một chiều a

b)

Sắp xếp mảng một chiều a theo thứ tự tăng dần.

c)

Sắp xếp mảng một chiều a theo thứ tự giảm dần.

d)

Gọi đến phần tử đầu tiên trong mảng một chiều a

12.

Cho đoạn chương trình: a=[2,4,6] for i in a: print(2*i, end=" ") Trên màn hình sẽ có các giá trị:

a)

2, 4, 6

b)

4 6 8

c)

4 6 12

d)

4 8 12

13.

Cho đoạn chương trình sau: a=[3,1,5,2] a.sort() print(a) Sau khi thực hiện đoạn chương trình trên, danh sách a hiển thị trên màn hình là:

a)

[1,2,3,5]

b)

[3,1,5,2]

c)

[5,3,2,1]

d)

[3,5,2,1]

14.

Để khởi tạo mảng một chiều a rỗng ta viết:

a)

a=''

b)

a=[]

c)

a=[0]

d)

a="""

15.

Phát biểu nào dưới đây về kiểu mảng một chiều là phù hợp?

a)

Là một tập hợp các số nguyên

b)

Là một dãy hữu hạn các phần tử cùng kiểu

c)

Độ dài tối đa của mảng là 255

d)

Mảng không thể chứa kí tự

16.

Trong các dữ liệu sau, dữ liệu nào là mảng một chiều?

a)

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

b)

["A", "B", 1, 2, 3, 4]

c)

[(1, 2), ("Tin", "Toán"), (4, 5), ("Sử", "Địa")]

d)

["One", "Two", "Three"]

17.

Cho đoạn lệnh sau: a=[5,7,3,4,1] a.insert(2,9) print(a) Mảng một chiều a thu được là:

a)

a=[5,9,7,3,4,1]

b)

a=[5,7,9,3,4,1]

c)

a=[5,7,3,4,1,2,9]

d)

a=[2,9,5,7,3,4,1]

18.

Để khởi tạo mảng một chiều a gồm 100 số 0 ta dùng cú pháp:

a)

a = [0*100]

b)

a = 0*[100]

c)

a = [0]*100

d)

a = 0*100

19.

Cho mảng hai chiều A được khai báo trong Python như sau: A=[[12, 10, 91], [11, 45, 20], [15, 34, 55]], thực hiện lệnh print(A[2][1]) cho kết quả:

a)

10

b)

11

c)

45

d)

34

20.

Trong mảng hai chiều a, làm thế nào để truy cập phần tử tại hàng 2, cột 3?

a)

a[2, 3]

b)

a[2, 3]

c)

a[3][2]

d)

a[1][2]

21.

Trong Python, chỉ số của mảng một chiều bắt đầu từ 1. Nhận định nào sau đây đúng, nhận định nào sai?

a)

Chỉ số đầu tiên của mảng là 0.

b)

Chỉ số cuối cùng của mảng bằng độ dài của mảng trừ 1.

c)

Chỉ số của mảng một chiều bắt đầu từ 1 trong Python.

d)

Python hỗ trợ chỉ số âm để truy cập phần tử từ cuối mảng.

22.

Có thể thay đổi giá trị của phần tử trong mảng một chiều ở Python. Nhận định nào sau đây đúng, nhận định nào sai?

a)

Mảng trong Python có thể chứa cả số và chuỗi.

b)

Giá trị của phần tử trong List có thể thay đổi sau khi khởi tạo.

c)

Python không cho phép lưu trữ các phần tử có kiểu dữ liệu khác nhau trong cùng một mảng.

23.

Phương thức append() có thể thêm nhiều phần tử vào cuối mảng một chiều trong Python. Nhận định nào sau đây đúng, nhận định nào sai?

a)

Phương thức append() dùng để thêm phần tử vào cuối list trong Python.

b)

Phương thức insert() cho phép chèn phần tử vào vị trí bất kỳ trong list.

c)

Phương thức remove() xóa tất cả các phần tử có giá trị giống nhau.

d)

Phương thức pop() xóa phần tử cuối cùng và trả về giá trị của phần tử đó.

24.

Mình muốn kiểm tra xem giá trị 10 có nằm trong mảng A = [1, 5, 10, 15] hay không. Mình sử dụng lệnh 10 in A. Nhận định nào sau đây đúng, nhận định nào sai?

a)

Lệnh 10 in A sẽ kiểm tra xem giá trị 10 có nằm trong mảng A hay không.

b)

Lệnh 10 in A không hợp lệ trong Python.

c)

Lệnh 10 in A sẽ trả về giá trị True.

d)

Mình có thể sử dụng lệnh if 10 in A: để thực hiện một số lệnh nếu giá trị 10 nằm trong mảng A.

25.

Lan muốn xóa phần tử đầu tiên trong mảng C = [5, 10, 15]. Lan sử dụng lệnh C.remove(5). Nhận định nào sau đây đúng, nhận định nào sai?

a)

Lệnh C.remove(5) sẽ xóa phần tử đầu tiên có giá trị 5 trong mảng C.

b)

Lệnh C.remove(5) sẽ xóa tất cả các phần tử có giá trị 5 trong mảng C.

c)

Phương thức remove() chỉ xóa phần tử đầu tiên tìm thấy có giá trị bằng giá trị được chỉ định.

d)

Nếu mảng C là [5, 10, 5, 15], sau khi thực hiện lệnh: C.remove(5), C sẽ trở thành [10, 5, 15].

26.

Trong Python, mảng hai chiều có thể được tạo bằng cách sử dụng List lồng nhau. Nhận định nào sau đây đúng, nhận định nào sai?

a)

Mảng hai chiều trong Python được tạo bằng cách sử dụng List chứa các List con.

b)

Các List con trong mảng hai chiều phải có cùng số phần tử.

c)

Có thể truy cập phần tử trong mảng hai chiều bằng cách sử dụng hai chỉ số.

d)

Mảng hai chiều trong Python chỉ có thể lưu trữ các số nguyên.

27.

Có thể sử dụng vòng lặp lồng nhau để duyệt qua tất cả phần tử trong mảng hai chiều của Python. Nhận định nào sau đây đúng, nhận định nào sai?

a)

Sử dụng vòng lặp for lồng nhau để duyệt qua từng hàng và từng cột của mảng.

b)

Không thể sử dụng vòng lặp while để duyệt qua mảng hai chiều.

c)

Có thể sử dụng cú pháp for row in array để duyệt qua từng hàng của mảng.

d)

Để truy cập từng phần tử, cần sử dụng ít nhất hai vòng lặp lồng nhau.

28.

Phần I. Trắc nghiệm — Câu 1(B). Dựa trên Nhiệm vụ 1 trong Bài 18, chương trình `qldiem.py` được thiết kế để làm gì? Khi thi thật khó để nhớ nhiệm vụ 1 trong bài 18??

a)

Quản lí và thống kê điểm của nhiều môn học khác nhau.

b)

Quản lí điểm trung bình của tất cả học sinh trong lớp.

c)

Quản lí điểm kiểm tra của một nhóm học sinh.

d)

Quản lí và thống kê các đầu điểm kiểm tra của một học sinh.

29.

Phần I. Trắc nghiệm — Câu 2(B). Theo hướng dẫn của Nhiệm vụ 1, cấu trúc dữ liệu nào được sử dụng để quản lí điểm kiểm tra của một học sinh?

a)

Dữ liệu mảng một chiều, cụ thể là danh sách (list) trong Python.

b)

Dữ liệu mảng hai chiều (list trong list).

c)

Các biến riêng lẻ cho từng đầu điểm.

d)

Cấu trúc dữ liệu từ điển (dictionary).

30.

Phần I. Trắc nghiệm — Câu 3(B). Theo hướng dẫn của Nhiệm vụ 2, cấu trúc dữ liệu nào được sử dụng để quản lí điểm kiểm tra của tất cả học sinh trong một lớp?

a)

Một danh sách chứa tên của tất cả học sinh.

b)

Một mảng hai chiều, trong đó mỗi hàng là điểm của một học sinh.

c)

Một danh sách chứa tất cả các đầu điểm gộp lại.

d)

Các biến riêng lẻ cho từng học sinh và từng đầu điểm.

31.

Phần I. Trắc nghiệm — Câu 4(H). Dựa trên đoạn mã ví dụ trong Nhiệm vụ 1, vòng lặp for được sử dụng để thực hiện chức năng nào?

a)

Duyệt qua các phần tử của mảng để nhập dữ liệu từ bàn phím.

b)

Duyệt qua các phần tử của mảng để tính tổng, điểm cao nhất và điểm thấp nhất.

c)

Duyệt qua các phần tử của mảng để in ra từng điểm.

d)

Duyệt qua các phần tử của mảng để kiểm tra lỗi nhập liệu.

32.

Phần I. Trắc nghiệm — Câu 5(H). Trong Nhiệm vụ 1, các biến Min và Max được khởi tạo như thế nào trong đoạn mã ví dụ?

a)

Bằng một giá trị mặc định là 0.

b)

Bằng giá trị điểm trung bình của cả danh sách.

c)

Bằng giá trị của phần tử đầu tiên trong danh sách điểm.

d)

Bằng một giá trị cực nhỏ và một giá trị cực lớn.

33.

Phần I. Trắc nghiệm — Câu 6 (H). Trong Nhiệm vụ 2, tại sao lại cần sử dụng hai vòng lặp for lồng nhau?

a)

Vòng lặp bên ngoài để duyệt qua các học sinh và vòng lặp bên trong để duyệt qua các điểm của học sinh đó.

b)

Vòng lặp bên ngoài để duyệt qua các điểm, còn vòng lặp bên trong để duyệt qua các học sinh.

c)

Cả hai vòng lặp đều có chức năng như nhau, cùng duyệt qua các phần tử.

d)

Vòng lặp bên ngoài để tính điểm trung bình và vòng lặp bên trong để tìm điểm cao nhất.

34.

Phần I. Trắc nghiệm — Câu 7(H). Trong chương trình `qldiem_ca_lop.py` của Nhiệm vụ 2, biến `index_max_avg` và `Min` có vai trò gì?

a)

`index_max_avg` lưu chỉ số của học sinh, còn `Min` lưu tên của học sinh đó.

b)

`index_max_avg` lưu tổng điểm của học sinh có điểm cao nhất, còn `Min` lưu điểm thấp nhất của một học sinh cụ thể.

c)

`index_max_avg` lưu chỉ số của học sinh có điểm trung bình cao nhất, còn `Min` lưu điểm thấp nhất trong tất cả các đầu điểm.

d)

`index_max_avg` lưu điểm trung bình cao nhất của cả lớp, còn `Min` lưu điểm trung bình thấp nhất.

35.

Phần I. Trắc nghiệm — Câu 8(V). Giả sử ma trận A lưu dữ liệu điểm của lớp có 3 hàng và 4 cột (tương ứng với 3 học sinh và 4 đầu điểm). Để truy cập điểm của học sinh thứ hai và đầu điểm thứ ba (theo thứ tự bắt đầu từ 1), câu lệnh nào sau đây là đúng?

a)

A[2][3]

b)

A[1][2]

c)

A[2][2]

d)

A[3][4]

36.

Phần I. Trắc nghiệm — Câu 9(V). Dựa trên Nhiệm vụ 2, để tìm ra học sinh có điểm trung bình cao nhất, chương trình sử dụng biến max_avg và index_max_avg. Vòng lặp đã thực hiện câu lệnh nào sau đây để cập nhật giá trị đúng?

a)

if max_avg < avg: max_avg = avg

b)

if max_avg > avg: max_avg = avg

c)

max_avg = max(max_avg, avg)

d)

max_avg = avg

37.

Phần I. Trắc nghiệm — Câu 10(V). Dựa trên phần Vận dụng, giả sử bạn có một ma trận A lưu điểm của một lớp. Bạn muốn tìm và in ra dòng có tổng điểm cao nhất. Bạn sẽ sử dụng đoạn mã nào sau đây?

a)

max_sum = 0; max_row = -1; for row in A: if sum(row) > max_sum: max_sum = sum(row); max_row = A.index(row); print(max_row)

b)

max_sum = sum(A[0]); max_row = 0; for i in range(1, len(A)): if sum(A[i]) > max_sum: max_sum = sum(A[i]); max_row = i; print(A[max_row])

c)

max_sum = sum(A[0]); max_row = 0; for i in range(len(A)): if sum(A[i]) > max_sum: max_sum = sum(A[i]); max_row = i; print(A[max_row])

d)

for row in A: print(sum(row))

38.

Bài 19: Bài toán tìm kiếm — I. Trắc nghiệm — Câu 1-B: Thuật toán tìm kiếm tuần tự một số trong dãy số A dừng khi nào?

a)

Nếu tìm thấy giá trị cần tìm trong dãy A.

b)

Nếu tìm đến giá trị cuối trong dãy số mà không tìm thấy giá trị cần tìm.

c)

Nếu tìm thấy giá trị cần tìm trong dãy A hoặc nếu tìm đến giá trị cuối trong dãy số mà không tìm thấy giá trị cần tìm.

39.

Cho dãy A = [1, 91, 45, 23, 67, 9, 10, 47, 90, 46, 86]. Thuật toán tìm kiếm tuần tự cần thực hiện bao nhiêu lần duyệt để tìm ra phần tử có giá trị bằng 47 trong dãy?

a)

6 lần

b)

7 lần

c)

8 lần

d)

9 lần

40.

Khi nào thì tìm kiếm tuần tự sẽ tìm được ngay kết quả, cần ít bước nhất?

a)

Khi giá trị cần tìm không tìm thấy

b)

Khi giá trị cần tìm trùng với số cuối cùng của dãy.

c)

Khi giá trị cần tìm trùng với số đầu tiên của dãy.

d)

Khi giá trị cần tìm nằm ở giữa của dãy.

41.

Khi nào thì tìm kiếm tuần tự sẽ cần nhiều bước nhất?

a)

Khi giá trị cần tìm nằm ở giữa của dãy.

b)

Khi giá trị cần tìm nằm ở gần cuối của dãy.

c)

Khi giá trị cần tìm trùng với số đầu tiên của dãy.

d)

Khi số cần tìm không có trong dãy hoặc trùng với số cuối cùng của dãy.

42.

Cho dãy A = [0, 4, 9, 10, 12, 14, 17, 18, 20, 31, 34, 67]. Với thuật toán tìm kiếm nhị phân, cần duyệt bao nhiêu phần tử để tìm ra phần tử có giá trị bằng 34?

a)

2 phần tử

b)

3 phần tử

c)

4 phần tử

d)

5 phần tử

43.

Cho dãy A = [0, 4, 9, 10, 12, 14, 17, 18, 20, 31, 34, 67]. Với thuật toán tìm kiếm nhị phân, cần duyệt bao nhiêu phần tử các p.t có giá trị lần lượt là bao nhiêu để tìm ra phần tử có giá trị bằng 34?

a)

17, 31, 34

b)

14, 18, 34

c)

14, 20, 34

d)

9, 12, 17, 34

44.

Phương pháp tìm kiếm nhị phân (binary search) chỉ hoạt động trên danh sách nào sau đây?

a)

Danh sách đã được sắp xếp theo thứ tự tăng dần hoặc giảm dần.

b)

Danh sách không cần sắp xếp.

c)

Tìm từng phần tử trong danh sách cho đến khi tìm thấy hoặc hết danh sách..

d)

Khi giá trị cần tìm nằm ở giữa của dãy.

45.

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

a)

So sánh phần tử cần tìm với từng phần tử trong danh sách cho đến khi tìm thấy hoặc hết danh sách.

b)

Sắp xếp danh sách rồi chia đôi danh sách và so sánh phần tử cần tìm với phần tử ở giữa, sau đó tiếp tục chia đôi danh sách còn lại cho đến khi tìm thấy hoặc hết danh sách.

c)

Chia đôi danh sách và so sánh phần tử cần tìm với phần tử ở giữa.

d)

Sử dụng hàm có sẵn như index() để tìm vị trí của phần tử cần tìm trong danh sách.

46.

Phương pháp tìm kiếm nhị phân (binary search) trong Python thiết lập các giá trị left, right, với n là độ dài của danh sách cần sắp xếp?

a)

left=1, right=n

b)

left=0, right=n-1

c)

Left=0, right=n

d)

Left=1, right=n-1

47.

Đ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.”

48.

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 sẽ giảm một nửa.

d)

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

49.

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ì: (dãy A cần tìm sắp tăng hay giảm? )

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.

50.

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.

51.

Điều kiện dừng trong thuật toán tìm kiếm nhị phân là gì?

a)

Khi tìm đến giá trị cuối cùng trong danh sách.

b)

Khi chưa tìm thấy

c)

Khi đã chưa tìm thấy và chưa hết danh sách.

d)

Khi đã tìm thấy hoặc khi đã hết danh sách

52.

Trong thuật toán tìm kiếm nhị phân thì vùng tìm kiếm lúc ban đầu là gì?

a)

Nửa đầu danh sách.

b)

Nửa đầu danh sách.

c)

Toàn bộ danh sách.

d)

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

53.

Trong các câu lệnh sau, câu lệnh nào được dùng để mở và ghi dữ liệu vào tệp "data.inp"? A. F = openRead("data.inp"). B. F= openWrite("data.inp") C. F = open("data.inp", "w"). D. F= open("data.inp","r")

a)

F = openRead("data.inp").

b)

F= openWrite("data.inp")

c)

F = open("data.inp", "w").

d)

F= open("data.inp","r")

54.

Dữ liệu trong tệp sẽ bị ghi đè trong trường hợp nào sau đây? A. Tập được mở với tham số "w". B. Tệp được mở với tham số "a". C. Kết thúc chương trình mà không có lệnh đóng tệp. D. Cứ có lệnh mở tệp là các dữ liệu trong tệp có thể bị ghi đè.

a)

Tập được mở với tham số "w".

b)

Tệp được mở với tham số "a".

c)

Kết thúc chương trình mà không có lệnh đóng tệp.

d)

Cứ có lệnh mở tệp là các dữ liệu trong tệp có thể bị ghi đè.

55.

Trong bài toán tìm kiếm, đối tượng được tìm kiếm thường là gì? A. Một thuật toán B. Một giá trị cụ thể trong một tập hợp dữ liệu C. Một biến trong chương trình D. Một tệp tin hình ảnh

a)

Một thuật toán

b)

Một giá trị cụ thể trong một tập hợp dữ liệu

c)

Một biến trong chương trình

d)

Một tệp tin hình ảnh

56.

Thuật toán tìm kiếm tuần tự (Sequential Search) hoạt động như thế nào? A. Chia đôi tập hợp dữ liệu và tìm kiếm trong một nửa. B. Sắp xếp dữ liệu trước khi tìm kiếm. C. Duyệt qua từng phần tử của tập hợp dữ liệu từ đầu đến cuối cho đến khi tìm thấy hoặc hết tập hợp. D. So sánh phần tử cần tìm với phần tử ở giữa tập hợp.

a)

Chia đôi tập hợp dữ liệu và tìm kiếm trong một nửa.

b)

Sắp xếp dữ liệu trước khi tìm kiếm.

c)

Duyệt qua từng phần tử của tập hợp dữ liệu từ đầu đến cuối cho đến khi tìm thấy hoặc hết tập hợp.

d)

So sánh phần tử cần tìm với phần tử ở giữa tập hợp.

57.

Điều kiện tiên quyết để áp dụng thuật toán tìm kiếm nhị phân (Binary Search) là gì? A. Dữ liệu phải được lưu trữ trong tệp tin. B. Dữ liệu phải được sắp xếp. C. Dữ liệu phải có kích thước nhỏ. D. Dữ liệu phải là số nguyên.

a)

Dữ liệu phải được lưu trữ trong tệp tin.

b)

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

c)

Dữ liệu phải có kích thước nhỏ.

d)

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

58.

Phát biểu nào sau đây mô tả đúng về ưu điểm của tìm kiếm tuần tự? A. Chỉ hoạt động hiệu quả với dữ liệu đã được sắp xếp. B. Đơn giản, dễ cài đặt và không yêu cầu dữ liệu phải được sắp xếp trước. C. Có tốc độ tìm kiếm nhanh nhất trên mọi tập dữ liệu. D. Thường được sử dụng cho các tập dữ liệu lớn.

a)

Chỉ hoạt động hiệu quả với dữ liệu đã được sắp xếp.

b)

Đơn giản, dễ cài đặt và không yêu cầu dữ liệu phải được sắp xếp trước.

c)

Có tốc độ tìm kiếm nhanh nhất trên mọi tập dữ liệu.

d)

Thường được sử dụng cho các tập dữ liệu lớn.

59.

Giả sử có một danh sách 5 phần tử: [10, 20, 30, 40, 50]. Khi tìm kiếm giá trị 30 bằng thuật toán tìm kiếm tuần tự, cần thực hiện bao nhiêu phép so sánh? A. 1 B. 2 C. 3 D. 4

a)

1

b)

2

c)

3

d)

4

60.

Thuật toán tìm kiếm nhị phân loại bỏ bao nhiêu phần tử của tập hợp dữ liệu sau mỗi lần so sánh (trường hợp không tìm thấy)? A. Một phần tư (1/4) B. Một phần ba (1/3) C. Một nửa (1/2) D. Tất cả các phần tử còn lại

a)

Một phần tư (1/4)

b)

Một phần ba (1/3)

c)

Một nửa (1/2)

d)

Tất cả các phần tử còn lại