wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Câu hỏi về độ phức tạp thuật toán

Total questions: 131

Worksheet time: 1hrs 18mins

Name
Class
Date
1.

Độ dài của danh sách được đo bằng gì?

a)

Số lượng phần tử trong danh sách

b)

Kích thước bộ nhớ được cấp phát

c)

Số nút trong danh sách liên kết

d)

Số phần tử tối đa có thể chứa

2.

Độ dài đường đi (path length) trong cây từ nút gốc đến nút x được đo như thế nào?

a)

Bằng số nút trên đường đi - 1

b)

Bằng số nhánh cần đi qua kể từ gốc đến x

c)

Bằng số mức của cây

d)

Bằng số nút lá

3.

Độ dài đường đi trên đồ thị là gì?

a)

Số lượng đỉnh trên đường đi

b)

Số lượng cung trên đường đi

c)

Số mức của đồ thị

d)

Số nhánh trong đồ thị

4.

Độ phức tạp của thuật toán tính giá trị của biểu thức 1 + 2 + 3 + ... + n là gì?

a)

O(1)

b)

O(n)

c)

O(n²)

d)

O(n log n)

5.

Độ phức tạp của thuật toán tính giá trị của biểu thức n² + 35n + 6 là gì?

a)

O(n)

b)

O(n²)

c)

O(n log n)

d)

O(1)

6.

Độ phức tạp trong trường hợp tốt nhất của thuật toán tìm kiếm nhị phân là bao nhiêu?

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

7.

Độ phức tạp trong trường hợp tốt nhất của thuật toán tìm kiếm tuyến tính là bao nhiêu?

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

8.

Độ phức tạp trong trường hợp xấu nhất của thuật toán tìm kiếm tuyến tính là bao nhiêu?

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

9.

kiếm tuyến tính là bao nhiêu?

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

10.

Độ phức tạp trung bình T(n) của thuật toán tìm kiếm 1 nút có khóa x trên cây nhị phân tìm kiếm là bao nhiêu?

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

11.

Đồ thị G là liên thông khi và chỉ khi?

a)

Có đường đi giữa hai đỉnh bất kỳ thuộc G

b)

Có ít nhất một đỉnh có bậc lớn hơn 1

c)

Có ít nhất một chu trình

d)

Có ít nhất một cung

12.

Đồ thị vô hướng liên thông là gì?

a)

Phải tồn tại đường đi giữa hai đỉnh bất kỳ

b)

Phải có ít nhất một chu trình

c)

Phải có ít nhất một đỉnh có bậc lớn hơn 1

d)

Phải có ít nhất một cung

13.

Duyệt đồ thị theo phương pháp nào dưới đây?

a)

Duyệt theo chiều rộng - BFS và Duyệt theo chiều sâu - DFS

b)

Duyệt theo mức và duyệt theo thứ tự

c)

Duyệt tuyến tính và duyệt nhị phân

d)

Duyệt đệ quy và duyệt lặp

14.

Giả sử một cây nhị phân có 8 nút, chiều cao tối đa của cây là bao nhiêu?

a)

4

b)

6

c)

8

d)

16

15.

Giả sử một cây nhị phân có 8 nút, số tối thiểu các nút lá có thể có là bao nhiêu?

a)

1

b)

2

c)

4

d)

8

16.

Đặc trưng nào sau đây không phải là ưu điểm của phương pháp đệ quy?

a)

Sáng sủa, dễ hiểu

b)

Nêu rõ bản chất vấn đề

c)

Tối ưu về mặt thời gian

d)

Dễ cài đặt

17.

Đánh giá độ phức tạp của giải thuật là việc xác định gì?

a)

Khoảng thời gian và dung lượng bộ nhớ máy tính

b)

Độ chính xác và tốc độ thực thi

18.

Đánh giá độ phức tạp của giải thuật là việc xác định gì?

a)

Khoảng thời gian và dung lượng bộ nhớ máy tính

b)

Độ chính xác và tốc độ thực thi

c)

Kích thước dữ liệu và hiệu suất

d)

Độ phức tạp và tính khả thi

19.

Danh sách đặc là danh sách có đặc tính gì?

a)

Các phần tử nằm ngẫu nhiên trong bộ nhớ

b)

Không gian lưu trữ các phần tử nằm liên tiếp trong bộ nhớ

c)

Các phần tử được liên kết qua con trỏ

d)

Danh sách chỉ chứa các phần tử số nguyên

20.

Danh sách liên kết được dùng để biểu diễn một dãy các phần tử a1, a2, ..., an với n >= 0. Nếu n = 0, ta có kết luận gì?

