wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Data Structures and Algorithms - Practice Questions

Total questions: 89

Worksheet time: 50mins

Name
Class
Date
1.

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)

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

b)

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

c)

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

d)

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

2.

Để đánh giá cấu trúc dữ liệu chúng ta dựa vào tiêu chí:

a)

Cấu trúc dữ liệu phải tiết kiệm bộ nhớ trong

b)

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

c)

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

d)

Các phương án đều đúng

3.

Tiêu chuẩn để đánh giá giải thuật tốt là:

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ả các phương án đều đúng

4.

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 đầu vào, ký hiệu là T(n) trong đó n là kích thước (độ lớn) của dữ liệu đầu vào

b)

Một hàm của độ dài dữ liệu đầu vào, ký hiệu là N(x) trong đó x là độ dài của dữ liệu đầ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 đầu vào có kích thước n

5.

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)

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)

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

c)

Thời gian trung bình để 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 tốt nhất trên dữ liệu vào có cùng kích thước n

6.

Phương pháp để xác định hiệu quả thời gian thực hiện của một giải thuật là:

a)

Lập trình hoạt động trên một máy tính xác định xác định đối với tập hợp được chọn lọc các dữ liệu vào

b)

Đo lường thời gian thực hiện của hoạt động trên một máy tính xác định đối với tập hợp được chọn lọc các dữ liệu vào

c)

Cả hai đáp án cụ thể đều sai

d)

Cả hai đáp án cụ thể đều đúng

7.

Khi ta nói thời gian thực hiện của một chương trình là T(n) = Cn thì có nghĩa là chương trình ấy:

a)

Cần C chỉ thị thực thi

b)

Cần T(n) chỉ thị thực thi

c)

Cần n chỉ thị thực thi

d)

Cần Cn chỉ thị thực thi

8.

Đơn vị do thời gian thực hiện chương trình là:

a)

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

b)

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

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)

Tất cả đều sai

9.

Tìm mệnh đề sai trong các mệnh đề sau, một cấu trúc dữ liệu bao gồm:

a)

Một tập hợp nào đó các dữ liệu thành phần

b)

Các dữ liệu thành phần đặt sát nhau trong bộ nhớ

c)

Kiểu dữ liệu là một tập hợp nào đó các phần tử dữ liệu cùng chung một thuộc tính

d)

Tất cả đều là mệnh đề sai

10.

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 là:

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 n

b)

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

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 T

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

11.

Trong giải thuật, bài toán liệt kê là:

a)

Bài toán yêu cầu đưa ra danh sách các cấu hình

b)

Bài toán phân tích đối tượng thành nhiều thành phần

c)

Bài toán tính số tổ hợp chập k của n theo công thức truy hồi

d)

Tất cả đều đúng

12.

Thuật toán đệ quy là:

a)

Thuật toán có lời gọi đến một thuật toán khác

b)

Thuật toán có lời gọi đến chính nó nhưng với kích thước lớn hơn

c)

Thuật toán có lời gọi trực tiếp đến chính nó nhưng với kích thước nhỏ hơn.

d)

Thuật toán có lời gọi trực tiếp hoặc gián tiếp đến chính nó nhưng có kích thước nhỏ hơn.

13.

Cơ chế thực hiện giải thuật đệ quy bao gồm:

a)

Một giai đoạn chính là đi từ trên xuống

b)

Một giai đoạn chính đi từ dưới lên

c)

Hai giai đoạn chính: đi từ trên xuống và đi từ dưới lên

d)

Tất cả các đáp án đều sai

14.

Câu 13. Cho hàm đệ quy sau: int factorial(int n) { if (n == 0) // Phần neo. return 1; else // Phần gọi đệ quy. return factorial(n - 1) * n; } Sau mỗi lần gọi đệ quy thì giá trị của biến n:

a)

A. Tăng lên 1 đơn vị

b)

B. Giảm xuống 1 đơn vị

c)

C. n có giá trị bằng 0

d)

D. n có giá trị bằng 1

15.

Khi thực hiện thuật toán đệ quy, chia bài toán thành mấy phần?

a)

2 phần

b)

3 phần

c)

1 phần

d)

Không chia thành các phần

16.

Số bước thực hiện thuật toán đệ quy cho bài toán Tháp Hà Nội với số lượng đĩa 3 là:

a)

5 bước

