wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Mối quan hệ giữa cấu trúc dữ liệu và giải thuật

Total questions: 48

Worksheet time: 24mins

Name
Class
Date
1.

Xác định thời gian thực hiện của chương trình là:

a)

A. Xác định các bước thực hiện của giải thuật

b)

B. Xác định sai sót trong kết quả của giải thuật

c)

C. Xác định độ phức tạp của giải thuật.

d)

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

2.

Trong qui tắc tổng quát, thời gian thực hiện của mỗi lệnh gán, scanf, printf là:

a)

A. C(0)

b)

B. C(1)

c)

C. O(0)

d)

D. O(1)

3.

Thời gian thực hiện của một chuỗi tuần tự các lệnh được xác định bằng:

a)

A. Qui tắc cộng

b)

B. Qui tắc trừ

c)

C. Qui tắc nhân

d)

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

4.

Có thể tính độ phức tạp của một giải thuật theo nguyên tắc:

a)

A. Qui tắc cộng

b)

B. Qui tắc nhân

c)

C. Qui tắc tổng quát để phân tích một chương trình

d)

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

5.

Khi nói đến độ phức tạp của giải thuật là ta muốn nói đến

a)

Kết quả thu được sau khi thực hiện của chương trình

b)

Hiệu quả của thời gian thực hiện của chương trình

c)

Các bước tính toán trong quá trình thực hiện chương trình

d)

Tất cả đều đúng

6.

Mối quan hệ giữa cấu trúc dữ liệu và giải thuật có thể minh họa bằng đẳng thức:

a)

A. Cấu trúc dữ liệu + Giải thuật = Chương trình

b)

B. Cấu trúc dữ liệu + Chương trình = Giải thuật

c)

C. Chương trình + Giải thuật = Cấu trúc dữ liệu

d)

D. Cấu trúc dữ liệu = Chương trình

7.

Đoạn mã giả dưới đây mô tả thuật toán gì?

a)

Sắp xếp dãy khóa theo thứ tự giảm dần bằng phương pháp lựa chọn

b)

Sắp xếp dãy khóa theo thứ tự tăng dần bằng phương pháp lựa chọn

c)

Sắp xếp dãy khóa theo thứ tự giảm dần bằng phương pháp thêm dần

d)

Sắp xếp dãy khóa theo thứ tự tăng dần bằng phương pháp thêm dần

8.

Sắp xếp một dãy theo thứ tự tăng dần bằng phương pháp sắp xếp lựa chọn là

a)

Lặp lại quá trình chọn phần tử nhỏ nhất trong số các phần tử chưa được sắp

b)

Lặp lại quá trình chọn phần tử trung bình trong số các phần tử chưa được sắp

c)

Lặp lại quá trình chọn phần tử lớn nhất trong số các phần tử chưa được sắp

d)

Lặp lại quá trình chọn phần tử lớn nhất trong số các phần tử đã được sắp

9.

Lệnh gán x:=15 tốn một hằng thời gian hay O(1), Lệnh đọc dữ liệu READ(x) tốn một hằng thời gian hay O(1).Vậy thời gian thực hiện cả hai lệnh trên nối tiếp nhau là:

a)

O(max(1,1))=O(1)

b)

O(max(0,0))=O(1)

c)

O(min(1,1))=O(1)

d)

O(min(0,0))=O(1)

10.

Dấu hiệu nào dưới đây cho biết danh sách liên kết đơn L là rỗng:

a)

L ->left == NULL

b)

L ->infor == NULL

c)

L ->next == NULL

d)

L == NULL

11.

Phép 'hòa nhập hai đường' chỉ có thể áp dụng cho 2 dãy con thỏa mãn tính chất:

a)

Đều là dãy tăng dần

b)

Đều là dãy giảm dần

c)

Hai dãy đã được sắp xếp

d)

Hai dãy bất kỳ

12.

Để đánh giá một cấu trúc dữ liệu ta thường dựa vào một số tiêu chí

a)

A. Cấu trúc dữ liệu phải tiết kiệm tài nguyên (bộ nhớ trong),

b)

B. Cấu trúc dữ liệu phải phản ảnh đúng thực tế của bài toán,

c)

C. Cấu trúc dữ liệu phải dễ dàng trong việc thao tác dữ liệu.

d)

D. Cả a, b, c đều đúng

13.

Trong qui tắc nhân, Nếu T1(n) và T2(n) là thời gian thực hiện của hai đoạn chương trình P1và P2 và T1(n) = O(f(n)), T2(n) = O(g(n)) thì thời gian thực hiện của hai đoạn chương trình đó lồng nhau là:

a)

T(n)=O(min(f(n),g(n)))

b)