a)

Danh sách đầy

b)

Danh sách rỗng

c)

Danh sách đặc

d)

Danh sách liên kết kép

21.

Đâu là kiểu dữ liệu có cấu trúc?

a)

Float

b)

Int

c)

Struct

d)

Char

22.

Đâu là phương pháp biểu diễn đồ thị?

a)

Ma trận kề và danh sách

b)

Danh sách và ngăn xếp

c)

Hàng đợi và ma trận kề

d)

Ngăn xếp và hàng đợi

23.

Đâu là phương pháp sắp xếp ngoài với các phương pháp sau?

a)

QuickSort

b)

MergeSort

c)

HeapSort

d)

Cả ba phương pháp trên

24.

Đâu là phương pháp sắp xếp trong với các phương pháp sau?

a)

QuickSort

b)

MergeSort

c)

HeapSort

d)

Tất cả đều sai

25.

Dãy số Fibonacci: 1, 1, 2, 3, 5, 8, 13. Sử dụng giải thuật đệ quy để tính giá trị của số Fibonacci thứ n. Trường hợp suy biến là gì?

a)

n < 2

b)

n < 3

c)

n > 2

d)

n > 3

26.

Dãy số Fibonacci: 1, 1, 2, 3, 5, 8, 13. Sử dụng giải thuật đệ quy để tính giá trị của số Fibonacci thứ n. Trường hợp gọi đệ quy là gì?

a)

n < 2

b)

n < 3

c)

n >= 3

d)

n > 2

27.

Để duyệt cây nhị phân theo mức, ta dùng cấu trúc dữ liệu nào sau đây?

a)

Ngăn xếp

b)

Hàng đợi

c)

Mảng

d)

Danh sách liên kết

28.

Để giải bài toán liệt kê tất cả các hoán vị n số tự nhiên đầu tiên, ta dùng loại đệ quy nào?

a)

Đệ quy tuyến tính

b)

Đệ quy nhị phân

c)

Đệ quy quay lui

d)

Đệ quy tương hỗ

29.

Để giải quyết các bài toán theo kiểu vét cạn, chúng ta cần áp dụng thuật toán đệ quy nào?

a)

Đệ quy tuyến tính

b)

Đệ quy nhị phân

c)

Đệ quy quay lui

d)

Đệ quy tương hỗ

30.

Để giải quyết một bài toán trên máy tính, cần xác định điều gì?

a)

Mục tiêu, công nghệ, thuật toán

b)

Cấu trúc dữ liệu, ngôn ngữ lập trình

c)

Thời gian, bộ nhớ

d)

Độ phức tạp, độ chính xác

31.

Để khử đệ quy, chúng ta sử dụng cấu trúc dữ liệu nào sau đây?

a)

Mảng

b)

Ngăn xếp

c)

Hàng đợi

d)

Danh sách liên kết

32.

Để lấy giá trị lớn nhất trong một mảng n số nguyên, ta sử dụng hàm int max(int A[], int n) nào được cài đặt theo đệ quy sau?

a)

if (n == 1) return A[0]; else return (A[n-1] > max(A, n-1) ? A[n-1] : max(A, n-1));

b)

if (n == 1) return A[0]; else return (A[n-1] < max(A, n-1) ? A[n-1] : max(A, n-1));

c)

if (n == 1) return A[0]; else return A[n-1];

d)

if (n == 1) return A[0]; else return max(A, n-1);

33.

Để lấy giá trị nhỏ nhất trong một mảng n số nguyên, ta sử dụng hàm int min(int A[], int n) nào được cài đặt theo đệ quy sau?

a)

if (n == 1) return A[0]; else return (A[n-1] < min(A, n-1) ? A[n-1] : min(A, n-1));

b)

if (n == 1) return A[0]; else return (A[n-1] > min(A, n-1) ? A[n-1] : min(A, n-1));

c)

if (n == 1) return A[0]; else return A[n-1];

d)

if (n == 1) return A[0]; else return min(A, n-1);

34.

Để lựa chọn một thuật toán tốt, ta sẽ căn cứ vào tiêu chuẩn nào sau đây?

a)

Độ phức tạp thời gian

b)

Độ phức tạp không gian

c)

Tính dễ hiểu

d)

Cả ba câu trên đều đúng

35.

Để mô tả các mối quan hệ nhiều-nhiều giữa các phần tử trong một tập hợp, ta nên sử dụng cấu trúc dữ liệu nào?

a)

Mảng

b)

Danh sách liên kết

c)

Đồ thị

d)