b)

6 bước

c)

7 bước

d)

8 bước

17.

Nhược điểm của thuật toán đệ quy là:

a)

Tốn bộ nhớ

b)

Tốn thời gian

c)

Dễ gây tràn bộ nhớ

d)

Tất cả các phương án đều đúng

18.

Đoạn mã nguồn sau trả lại kết quả bằng bao nhiêu khi nhập n =4: int sum(int n) { if (n != 0) // sum() function calls itself return n + sum(n-1); else return n; }

a)

Kết quả là 9

b)

Kết quả là 10

c)

Kết quả là 11

d)

Kết quả là 8

19.

Câu 18. Đoạn mã nguồn sau trả lại kết quả bằng bao nhiêu khi nhập n = 5: int fibonacci(int n) { if(n == 0){ ... } } A. 5 B. 8 C. 3 D. 1

a)

5

b)

8

c)

3

d)

1

20.

Đoạn mã nguồn sau trả lại kết quả bằng bao nhiêu khi nhập n=5: return 0; } else if(n == 1) { return 1; } else { return (fibonacci(n-1) + fibonacci(n-2)); }

a)

Kết quả là 5

b)

Kết quả là 8

c)

Kết quả là 6

d)

Kết quả là 9

21.

Đoạn mã nguồn sau trả lại kết quả bằng bao nhiêu khi nhập base=3, a=4: int power(int base, int a) { if (a != 0) return (base * power(base, a - 1)); else return 1; }

a)

Kết quả là 82

b)

Kết quả là 81

c)

Kết quả là 69

d)

Kết quả là 98

22.

Số lần gọi đệ quy trong đoạn mã nguồn sau đây là bao nhiêu khi nhập n=9: int display(int n) { if (n != 0) return n + sum(n-1); else return n; }

4 lines
23.

Danh sách là gì trong lập trình?

a)

Một dãy số nguyên

b)

Một cấu trúc dữ liệu lưu trữ các phần tử liên tiếp

c)

Một phương thức sắp xếp dữ liệu

d)

Một loại biến đặc biệt

24.

Trong danh sách bởi mảng, cách truy cập vào phần tử có chỉ số là:

a)

Dấu ngoặc vuông ([])

b)

Dấu ngoặc tròn (())

c)

Dấu ngoặc nhọn ({})

d)

Dấu ngoặc kép ("")

25.

Đặc điểm quan trọng của danh sách là:

a)

Các phần tử có thể thay đổi

b)

Các phần tử không thể thay đổi

c)

Chỉ chứa số nguyên

d)

Chỉ chứa chuỗi ký tự

26.

Stack là một cấu trúc dữ liệu có nguyên tắc gì?

a)

FIFO (First In First Out)

b)

LIFO (Last In First Out)

c)

LILO (Last In Last Out)

d)

FILO (First In Last Out)

27.

Phép toán chính trên stack là:

a)

Push và Pop

b)

Add và Remove

c)

Enqueue và Dequeue

d)

Insert và Delete

28.

Câu 26. Khi một phần tử được thêm vào stack, nó được thêm vào:

a)

Đỉnh của stack (Top of the stack)

b)

Đáy của stack (Bottom of the stack)

c)

Giữa stack (Middle of the stack)

d)

Vị trí bất kỳ trong stack (Any position in the stack)

29.

Queue hoạt động theo nguyên tắc nào?

a)

A. LIFO (Last In First Out)

b)

B. FIFO (First In First Out)

c)

C. LILO (Last In Last Out)

d)

D. FILO (First In Last Out)

30.

Phép toán chính trên queue là:

a)

Push và Pop

b)

Enqueue và Dequeue

c)

Add và Remove

d)

Insert và Delete

31.

Trong queue, phần tử mới được thêm vào ở đâu?

a)

Ở đầu danh sách

b)

Ở cuối danh sách

c)

Ở giữa danh sách

d)

Ở đỉnh của queue

32.

Khi một phần tử được loại bỏ khỏi stack, phép toán đó được gọi là:

a)

Pop

b)

Push

c)

Peek

d)

Empty

33.

Ngăn xếp có thể được triển khai bằng cách sử dụng:

a)

Mảng

b)

Danh sách liên kết

c)

Cả mảng và danh sách liên kết

d)

Cả mảng, danh sách liên kết và cây

34.