T(n)=O(max(f(n),g(n)))

c)

T(n) = O(f(n).g(n))

d)

T(n2) = O(f(n).g(n))

14.

Giải thuật sắp xếp kiểu nổi bọt Thủ tục sw thực hiện nhiệm vụ gì?

a)

Tìm min(k[j], k[j-1])

b)

Tìm max(k[j], k[j-1])

c)

Đổi chỗ k[j], k[j-1]

d)

Không có phương án nào đúng.

15.

Chọn phát biểu đúng trong các phát biểu sau: Sau khi thực hiện đoạn lệnh trên ta thu được:

a)

a[k] mang giá trị lớn nhất trong mảng

b)

a[k] mang giá trị nhỏ nhất trong mảng

c)

k mang giá trị lớn nhất trong mảng

d)

k mang giá trị nhỏ nhất trong mảng

16.

Ta nói rằng hàm không âm T(n) có tỷ suất tăng (growth rate) f(n) nếu tồn tại các hằng số C và N0 sao cho :

a)

T(n) ≤ Cf(n) với mọi n ≥ N0

b)

T(n) ≥ Cf(n) với mọi n ≥ N0

c)

T(n) ≤ Cf(n) với mọi n ≤ N0

d)

T(n) ≥ Cf(n) với mọi n ≥ N0

17.

Theo qui tắc cộng, nếu T1(n) và T2(n) là thời gian thực hiện của hai đoạn chương trình P1 và P2; và T1(n) = O(f(n)), T2(n) = O(g(n)) thì thời gian thực hiện của đoạn hai chương trình đó nối tiếp nhau là:

a)

A. T(n) = O(min(f(n),g(n)))

b)

B. T(n) = O(max(f(n),g(n)))

c)

C. T(n) = O(f(n).g(n))

d)

D. T(n) = max(O(f(n)), O(g(n)))

18.

Cấu trúc dữ liệu nào tương ứng với LIFO (Last In First Out)

a)

Queue

b)

Linked List

c)

Tree

d)

Stack

19.

Thường ta coi T(n) là thời gian thực hiện chương trình trong trường hợp xấu nhất trên dữ liệu vào có kích thước n, tức T(n) là:

a)

A. Thời gian nhỏ nhất để thực hiện chương trình đối với mọi dữ liệu vào có cùng kích thước T

b)

B. Thời gian nhỏ nhất để thực hiện chương trình đối với mọi dữ liệu vào có cùng kích thước n

c)

C. Thời gian lớn nhất để thực hiện chương trình đối với mọi dữ liệu vào có cùng kích thước n.

d)

D. Thời gian lớn nhất để thực hiện chương trình đối với mọi dữ liệu vào có cùng kích thước T

20.

Đoạn mã giả dưới đây mô tả thuật toán gì?

a)

Tìm kiếm nhị phân phần tử có giá trị X

b)

Tìm phần tử nhỏ nhất của mảng

c)

Tìm kiếm tuyến tính phần tử có giá trị X

d)

Tìm phần tử lớn nhất của mảng

21.

Cây nhị phân khác rỗng là cây:

a)

Mỗi nút (trừ nút lá) đều có hai nút con

b)

Tất cả các nút đều có nút con

c)

Mỗi nút có không quá 2 nút con

d)

Tất cả các nút đều có nút cha

22.

Mục đích của việc sắp xếp là:

a)

Sử dụng khả năng truy nhập ngẫu nhiên của bộ nhớ để truy nhập được thực hiện nhanh

b)

Tổ chức lại các mẩu tin sao cho các khóa của chúng được sắp thứ tự tương ứng với quy luật sắp xếp

c)

Tìm kiếm một đối tượng trong một danh sách

23.

Trong bài toàn sắp xếp, sắp xếp ngoài là:

a)

A. Sự sắp xếp dữ liệu được tổ chức trong bộ nhớ trong của máy tính

b)

B. Là sự sắp xếp được sử dụng khi số lượng đối tượng cần sắp xếp lớn không thể lưu trữ trong bộ nhớ trong mà phải lưu trữ trên bộ nhớ ngoài

c)

C. Là sự sắp xếp dữ liệu được tổ chức sắp xếp dữ liệu được lưu trữ trong các tập tin

d)

D. Tất cả đều sai

24.

Thời gian thực hiện chương trình là

a)

Một hàm của kích thước dữ liệu vào, ký hiệu T(n) trong đó n là kích thước (độ lớn) của dữ liệu vào.

b)

Một hàm của độ dài dữ liệu vào, ký hiệu N(x) trong đó x là độ dài của dữ liệu vào.

c)

Thời gian ngắn nhất để thực hiện chương trình đối với mọi dữ liệu vào có cùng kích thước n.