Ngăn xếp

36.

Đệ quy gián tiếp là gì?

a)

Hàm chứa lời gọi đến hàm khác, mà ở hàm này lại chứa lời gọi đến chính nó

b)

Hàm gọi chính nó trực tiếp

c)

Hàm không chứa lời gọi đệ quy

d)

Hàm gọi chính nó trong vòng lặp

37.

Đệ quy phi tuyến là gì?

a)

Lời gọi đệ quy được thực hiện trong vòng lặp

b)

Hàm gọi chính nó một lần

c)

Hàm gọi chính nó hai lần

d)

Hàm gọi hàm khác

38.

Để tính tổng các số tự nhiên từ 1 đến n, ta sử dụng hàm đệ quy int sum(int n) nào được cài đặt như sau?

4 lines
39.

Để tính tổng các số tự nhiên từ 1 đến n, ta sử dụng hàm đệ quy int sum(int n) nào được cài đặt như sau?

a)

if (n == 1) return 1; else return n + sum(n - 1);

b)

if (n == 1) return 1; else return n * sum(n - 1);

c)

if (n == 1) return 1; else return sum(n - 1);

d)

if (n == 1) return 1; else return n / sum(n - 1);

40.

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

a)

Danh sách liên kết là tập hợp các phần tử nằm liên tiếp nhau trong bộ nhớ

b)

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

c)

Danh sách liên kết chỉ chứa các phần tử số nguyên

d)

Danh sách liên kết không thể thêm hoặc xóa phần tử

41.

Độ dài của danh sách được đo bằng gì?

a)

Số lượng phần tử trong danh sách

b)

Kích thước bộ nhớ được cấp phát

c)

Số nút trong danh sách liên kết

d)

Số phần tử tối đa có thể chứa

42.

Độ dài đường đi (path length) trong cây từ nút gốc đến nút x được đo như thế nào?

a)

Bằng số nút trên đường đi - 1

b)

Bằng số nhánh cần đi qua kể từ gốc đến x

c)

Bằng số mức của cây

d)

Bằng số nút lá

43.

Độ dài đường đi trên đồ thị là gì?

a)

Số lượng đỉnh trên đường đi

b)

Số lượng cung trên đường đi

c)

Số mức của đồ thị

d)

Số nhánh trong đồ thị

44.

Độ phức tạp của thuật toán tính giá trị của biểu thức 1 + 2 + 3 + ... + n là gì?

a)

O(1)

b)

O(n)

c)

O(n²)

d)

O(n log n)

45.

Độ phức tạp của thuật toán tính giá trị của biểu thức n² + 35n + 6 là gì?

a)

O(n)

b)

O(n²)

c)

O(n log n)

d)

O(1)

46.

Độ phức tạp của thuật toán tính giá trị của biểu thức n² + 35n + 6 là gì?

a)

O(n)

b)

O(n²)

c)

O(n log n)

d)

O(1)

47.

Độ phức tạp trong trường hợp tốt nhất của thuật toán tìm kiếm nhị phân là bao nhiêu?

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

48.

Độ phức tạp trong trường hợp tốt nhất của thuật toán tìm kiếm tuyến tính là bao nhiêu?

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

49.

Độ phức tạp trong trường hợp xấu nhất của thuật toán tìm kiếm tuyến tính là bao nhiêu?

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

50.

Độ phức tạp trung bình T(n) của thuật toán tìm kiếm 1 nút có khóa x trên cây nhị phân tìm kiếm là bao nhiêu?

a)

O(1)

b)

O(log n)

c)

O(n)

d)

O(n log n)

51.

Đồ thị G là liên thông khi và chỉ khi?

a)

Có đường đi giữa hai đỉnh bất kỳ thuộc G

b)

Có ít nhất một đỉnh có bậc lớn hơn 1

c)

Có ít nhất một chu trình

d)

Có ít nhất một cung

52.

Đồ thị vô hướng liên thông là gì?

a)

Phải tồn tại đường đi giữa hai đỉnh bất kỳ

b)

Phải có ít nhất một chu trình

c)

Phải có ít nhất một đỉnh có bậc lớn hơn 1

d)

Phải có ít nhất một cung

53.

Duyệt đồ thị theo phương pháp nào dưới đây?

a)

Duyệt theo chiều rộng - BFS và Duyệt theo chiều sâu - DFS

b)

Duyệt theo mức và duyệt theo thứ tự

c)

Duyệt tuyến tính và duyệt nhị phân

d)

Duyệt đệ quy và duyệt lặp

54.