Điểm khác biệt chính giữa danh sách liên kết đơn và danh sách liên kết kép là gì?

a)

Danh sách liên kết kép có thể truy cập cả hai chiều, còn danh sách liên kết đơn chỉ truy cập một chiều.

b)

Danh sách liên kết đơn có thể truy cập cả hai chiều, còn danh sách liên kết kép chỉ truy cập một chiều.

c)

Danh sách liên kết đơn không sử dụng con trỏ.

d)

Danh sách liên kết kép không thể thêm phần tử mới.

35.

Hãy chọn định nghĩa đúng nhất về danh sách kiểu hàng đợi (Queue)?

a)

Hàng đợi là kiểu danh sách tuyến tính trong đó, phép bổ sung một phần tử được thực hiện ở một đầu, gọi là lối sau (rear) hay lối trước (front). Phép loại bỏ không thực hiện được

b)

Hàng đợi là kiểu danh sách tuyến tính trong đó, phép bổ sung một phần tử hay loại bỏ được thực hiện ở một đầu danh sách gọi là đỉnh (Top)

c)

Hàng đợi là một danh sách tuyến tính trong đó phép bổ sung một phần tử và phép loại bỏ một phần tử được thực hiện ở tại một vị trí bất kì trong danh sách

d)

Hàng đợi là kiểu danh sách tuyến tính trong đó, phép bổ sung phần tử ở một đầu, gọi là lối sau (rear) và phép loại bỏ phần tử được thực hiện ở đầu kia, gọi là lối trước (front)

36.

Cho Stack gồm 5 phần tử {12, 5, 20, 23, 72}, trong đó 72 là phần tử ở đỉnh Stack. Để lấy ra phần tử thứ 4 trong Stack ta phải thực hiện theo phương án nào?

a)

POP(72), POP(23), POP(20), POP(5)

b)

POP(72), POP(23), PUSH(20), POP(5)

c)

POP(23), PUSH(23), POP(72), POP(5)

d)

POP(23), PUSH(72), POP(20), POP(5)

37.

Hãy cho biết ý tưởng nào sau đây nói về phương pháp sắp xếp lựa chọn tăng dần (select sort)?

a)

Phân đoạn dãy thành nhiều dãy con và lần lượt trộn hai dãy con thành dãy lớn hơn, cho đến khi dãy được dãy ban đầu đã được sắp xếp

b)

Lần lượt lấy phần tử của danh sách chèn vị trí thích hợp của nó trong dãy

c)

Chọn phần tử bé nhất xếp vào vị trí thứ nhất bằng cách đổi chỗ phần tử bé nhất với phần tử thứ nhất; Tương tự đối với phần tử nhỏ thứ hai đổi chỗ cho phần tử thứ hai, cứ như vậy cho đến phần tử trước phần tử cuối cùng

38.

Phương pháp nào sau đây chính là phương pháp sắp xếp nhanh (Quick sort)?

a)

Phương pháp trộn

b)

Phương pháp vun đống

c)

Phương pháp chèn

d)

Phương pháp phân đoạn

39.

Ý tưởng phương pháp sắp xếp nhanh (Quick sort) là:

a)

Chọn phần tử bé nhất xếp vào vị trí thứ nhất bằng cách đổi chỗ phần tử bé nhất với phần tử thứ nhất; Tương tự đối với phần tử nhỏ thứ hai, ba...

b)

Bắt đầu từ cuối dãy đến đầu dãy, ta lần lượt so sánh hai phần tử kề tiếp nhau, nếu phần tử nào nhỏ hơn được đứng vị trí trên.

c)

Lần lượt chia dãy phần tử thành hai dãy con bởi một phần tử khoá (dãy con trước khoá gồm các phần tử nhỏ hơn khoá và dãy còn lại gồm các phần tử lớn hơn khoá).

d)

Phân đoạn dãy thành nhiều dãy con và lần lượt trộn hai dãy con thành dãy lớn hơn, cho đến khi thu được dãy ban đầu đã được sắp xếp.

40.

Ý tưởng phương pháp sắp xếp Trộn (Merge sort) là:

a)

Bắt đầu từ cuối dãy đến đầu dãy, ta lần lượt so sánh hai phần tử kề tiếp nhau, nếu phần tử nào nhỏ hơn được đứng vị trí trên.

b)