d)

Thời gian thực hiện chương trình trong trường hợp nhanh nhất trên dữ liệu vào có kích thước n

25.

Trong bài toàn sắp xếp, sắp xếp trong là:

a)

A. Sự sắp xếp dữ liệu được tổ chức trong bộ nhớ trong của máy tính

b)

B. Là sự sắp xếp được sử dụng khi số lượng đối tượng cần sắp xếp lớn không thể lưu trữ trong bộ nhớ trong mà phải lưu trữ trên bộ nhớ ngoài

c)

C. Là sự sắp xếp dữ liệu được tổ chức sắp xếp dữ liệu được lưu trữ trong các tập tin

d)

D. Tất cả đều sai

26.

Trong giải thuật, Ta nói rằng hàm không âm T(n) có tỷ suất tăng (growth rate) f(n) nếu tồn tại các hằng số C và N0 sao cho :

a)

T(n) ≤ Cf(n) với mọi n ≥ N0

b)

T(n) ≥ Cf(n) với mọi n ≥ N0

c)

T(n) ≤ Cf(n) với mọi

27.

Trong phép duyệt cây nhị phân có 24 nút theo thứ tự sau, nút gốc có thứ tự:

a)

Thứ 1

b)

Thứ 2

c)

Thứ 23

d)

Thứ 24

28.

Ðơn vị đo thời gian thực hiện là:

a)

A. Đơn vị đo thời gian bình thường giờ, phút ,giây...

b)

B. Không phải là đơn vị đo thời gian bình thường như giờ, phút, giây....

c)

C. Được xác định bởi thời gian được thực hiện trong một máy tính lý tưởng

d)

D. Tất cả đều sai

29.

Hàm thể hiện độ phức tạp có dạng thường gặp là:

a)

log2n, n, nlog2n

b)

n2 , n3

c)

2n, 3n , n! , nn

d)

Tất cả đều đúng

30.

Nút có khóa nhỏ nhất trong cây nhị phân tìm kiếm khác rỗng là:

a)

Nút gốc

b)

Tất cả các nút

c)

Nút bên phải cùng

d)

Nút bên trái cùng

31.

Để đánh giá giải thuật ta sử dụng khái niệm:

a)

A. Quy tắc cộng, quy tắc nhân và quy tắc chung

b)

B. Phương trình đệ quy, nghiệm của phương trình đệ quy

c)

C. Độ phức tạp và ký hiệu ô lớn

d)

D. Phương pháp truy hồi hoặc phương pháp đoán nghiệm.

32.

Nút có giá trị khóa lớn nhất trong cây nhị phân tìm kiếm khác rỗng là:

a)

Nút bên phải cùng

b)

Nút bên trái cùng

c)

Nút gốc

d)

Tất cả các nút

33.

Để lựa chọn một giải thuật tốt, ta sẽ căn cứ vào tiêu

a)

Giải thuật đúng đắn

b)

Giải thuật đơn giản

c)

Giải thuật thực hiện nhanh

d)

Tất cả đều đúng

34.

Định nghĩa nào là đúng với danh sách liên kết

a)

Danh sách liên kết là cấu trúc dữ liệu dạng cây.

b)

Danh sách liên kết là cấu trúc dữ liệu tự định nghĩa.

c)

Danh sách liên kết là tập hợp các phần tử mà giữa chúng có một sự nối kết với nhau thông qua vùng liên kết của chúng.

d)

Danh sách liên kết là tập hợp các phần tử mà đặt kề cận với nhau trong vùng nhớ.

35.

Để đánh giá một thuật toán ta thường dựa vào một số tiêu chí

a)

Tính hiệu quả

b)

Tính hữu hạn

c)

Tính đúng

d)

cả a,b,c đều đúng

36.

Chọn định nghĩa đúng nhất về hàng đợi (Queue)

a)

Hàng đợi còn được gọi là danh sách FILO và cấu trúc dữ liệu này còn được gọi cấu trúc FILO (First In Last Out)

b)

Hàng đợi là một danh sách mà trong đó thao tác thêm 1 phần tử vào trong danh sách được thực hiện 1 đầu này và lấy 1 phần tử trong danh sách lại thực hiện bởi đầu kia.

c)

Hàng đợi là một danh sách mà trong đó thao tác thêm 1 phần tử hay hủy một phần tử trong danh sách được thực hiện 1 đầu.

d)

Hàng đợi phải là một danh sách liên kết đơn.

37.

Trong giải thuật sắp xếp Quicksort, phần tử chốt tốt nhất là:

a)

Phần tử đầu tiên trong dãy.

b)

Phần tử cuối cùng trong dãy.

c)