Giả sử một cây nhị phân có 8 nút, chiều cao tối đa của cây là bao nhiêu?

a)

4

b)

6

c)

8

d)

16

55.

Giả sử một cây nhị phân có 8 nút, số tối thiểu các nút lá có thể có là bao nhiêu?

a)

1

b)

2

c)

4

d)

8

56.

u cao tối đa của cây là bao nhiêu?

a)

4

b)

6

c)

8

d)

16

57.

Giả sử một cây nhị phân có 8 nút, số tối thiểu các nút lá có thể có là bao nhiêu?

a)

1

b)

2

c)

4

d)

8

58.

Giả sử T là một cây nhị phân có 14 nút. Chiều cao tối thiểu của T là bao nhiêu?

a)

3

b)

4

c)

5

d)

6

59.

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

a)

Thuật toán P1

b)

Thuật toán P2

c)

Cả hai thuật toán đều như nhau

d)

Không thể xác định

60.

Giải quyết bài toán thực tế bằng thuật toán trên máy tính cần phải làm gì?

a)

Tổ chức biểu diễn các đối tượng thực tế

b)

Xây dựng trình tự các thao tác xử lý trên các đối tượng thực tế

c)

Cả A và B đều đúng

d)

Không cần tổ chức dữ liệu

61.

Giải thuật là gì?

a)

Một câu lệnh đơn lẻ để giải quyết vấn đề

b)

Câu lệnh chặt chẽ, rõ ràng và xác định một trình tự các thao tác trên các đối tượng dữ liệu

c)

Một chương trình máy tính hoàn chỉnh

d)

Một cấu trúc dữ liệu cụ thể

62.

Với mã giả sau, đây là giải thuật sắp xếp nào?

a)

Bubble Sort

b)

Quick Sort

c)

Insertion Sort

d)

Selection Sort

63.

Giải thuật sau thực hiện gì trong phương pháp sắp xếp vun đống?

4 lines
64.

Giải thuật sau thực hiện gì trong phương pháp sắp xếp vun đống? void Sort(int A[], int v, int n) { n = n + 1; A[n] = v; upheap(n); }

a)

Xóa một phần tử khỏi cây

b)

Bổ sung một phần tử vào cây

c)

Sắp xếp toàn bộ cây

d)

Kiểm tra tính hợp lệ của cây

65.

Gọi a và b là độ phức tạp của thuật toán tìm kiếm tuyến tính và tìm kiếm nhị phân khi thực hiện tìm X trong dãy A có thứ tự với n phần tử. Chọn kết quả đúng nhất?

a)

a = O(n), b = O(log n)

b)

a = O(log n), b = O(n)

c)

a = O(n²), b = O(log n)

d)

a = O(n), b = O(n)

66.

Hai vấn đề cần xem xét khi cài đặt thuật toán đệ quy là gì?

a)

Tổng kích thước biến cục bộ và độ sâu tối đa của hàm đệ quy

b)

Kích thước mảng và số lần lặp

c)

Độ phức tạp thời gian và không gian

d)

Tính chính xác và hiệu suất

67.

Hàm đệ quy cơ bản gồm mấy phần?

a)

1

b)

2

c)

3

d)

4

68.

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

a)

O(1)

b)

O(n)

c)

O(n²)

d)

Cả ba câu trên đều đúng

69.

Hàng đợi là gì?

a)

Một danh sách trong đó thao tác thêm và lấy ra được thực hiện ở cùng một đầu

b)

Một danh sách trong đó thao tác thêm một phần tử được thực hiện ở một đầu và lấy ra một phần tử được thực hiện ở một đầu khác

c)

Một danh sách không có thứ tự

d)

Một danh sách chỉ chứa số nguyên

70.

Hãy chọn phát biểu đúng nhất về danh sách?

a)

Danh sách có thể chứa các phần tử không đồng nhất

b)

Danh sách có thứ tự tuyến tính

c)

Danh sách có thể thêm hoặc xóa phần tử dễ dàng

d)

Tất cả đều đúng

71.

át biểu đúng nhất về danh sách?

a)

Danh sách có thể chứa các phần tử không đồng nhất

b)

Danh sách có thứ tự tuyến tính

c)

Danh sách có thể thêm hoặc xóa phần tử dễ dàng

d)

Tất cả đều đúng

72.

Hãy chọn phát biểu đúng trong các phát biểu dưới đây trong thuật toán tìm kiếm?

a)

Thuật toán tìm kiếm nhị phân chỉ thực hiện đúng với các dãy đã có thứ tự

b)

Thuật toán tìm kiếm tuyến tính yêu cầu dãy phải có thứ tự