Lần lượt chia dãy phần tử thành hai dãy con bởi một phần tử khoá (dãy con trước khoá gồm các phần tử nhỏ hơn khoá và dãy còn lại gồm các phần tử lớn hơn khoá).

c)

Chọn phần tử bé nhất xếp vào vị trí thứ nhất bằng cách đổi chỗ phần tử bé nhất với phần tử thứ nhất; Tương tự đối với phần tử nhỏ thứ hai,ba...

d)

Phân đoạn dãy thành nhiều dãy con và lần lượt trộn hai dãy con thành dãy lớn hơn, cho đến khi thu được dãy ban đầu đã được sắp xếp.

41.

Cơ chế heap trong sắp xếp vun đống là:

4 lines
42.

Trong giải thuật sắp xếp vun đống, ta có 4 thủ tục con (Insert - thêm 1 phần tử vào cây; Downheap - vun đống lại sau khi loại một phần tử khỏi Heap, Upheap- vun đống sau khi thêm một phần tử vào cây; Remove - loại 1 phần tử khỏi cây nhị phân). Để sắp xếp các phần tử trong dãy theo phương pháp vun đống, ta thực hiện 4 thủ tục trên theo thứ tự như thế nào?

a)

Insert – Upheap – Remove – Downheap

b)

Remove – Downheap – Insert – Upheap

c)

Insert – Upheap – Downheap – Remove

d)

Upheap – Downheap – Remove – Insert

43.

Tư tưởng của giải thuật tìm kiếm tuần tự là:

a)

Tìm kiếm dựa vào cây nhị tìm kiếm: Nếu giá trị cần tìm nhỏ hơn gốc thì thực hiện tìm kiếm trên cây con trái, ngược lại ta việc tìm kiếm được thực hiện trên cây con phải.

b)

Lần lượt chia dãy thành hai dãy con dựa vào phần tử khoá, sau đó thực hiện việc tìm kiếm trên hai đoạn đã chia.

c)

So sánh X lần lượt với các phần tử thứ nhất, thứ hai, ...của dãy cho đến khi gặp phần tử có khoá cần tìm hoặc không thấy X trong dãy.

d)

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 giới hạn dãy tìm kiếm nằm ở nửa trên, hay nửa dưới của dãy hiện hành.

44.

Trong các giải thuật sắp xếp, giải thuật nào áp dụng phương pháp "Chia để trị"?

a)

A. Quick sort, Heap sort

b)

B. Quick sort, Insert sort

45.

Cây nhị phân hoàn chỉnh với tính chất giá trị của nút cha luôn lớn hơn giá trị hai nút con.

a)

Cây nhị phân đầy đủ với tính chất giá trị của nút cha lớn luôn lớn hơn giá trị các nút trong cây con trái và nhỏ hơn giá trị các nút trong cây con phải.

b)

Cây nhị phân hoàn chỉnh với tính chất giá trị của nút cha lớn luôn lớn hơn giá trị các nút trong cây con trái và nhỏ hơn giá trị các nút trong cây con phải.

c)

Cây nhị phân hoàn chỉnh với tính chất giá trị của nút cha lớn luôn lớn hơn giá trị các nút trong cây con trái và nhỏ hơn giá trị các nút trong cây con phải.

d)

Cây nhị phân hoàn chỉnh với tính chất giá trị của nút cha luôn lớn hơn giá trị hai nút con.

46.

Thuật toán sắp xếp nào hoạt động bằng cách so sánh từng cặp phần tử liền kề nhau và đổi chỗ nếu cần thiết?

a)

Sắp xếp nhanh (Quick Sort)

b)

Sắp xếp nổi bọt (Bubble Sort)

c)

Sắp xếp chèn (Insertion Sort)

d)

Sắp xếp trộn (Merge Sort)

47.

Thuật toán sắp xếp nhanh (Quick Sort) có độ phức tạp thời gian trong trường hợp xấu nhất là bao nhiêu?

a)

O(1)

b)

O(n)

c)

O(logn)

d)

O(n2)O(n^2)

48.

Cho thuật toán sắp xếp Bubble Sort, chọn câu đúng nhất cho hàm Swap:

a)

void Swap(int &X, int &Y) { int Temp = X; X = Y; Y = Temp; return; }

b)

void Swap(float X, floatY) { int Temp = X; X = Y; Y = Temp; return; }