Phần tử ở giữa

38.

Tìm câu đúng trong các câu sau:

a)

A. Việc thêm, bớt các phần tử trong danh sách đặc thuận lợi

b)

B. Việc truy xuất và tìm kiếm các phần tử của mảng dễ dàng.

c)

C. Kích thước mảng có thể thay đổi tùy ý.

d)

D. Sử dụng mảng thuận lợi hơn sử dụng danh sách liên kết.

39.

Trong giải thuật sắp xếp Quicksort, phần tử chốt tốt nhất là:

a)

Phần tử đầu tiên trong dãy

b)

Phần tử cuối cùng trong dãy

c)

Phần tử ở giữa dãy

d)

Phần tử trung vị của dãy

40.

Giả sử ta có hai giải thuật P1 và P2 với thời gian thực hiện tương ứng là T1(n) = 100n2 (với tỷ suất tăng là n2) và T2(n) = 5n3 (với tỷ suất tăng là n3 ) . Với n < 20 , giải thuật nào sẽ thực hiện nhanh hơn?

a)

Hai giải thuật P1 và P2 có thời gian thực hiện bằng nhau tương ứng (T2 = T1)

b)

Giải thuật P1 có thời gian thực hiện nhanh hơn giải thuật P2 (T1)

c)

Giải thuật P2 có thời gian thực hiện nhanh hơn giải thuật P1 (T2)

d)

Câu trả lời phụ thuộc vào kích thước dữ liệu vào

41.

Chọn phát biểu sai trong các phát biểu sau:

a)

Thuật toán tìm kiếm nhị phân áp dụng được trên dãy sắp xếp.

b)

Thuật toán tìm kiếm nhị phân áp dụng được trên dãy sắp xếp tăng.

c)

Thuật toán tìm kiếm nhị phân áp dụng được trên dãy sắp xếp giảm.

d)

Thuật toán tìm kiếm nhị phân chỉ áp dụng được trên dãy tăng.

42.

Theo ký pháp nghich đảo BaLan, biểu thức T = 2 3 4 * 5 6 / - + là biểu thức dạng nào?

a)

Trung tố

b)

Tiền tố

c)

Hậu tố

d)

Biểu thức trên không hợp lệ.

43.

Cho cây biểu thức sau Chọn biểu thức trung tố tương ứng với cây

a)

(2 * (4 + (5 + 3)))

b)

(4 * (2+ (5 + 3)))

c)

(2 * (3 + (5 +4)))

d)

(2 * (5 + (4+ 3)))

44.

Giả sử ta có hai giải thuật P1 và P2 với thời gian thực hiện tương ứng là T1(n) = 100n2 (với tỷ suất tăng là n2) và T2(n) = 5n3 (với tỷ suất tăng là n3 ) . Với n > 20 , giải thuật nào sẽ thực hiện nhanh hơn?

a)

Hai giải thuật P1 và P2 có thời gian thực hiện bằng nhau tương ứng (T2 = T1)

b)

Giải thuật P1 có thời gian thực hiện nhanh hơn giải thuật P2 (T1)

c)

Giải thuật P2 có thời gian thực hiện nhanh hơn giải thuật P1 (T2)

d)

Câu trả lời phụ thuộc vào kích thước dữ liệu vào

45.

Chọn phát biểu đúng trong các phát biểu dưới đây: bằng cách chạy thử 1 thuật toán với 1 bộ dữ liệu, ta có thể:

a)

Khẳng định thuật toán đúng nếu nó cho kết quả đúng

b)

Khẳng định thuật toán sai nếu cho kết quả sai

c)

Khẳng định thuật toán tốt nếu cho kết quả nhanh

d)

Khẳng định thuật toán hiệu quả nếu cho kết quả đúng

46.

Cấu trúc dữ liệu nào tương ứng nguyên tắc làm việc FIFO (First In First Out)

a)

Stack

b)

Queue

c)

Linked list

d)

Tree

47.

Cho biểu thức trung tố Q = a + (b*c - (d/e^f)*g)*h, chuyển Q sang biểu thức dạng hậu tố ta được kết quả nào sau đây?

a)

A. a b c* + d e f /^ g * - h * +

b)

B. a b c * d e f ^ / g - * h +*

c)

C. a b c+ * d e^ f / g * - h * +

d)

D. a b c * d e f ^ / g * - h * +

48.

Đoạn mã giả dưới đây thực hiện công việc gì? Function F(n) If n = 0 then return 1 Else return n + F(n-1);

a)

Tính n!

b)

Tính tổng n số nguyên đầu tiên

c)

Tính tổng n số nguyên lẻ đầu tiên

d)

Tính tổng n số nguyên chẵn đầu tiên