c)

Thuật toán tìm kiếm nhị phân có độ phức tạp O(n)

d)

Thuật toán tìm kiếm tuyến tính chỉ áp dụng cho danh sách liên kết

73.

Khai báo kiểu danh sách chứa tối đa 100 số nguyên?

a)

int len; int n = 100; int v[n];

b)

int list[100];

c)

struct List { int data[100]; };

d)

int n = 100; int list[];

74.

Khái niệm nào sau đây là đúng khi mô tả cây nhị phân đầy đủ?

a)

Là cây mà mọi nút có mức nhỏ hơn hoặc bằng chiều cao h-1 đều có đúng 2 nút con

b)

Là cây nhị phân mà nút trong đều có đúng 2 nút con

c)

Cả hai đều đúng

d)

Không có câu nào đúng

75.

Khi cài đặt danh sách liên kết, để thuận tiện khi di chuyển từ nút hiện tại sang nút sau và về nút trước trong danh sách, ta sử dụng loại danh sách nào?

a)

Danh sách liên kết đơn

b)

Danh sách liên kết kép

c)

Danh sách đặc

d)

Danh sách vòng

76.

Khi cài đặt đệ quy, trong thân của hàm có duy nhất một lời gọi hàm gọi lại chính nó một cách tường minh, đó là kiểu đệ quy nào?

a)

Đệ quy tuyến tính

b)

Đệ quy nhị phân

c)

Đệ quy quay lui

d)

Đệ quy tương hỗ

77.

Khi cài đặt đệ quy, trong thân của hàm có hai lời gọi hàm gọi lại chính nó một cách tường minh, đó là kiểu đệ quy nào?

a)

Đệ quy tuyến tính

b)

Đệ quy nhị phân

c)

Đệ quy quay lui

d)
78.

Khi cài đặt đệ quy, trong thân của hàm có hai lời gọi hàm gọi lại chính nó một cách tường minh, đó là kiểu đệ quy nào?

a)

Đệ quy tuyến tính

b)

Đệ quy nhị phân

c)

Đệ quy quay lui

d)

Đệ quy tương hỗ

79.

Khi cài đặt đệ quy, trong thân của hàm có lời gọi hàm gọi lại chính nó được đặt bên trong vòng lặp, đó là kiểu đệ quy nào?

a)

Đệ quy tuyến tính

b)

Đệ quy nhị phân

c)

Đệ quy phi tuyến

d)

Đệ quy tương hỗ

80.

Khi cài đặt thuật toán đệ quy, trong thân của hàm này có lời gọi hàm đến hàm khác và trong thân của hàm kia có lời gọi hàm tới hàm này, đó là kiểu đệ quy nào?

a)

Đệ quy tuyến tính

b)

Đệ quy nhị phân

c)

Đệ quy quay lui

d)

Đệ quy tương hỗ

81.

Khi chèn một phần tử vào danh sách (cài đặt bằng mảng), yêu cầu cần gì?

a)

Độ dài của danh sách nhỏ hơn độ dài của mảng

b)

Danh sách phải rỗng

c)

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

d)

Mảng phải có kích thước cố định

82.

Khi đánh giá độ phức tạp của câu lệnh for, ta cần đánh giá điều gì?

a)

Số lần lặp và độ phức tạp của câu lệnh bên trong vòng lặp

b)

Độ phức tạp của điều kiện lặp

c)

Kích thước của mảng

d)

Số biến cục bộ

83.

Khi đánh giá độ phức tạp của câu lệnh If, ta cần đánh giá điều gì?

a)

Độ phức tạp của việc kiểm tra điều kiện và độ phức tạp của câu lệnh bên trong thân If

b)

Độ phức tạp của câu lệnh bên ngoài If

c)

Số lần lặp của câu lệnh If

d)

Kích thước dữ liệu đầu vào

84.

Khi đổi một số nguyên từ hệ thập phân sang hệ nhị phân thì người ta dùng phép chia liên tiếp cho 2 và lấy các số dư (là các chữ số nhị phân) theo chiều ngược lại. Cơ chế này chính là

4 lines
85.

Khi đổi một số nguyên từ hệ thập phân sang hệ nhị phân thì người ta dùng phép chia liên tiếp cho 2 và lấy các số dư (là các chữ số nhị phân) theo chiều ngược lại. Cơ chế này chính là cơ chế hoạt động của cấu trúc dữ liệu nào?

a)

Mảng

b)

Ngăn xếp

c)

Hàng đợi

d)

Danh sách liên kết

86.