c)

void Swap(int *X, int *Y) { int Temp = X; X = Y; Y = Temp; return; }

d)

void Swap(X, intY) { int Temp = X; X = Y; Y = Temp; return; }

49.

Đối với thuật toán sắp xếp chọn trực tiếp cho dãy các phần tử sau: 16 60 2 25 15 45 5 30 33 20. Cần thực hiện bao nhiêu lần chọn lựa phần tử nhỏ nhất để sắp xếp mảng trên có thứ tự tăng dần.

a)

7 lần

b)

8 lần

50.

Trong cây nhị phân, nút trên cùng được gọi là gì?

a)

Nút gốc

b)

Nút lá

c)

Nút cha

d)

Nút con

51.

Đặc điểm nào mô tả cây nhị phân hoàn chỉnh?

a)

Mỗi nút có tối đa một nút con trái và một nút con phải

b)

Mỗi nút có thể có nhiều hơn một nút con trái và một nút con phải

c)

Mỗi nút không có nút con trái hoặc phải

d)

Mỗi nút có nhiều hơn hai nút con

52.

Trong quá trình duyệt cây nhị phân theo thứ tự trước (preorder), thứ tự duyệt nút là gì?

a)

Nút cha trước, sau đó là nút con trái và nút con phải

b)

Nút con trái trước, sau đó là nút cha và nút con phải

c)

Nút con phải trước, sau đó là nút cha và nút con trái

d)

Nút cha trước, sau đó là nút con phải và nút con trái

53.

Trong cây nhị phân tìm kiếm, khóa tìm kiếm của nút con phải, so với khóa tìm kiếm của nút cha và của nút con trái?

a)

Lớn hơn

b)

Nhỏ hơn

c)

Bằng

d)

Không có quy tắc cụ thể

54.

Cây nhị phân cân bằng là gì?

a)

Cây mà mọi nút đều có hai nút con

b)

Cây mà độ cao của cây là tối thiểu

c)

Cây mà độ chênh lệch giữa độ cao của cây con trái và cây con phải của mọi nút là nhỏ hơn hoặc bằng một giá trị cho phép, thường là 1

d)

Cây mà tỷ lệ giữa số nút lá và số nút trong cây là tối ưu

55.

Trong cây nhị phân tìm kiếm, thao tác chèn một giá trị mới thường được thực hiện ở đâu?

a)

Nút lá đầu tiên mà gặp

b)

Nút gốc

c)

Nút lá cuối cùng

d)

Nút lá gần giá trị cần chèn nhất

56.

Trong cây nhị phân tìm kiếm, thứ tự duyệt theo phương pháp inorder sẽ cho ra kết quả như thế nào?

a)

Giá trị giảm dần

b)

Giá trị tăng dần

c)

Giá trị không theo thứ tự cụ thể

d)

Giá trị không hiển thị

57.

Trong cây nhị phân tìm kiếm, thao tác xóa một nút thường yêu cầu làm gì với các nút con của nút cần xóa?

a)

Chuyển tất cả các nút con sang cây con trái

b)

Chuyển tất cả các nút con sang cây con phải

c)

Giữ nguyên cấu trúc cây con trái và cây con phải

d)

Xóa tất cả các nút con

58.

Cây nhị phân đầy đủ là gì?

a)

Cây mà mọi nút đều có đúng hai nút con

b)

Cây mà tất cả các nút đều có giá trị tăng dần

c)

Cây mà tất cả các nút lá đều ở mức cuối cùng

d)

Cây mà tất cả các nút đều có giá trị giảm dần

59.

Trong cây nhị phân, giá trị ở nút con phải luôn lớn hơn giá trị ở nút cha và giá trị ở nút con trái luôn nhỏ hơn giá trị ở nút cha. Điều này đảm bảo gì?

a)

Cây nhị phân hoàn chỉnh

b)

Cây nhị phân đầy đủ

c)

Thuật toán tìm kiếm hiệu quả

d)

Cây nhị phân tìm kiếm

60.

Trong cây nhị phân tìm kiếm, thứ tự duyệt theo thứ tự inorder sẽ cho kết quả nào?

a)

A. Tăng dần

b)

B. Giảm dần

c)

C. Ngẫu nhiên

d)

D. Không xác định

61.

Đối với một cây nhị phân tìm kiếm, thao tác chèn một giá trị mới sẽ được thực hiện ở đâu?