Khi nào thì cây được gọi là có thứ tự?

a)

Khi thay đổi vị trí các cây con tạo ra cây con mới

b)

Khi các nút con có giá trị lớn hơn nút cha

c)

Khi cây có cấu trúc cố định

d)

Khi cây không có nút con

87.

Khi phân tích thời gian thực hiện của thuật toán, thông thường phân tích cái gì?

a)

Số các phép tính cơ bản khi thực hiện thuật toán

b)

Kích thước bộ nhớ sử dụng

c)

Độ chính xác của thuật toán

d)

Số lần lặp của thuật toán

88.

Khi thiết kế thuật toán đệ quy, chúng ta phải thực hiện tối thiểu mấy bước?

a)

1

b)

2

c)

3

d)

4

89.

Khi tìm một phần tử trong thuật toán tìm kiếm tuyến tính từ vị trí đầu mảng, trong trường hợp xấu nhất, phần tử cần tìm nằm ở đâu?

a)

Phần tử đầu tiên

b)

Phần tử ở giữa mảng

c)

Phần tử cuối cùng hoặc không xuất hiện trong mảng

d)

Phần tử thứ hai

90.

Khi tìm một phần tử trong thuật toán tìm kiếm tuyến tính từ vị trí đầu mảng, trong trường hợp trung bình, phần tử cần tìm nằm ở đâu?

a)

Phần tử đầu tiên

b)

Phần tử ở giữa mảng

c)

Phần tử cuối cùng

d)

Phần tử không xuất hiện

91.

Khi xóa một nút có 2 cây con trên cây nhị phân tìm kiếm, có mấy bước?

a)

1

b)

2

c)

3

d)

4

92.

Khi xóa một nút trong cây nhị phân tìm kiếm mà nút đó có 2 con, trước hết ta thực hiện gì?

4 lines
93.

Khi xóa một nút trong cây nhị phân tìm kiếm mà nút đó có 2 con, trước hết ta thực hiện gì?

a)

Thay thế giá trị nút đó bởi giá trị trên nút con cực phải trên cây trái

b)

Thay thế giá trị nút đó bởi giá trị trên nút con cực trái trên cây phải

c)

Xóa nút mà không thay thế

d)

Thay thế giá trị nút bằng giá trị trung bình của hai cây con

94.

Khi giải quyết một bài toán thực tế bằng máy tính, xác định bài toán đầu tiên chúng ta cần thực hiện là gì?

a)

Tìm cấu trúc dữ liệu thích hợp để biểu diễn bài toán

b)

Viết mã nguồn chương trình

c)

Kiểm tra kết quả đầu ra

d)

Tối ưu hóa thuật toán

95.

Khởi tạo danh sách rỗng void init(danhsach *list) { ... } Điền lệnh vào dấu chấm?

a)

list->len = 0;

b)

list->len = 1;

c)

list->size = 0;

d)

list->data = NULL;

96.

Khử đệ quy đuôi có nghĩa là gì?

a)

Tính toán trước một số bước để hạn chế số lần gọi đệ quy

b)

Loại bỏ hoàn toàn đệ quy

c)

Thay thế đệ quy bằng vòng lặp vô hạn

d)

Tăng số lần gọi đệ quy

97.

Ký hiệu danh sách là list, n là số phần tử trong danh sách. Chọn phát biểu đúng về hàm make(list) để tạo danh sách các phần tử?

a)

Tạo danh sách tức là nhập giá trị cho các phần tử trong danh sách

b)

Tạo danh sách tức là xóa các phần tử trong danh sách

c)

Tạo danh sách tức là kiểm tra danh sách rỗng

d)

Tạo danh sách tức là sắp xếp danh sách

98.

Ký hiệu danh sách là list, n là số phần tử trong danh sách. Chọn phát biểu đúng về hàm view(list) để duyệt danh sách?

a)

Duyệt danh sách tức là xóa các phần tử trong danh sách

b)

Duyệt danh sách tức là in giá trị của các phần tử trong danh sách ra màn hình

c)

Duyệt danh sách tức là sắp xếp danh sách

d)

Duyệt danh sách tức là kiểm tra danh sách đầy

99.

Ký hiệu danh sách là list, n là số phần tử trong danh sách. Chọn phát biểu đúng về hàm full(list) để kiểm tra danh sách có đầy hay không?

a)

Kiểm tra danh sách có đầy hay không tức là kiểm tra danh sách có độ dài = n

b)

Kiểm tra danh sách có đầy hay không tức là kiểm tra danh sách có độ dài = 0

c)

Kiểm tra danh sách có đầy hay không tức là kiểm tra danh sách có thứ tự

d)

Kiểm tra danh sách có đầy hay không tức là kiểm tra danh sách có phần tử trùng

100.

Ký hiệu danh sách là list, n là số phần tử trong danh sách. Chọn phát biểu đúng về hàm empty(list) để kiểm tra danh sách rỗng hay không?

a)

Kiểm tra danh sách có rỗng hay không tức là kiểm tra danh sách có độ dài = 0

b)

Kiểm tra danh sách có rỗng hay không tức là kiểm tra danh sách có độ dài = n

c)

Kiểm tra danh sách có rỗng hay không tức là kiểm tra danh sách có thứ tự

d)

Kiểm tra danh sách có rỗng hay không tức là kiểm tra danh sách có phần tử trùng

101.

Ký hiệu danh sách là list, vị trí của phần tử trong danh sách là p (position), n là số phần tử trong danh sách, hàm insert(x, p, list) để bổ sung một phần tử x vào danh sách tại vị trí thứ p, vị trí p phải nằm trong phạm vi?

4 lines
102.

Hàm insert(x, p, list) để bổ sung một phần tử x vào danh sách tại vị trí thứ p, vị trí p phải nằm trong phạm vi?

a)

p = 0 đến n

b)

p = 1 đến n

c)

p = 1 đến n + 1

d)

p = 0 đến n - 1

103.

Chọn phát biểu đúng về việc gọi hàm delete để xóa 1 phần tử ra danh sách?

a)

delete(p, list)

b)

remove(p, list)

c)

erase(p, list)

d)

pop(p, list)

104.

Chọn phát biểu đúng?

a)

Hàm để lấy vị trí của phần tử có giá trị x trong danh sách list: getp(x, list)

b)

Hàm để lấy giá trị của phần tử tại vị trí p: getv(p, list)

c)

Hàm để kiểm tra danh sách đầy: full(list)

d)

Tất cả đều đúng

105.

Chọn phát biểu đúng về việc gọi hàm getv để lấy giá trị của phần tử thứ p ra khỏi danh sách?

a)

getv(p, list)

b)

get(p, list)

c)

value(p, list)

d)

retrieve(p, list)

106.

Kiểu dữ liệu trừu tượng (ADT) gồm mấy thành phần?

a)

1

b)

2

c)

3

d)

4

107.

Kiểu dữ liệu trừu tượng bao gồm các thành phần nào?

a)

Tập các đối tượng và các thao tác

b)

Tập các biến và các hàm

c)

Tập các phép toán và các cấu trúc

d)

Tập các dữ liệu và các vòng lặp

108.

Kiểu dữ liệu trừu tượng là gì?

a)

Kiểu dữ liệu mà người lập trình phải tự xây dựng dựa trên các kiểu dữ liệu cơ bản được cung cấp từ ngôn ngữ lập trình

b)

Kiểu dữ liệu có sẵn trong ngôn ngữ lập trình

c)

Kiểu dữ liệu c

109.

tượng là gì?

a)

Kiểu dữ liệu mà người lập trình phải tự xây dựng dựa trên các kiểu dữ liệu cơ bản được cung cấp từ ngôn ngữ lập trình

b)

Kiểu dữ liệu có sẵn trong ngôn ngữ lập trình

c)

Kiểu dữ liệu chỉ dùng cho cấu trúc liên kết

d)

Kiểu dữ liệu không cần định nghĩa

110.

Ký hiệu nào sau đây dùng để biểu diễn một thao tác trong thuật toán bằng lưu đồ?

a)

Hình oval

b)

Hình chữ nhật

c)

Hình thoi

d)

Hình tròn

111.

Lý thuyết thuật toán quan tâm điều gì?

a)

Giải được bằng thuật toán

b)

Tối ưu hóa

c)

Triển khai thuật toán

d)

Cả ba câu trên đều đúng

112.

Mô hình toán học với một tập hợp các phép toán, định nghĩa trên một mô hình đó được gọi là gì?

a)

Một kiểu dữ liệu trừu tượng

b)

Một cấu trúc dữ liệu

c)

Một thuật toán

d)

Một chương trình

113.

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 nào?

a)

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

b)

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

c)

Giải thuật + Dữ liệu = Chương trình

d)

Cấu trúc dữ liệu + Ngôn ngữ lập trình = Chương trình

114.

Một cấu trúc dữ liệu có bao nhiêu cấu trúc lưu trữ?

a)

Chỉ có một cấu trúc lưu trữ

b)

Có thể có nhiều cấu trúc lưu trữ