a)

Nút lá cuối cùng

b)

Nút gốc

c)

Nút lá đầu tiên mà gặp

d)

Nút lá gần giá trị cần chèn nhất

62.

Trong cây nhị phân tìm kiếm, thao tác xóa một nút yêu cầu sự xử lý phức tạp nhất khi nút cần xóa có bao nhiêu nút con?

a)

0

b)

1

c)

2

d)

3

63.

Cây nhị phân cân bằng là gì?

a)

Cây mà tất cả các nút đều có đúng hai nút con

b)

Cây mà độ chênh lệch giữa chiều cao của cây con trái và cây con phải của mọi nút là nhỏ nhất

c)

Cây mà độ chênh lệch giữa số nút lá và số nút trong cây là nhỏ nhất

d)

Cây mà độ chênh lệch giữa chiều cao của cây con trái và cây con phải của mọi nút là lớn nhất

64.

Trong cây nhị phân tìm kiếm, thao tác tìm kiếm một giá trị cụ thể có độ phức tạp thời gian là bao nhiêu trong trường hợp trung bình?

a)

O(1)

b)

O(log n)

c)

O(n)

65.

Khi xóa một nút trong cây nhị phân tìm kiếm, nếu nút đó có hai nút con, nút thay thế sẽ được chọn như thế nào?

a)

Chỉ có thể chọn nút con trái

b)

Chỉ có thể chọn nút con phải

c)

Ta có thể chọn một trong hai nút con, nút con còn lại được đưa xuống làm con phù hợp của cây con nút thay thế

d)

Xóa luôn hai nút con

66.

Trong cây nhị phân tìm kiếm, nếu thực hiện thao tác tìm kiếm và giá trị không tồn tại trong cây, kết quả sẽ là gì?

a)

Giá trị gần nhất

b)

Null

c)

Giá trị 0

d)

Giá trị lớn nhất trong cây

67.

Trong cây nhị phân tìm kiếm, việc sắp xếp các nút theo thứ tự inorder được thực hiện bằng cách nào?

a)

Sử dụng thuật toán sắp xếp nổi bọt

b)

Sử dụng thuật toán quicksort

c)

Sử dụng thuật toán mergesort

d)

Thực hiện thao tác duyệt theo thứ tự inorder trên cây

68.

Đồ thị là gì?

a)

Tập hợp các đỉnh và cạnh (hay cung)

b)

Phương trình toán học

c)

Tập hợp các hình học

d)

Bảng số liệu

69.

Trong đồ thị vô hướng, mỗi cạnh nối:

a)

2 đỉnh

b)

3 đỉnh

c)

4 đỉnh

d)

5 đỉnh

70.

Một đồ thị có hướng có bao nhiêu đỉnh có thể kết nối với một đỉnh cụ thể?

a)

0

b)

1

c)

Nhiều hơn 1

d)

Tùy thuộc vào loại đồ thị

71.

Trong đồ thị có hướng, đỉnh có bậc là gì?

a)

Số cạnh kết nối với đỉnh đó

b)

Độ dài của đỉnh

c)

Màu sắc của đỉnh

d)

Tên của đỉnh

72.

Một chu trình trong đồ thị là gì?

a)

Đỉnh không có cạnh

b)

Tập hợp các đỉnh không kết nối

c)

Đường đi đóng thành vòng

d)

Các đỉnh có màu sắc giống nhau

73.

Đồ thị không chu trình được gọi là gì?

a)

Đồ thị đầy đủ

b)

Đồ thị vô hướng

c)

Đồ thị cây

d)

Đồ thị đồng dạng

74.

Trong đồ thị, đỉnh có bậc vào và ra là bao nhiêu?

a)

Bậc vào và bậc ra không liên quan

b)

Chúng luôn bằng nhau

c)

Chúng có thể bằng nhau hoặc khác nhau

d)

Không có khái niệm bậc vào và ra

75.

Một đồ thị được gọi là đồ thị đầy đủ nếu:

a)

Có nhiều đỉnh nhất

b)

Mọi đỉnh đều kết nối với tất cả các đỉnh khác

c)

Không có chu trình

d)

Đỉnh và cạnh có màu sắc đẹp

76.

Trong đồ thị, đường đi ngắn nhất giữa hai đỉnh được gọi là:

a)

Đường đi tối ưu

b)

Đường đi ngắn nhất

c)

Đường đi đẹp nhất

d)

Đường đi tiện ích

77.

Đồ thị có trọng số là gì?

a)

Mỗi đỉnh có một trọng số

b)

Mỗi cạnh có một trọng số

c)

Cả đỉnh và cạnh đều có trọng số

d)

Không có trọng số

78.

Trong đồ thị, liên thông có nghĩa là gì?

a)

A. Tất cả các đỉnh đều kết nối

b)

B. Một số đỉnh không kết nối

c)

C. Tất cả các cạnh đều kết nối

d)

D. Không có đỉnh nào kết nối

79.

Một đồ thị được gọi là đồ thị cây nếu:

a)

Có nhiều nhánh nhất

b)

Không có chu trình và liên thông

c)

Có nhiều chu trình

d)

Có nhiều đỉnh nhất

80.

Trong thuật toán DFS, các đỉnh được thăm theo thứ tự nào?

a)

Theo thứ tự bậc tăng dần

b)

Theo thứ tự bậc giảm dần

c)

Theo thứ tự tìm thấy đầu tiên

d)

Theo thứ tự tìm thấy cuối cùng

81.

Câu 78
Tìm mô tả đúng nhất cho hàm TinhTong sau:
int TinhTong(int N)
{
int so = 2; int tong = 0; int dem = 0;
}
Đâu là mô tả đúng nhất về chức năng của hàm TinhTong?

a)

Hàm khởi tạo các biến nhưng chưa thực hiện phép tính nào.

b)

Hàm tính tổng các số chẵn nhỏ hơn N.

c)

Hàm tính tổng các số lẻ nhỏ hơn N.

d)

Hàm trả về tổng của N số nguyên đầu tiên.

82.

Given the following code: while (dem

a)

Hàm tính tổng N số nguyên đầu tiên

b)

Hàm tính tổng các số nguyên tố nhỏ hơn N

c)

Hàm tính tổng N số nguyên tố đầu tiên

d)

Hàm tính tổng các số nguyên tố lớn hơn N

83.

This algorithm describes which process?

a)

Sorting a list of numbers

b)

Searching for a specific value

c)

Calculating the average of a dataset

d)

Encrypting a message

84.

Which of the following is a linear search for an element X?

a)

Binary search for element X

b)

Find the smallest element in an array M of N elements

c)

Linear search for element X

d)

All are incorrect

85.

Which statement best defines a list?

a)

A. A list is a collection of elements with a defined data type and each element is linked to another

b)

B. The number of elements in a list is called the length of the list

c)

C. A list with length 0 is an empty list

d)

D. All are correct

86.

What are the advantages of arrays?

a)

Adding or removing elements in a static list is difficult because other elements must be moved

b)

Accessing and searching for elements in an array is easy because elements are stored contiguously and can be accessed using their index (address)

c)

Memory usage of arrays is optimal

d)

All are correct

87.

Choose the most correct statement about doubly linked lists:

a)

Each element in a doubly linked list has 2 links to 1 other element in the list

b)

Each element in a doubly linked list has 1 link to 2 other elements in the list

c)

Each element in a doubly linked list has 2 links to the previous and next elements in the list

d)

Each element in a doubly linked list has 2 links to the first and last elements in the list

88.

Given the following code: int Last = N - 1; while (First <= Last) { int Mid = (First + Last)/2; if (X == M[Mid]) return(Mid); if (X < M[Mid]) Last = Mid - 1; else First = Mid + 1; } return(-1); Choose the best answer in the case where the middle element of the array is equal to X:

a)

A. Number of assignments: Gmin = 3, Number of comparisons: Smin = 2

b)

B. Number of assignments: Gmin = 2, Number of comparisons: Smin = 3

c)

C. Number of assignments: Gmin = 2, Number of comparisons: Smin = 2

d)

D. Number of assignments: Gmin = 0, Number of comparisons: Smin = 2

89.

Given the following expression tree: [Diagram of an expression tree with root '+', left child 'x', right child '+', left subtree '4' and '5', right subtree '3'] Which of the following expressions corresponds to the tree?

a)

x + (4 + 5) + 3

b)

(x + 4) + (5 + 3)

c)

x + 4 + 5 + 3

d)

(x + (4 + 5)) + 3