c)

Không có cấu trúc lưu trữ

d)

Tùy thuộc vào ngôn ngữ lập trình

115.

Một đồ thị G, có (x, y) khác (y, x) thì G được gọi là gì?

a)

Đồ thị vô hướng

b)

Đồ thị phân biệt

c)

Đồ thị liên thông

d)

Đồ thị đầy đủ

116.

Một đồ thị vô hướng G = (V, E) được gọi là liên thông nếu?

a)

Luôn tìm được đường đi giữa 2 đỉnh bất kỳ trong đồ thị

b)

117.

Một đồ thị vô hướng G = (V, E) được gọi là liên thông nếu?

a)

Luôn tìm được đường đi giữa 2 đỉnh bất kỳ trong đồ thị

b)

Có ít nhất một chu trình

c)

Có ít nhất một đỉnh có bậc lớn hơn 1

d)

Có ít nhất một cung

118.

Một thuật toán có lời gọi lại chính nó trực tiếp hay gián tiếp, được gọi là gì?

a)

Đệ quy

b)

Vòng lặp

c)

Tìm kiếm

d)

Sắp xếp

119.

Nếu các ký tự D, C, B, A được bổ sung lần lượt vào Queue theo thứ tự như liệt kê (ký tự D bổ sung trước nhất), và khi lấy ra khỏi Queue, thứ tự của các ký tự trên sẽ là gì?

a)

ABCD

b)

DCBA

c)

BCDA

d)

ADBC

120.

Nếu dữ liệu được sắp xếp theo thứ tự, ta áp dụng phương pháp tìm kiếm nào?

a)

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

b)

Tìm kiếm nhị phân

c)

Cả tuyến tính và nhị phân đều được

d)

Không áp dụng được phương pháp nào

121.

Nếu dữ liệu không được sắp xếp theo thứ tự, ta áp dụng phương pháp tìm kiếm nào?

a)

Tìm kiếm nhị phân

b)

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

c)

Cả hai phương pháp đều được

d)

Không áp dụng được phương pháp nào

122.

Nhược điểm của danh sách liên kết là gì?

a)

Tốn nhiều chi phí khi duyệt danh sách

b)

Không thể thêm hoặc xóa phần tử

c)

Các phần tử phải liên tiếp trong bộ nhớ

d)

Chỉ chứa được số nguyên

123.

Nhược điểm của thuật toán đệ quy so với thuật toán lặp là gì?

a)

Tốn bộ nhớ khi thực thi

b)

Chạy chậm hơn

c)

Khó cài đặt

d)

Không thể giải quyết bài toán phức tạp

124.

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

a)

Nút con bên trái nhất

b)

Nút con bên phải nhất

c)

Nút gốc

d)

Nút lá bất kỳ

125.

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

a)

Nút con bên trái nhất

b)

Nút con bên phải nhất

c)

Nút gốc

d)

Nút lá bất kỳ

126.

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

a)

Nút con bên trái nhất

b)

Nút con bên phải nhất

c)

Nút gốc

d)

Nút lá bất kỳ

127.

Phát biểu nào đúng về đồ thị vô hướng?

a)

Là đồ thị có các cạnh không có hướng

b)

Là đồ thị có các cạnh có hướng

c)

Là đồ thị không có chu trình

d)

Là đồ thị luôn liên thông

128.

Phát biểu nào sau đây đúng với khái niệm cấu trúc lưu trữ?

a)

Cách biểu diễn tối ưu của cấu trúc dữ liệu trên bộ nhớ của máy tính

b)

Cách tổ chức dữ liệu trong bộ nhớ ngoài

c)

Cách lưu trữ dữ liệu trong ngăn xếp

d)

Cách lưu trữ dữ liệu trong hàng đợi

129.

Phát biểu nào sau đây không đúng đối với cây nhị phân?

a)

Là cây không có thứ tự

b)

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

c)

Có thể lưu trữ bằng mảng hoặc danh sách liên kết

d)

Có thể duyệt theo nhiều cách

130.

Phát biểu nào sau đây không đúng khi nói về mối quan hệ giữa cấu trúc dữ liệu và thuật toán?

a)

Thuật toán phải thay đổi khi cấu trúc dữ liệu thay đổi

b)

Cấu trúc dữ liệu ảnh hưởng đến hiệu quả của thuật toán

c)

Thuật toán và cấu trúc dữ liệu cùng tạo nên chương trình

d)

Cấu trúc dữ liệu quyết định cách tổ chức dữ liệu

131.

Phát biểu nào sau đây là đúng?

(a)