Font size
WorksheetsData Structures and Algorithms - Practice Questions
Total questions: 89
Worksheet time: 50mins
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:
Cấu trúc dữ liệu + Giải thuật = Chương trình
Cấu trúc dữ liệu + Chương trình = Giải thuật
Chương trình + Giải thuật = Cấu trúc dữ liệu
Cấu trúc dữ liệu = Chương trình
Để đánh giá cấu trúc dữ liệu chúng ta dựa vào tiêu chí:
Cấu trúc dữ liệu phải tiết kiệm bộ nhớ trong
Cấu trúc dữ liệu phải phản ánh thực tế của bài toán
Cấu trúc dữ liệu phải giúp dễ dàng trong thao tác dữ liệu
Các phương án đều đúng
Tiêu chuẩn để đánh giá giải thuật tốt là:
Giải thuật đúng đắn
Giải thuật đơn giản
Giải thuật thực hiện nhanh
Tất cả các phương án đều đúng
Thời gian thực hiện chương trình là:
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
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
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
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
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à:
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
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
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
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
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à:
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
Đ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ả hai đáp án cụ thể đều sai
Cả hai đáp án cụ thể đều đúng
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:
Cần C chỉ thị thực thi
Cần T(n) chỉ thị thực thi
Cần n chỉ thị thực thi
Cần Cn chỉ thị thực thi
Đơn vị do thời gian thực hiện chương trình là:
Đơn vị do thời gian bình thường giờ, phút, giây...
Không phải là đơn vị do thời gian bình thường như giờ, phút, giây....
Được xác định bởi thời gian được thực hiện trong một máy tính lý tưởng
Tất cả đều sai
Tìm mệnh đề sai trong các mệnh đề sau, một cấu trúc dữ liệu bao gồm:
Một tập hợp nào đó các dữ liệu thành phần
Các dữ liệu thành phần đặt sát nhau trong bộ nhớ
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
Tất cả đều là mệnh đề sai
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à:
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
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
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
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
Trong giải thuật, bài toán liệt kê là:
Bài toán yêu cầu đưa ra danh sách các cấu hình
Bài toán phân tích đối tượng thành nhiều thành phần
Bài toán tính số tổ hợp chập k của n theo công thức truy hồi
Tất cả đều đúng
Thuật toán đệ quy là:
Thuật toán có lời gọi đến một thuật toán khác
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
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.
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.
Cơ chế thực hiện giải thuật đệ quy bao gồm:
Một giai đoạn chính là đi từ trên xuống
Một giai đoạn chính đi từ dưới lên
Hai giai đoạn chính: đi từ trên xuống và đi từ dưới lên
Tất cả các đáp án đều sai
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. Tăng lên 1 đơn vị
B. Giảm xuống 1 đơn vị
C. n có giá trị bằng 0
D. n có giá trị bằng 1
Khi thực hiện thuật toán đệ quy, chia bài toán thành mấy phần?
2 phần
3 phần
1 phần
Không chia thành các phần
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à:
5 bước
6 bước
7 bước
8 bước
Nhược điểm của thuật toán đệ quy là:
Tốn bộ nhớ
Tốn thời gian
Dễ gây tràn bộ nhớ
Tất cả các phương án đều đúng
Đ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; }
Kết quả là 9
Kết quả là 10
Kết quả là 11
Kết quả là 8
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
5
8
3
1
Đ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)); }
Kết quả là 5
Kết quả là 8
Kết quả là 6
Kết quả là 9
Đ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; }
Kết quả là 82
Kết quả là 81
Kết quả là 69
Kết quả là 98
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; }
Danh sách là gì trong lập trình?
Một dãy số nguyên
Một cấu trúc dữ liệu lưu trữ các phần tử liên tiếp
Một phương thức sắp xếp dữ liệu
Một loại biến đặc biệt
Trong danh sách bởi mảng, cách truy cập vào phần tử có chỉ số là:
Dấu ngoặc vuông ([])
Dấu ngoặc tròn (())
Dấu ngoặc nhọn ({})
Dấu ngoặc kép ("")
Đặc điểm quan trọng của danh sách là:
Các phần tử có thể thay đổi
Các phần tử không thể thay đổi
Chỉ chứa số nguyên
Chỉ chứa chuỗi ký tự
Stack là một cấu trúc dữ liệu có nguyên tắc gì?
FIFO (First In First Out)
LIFO (Last In First Out)
LILO (Last In Last Out)
FILO (First In Last Out)
Phép toán chính trên stack là:
Push và Pop
Add và Remove
Enqueue và Dequeue
Insert và Delete
Câu 26. Khi một phần tử được thêm vào stack, nó được thêm vào:
Đỉnh của stack (Top of the stack)
Đáy của stack (Bottom of the stack)
Giữa stack (Middle of the stack)
Vị trí bất kỳ trong stack (Any position in the stack)
Queue hoạt động theo nguyên tắc nào?
A. LIFO (Last In First Out)
B. FIFO (First In First Out)
C. LILO (Last In Last Out)
D. FILO (First In Last Out)
Phép toán chính trên queue là:
Push và Pop
Enqueue và Dequeue
Add và Remove
Insert và Delete
Trong queue, phần tử mới được thêm vào ở đâu?
Ở đầu danh sách
Ở cuối danh sách
Ở giữa danh sách
Ở đỉnh của queue
Khi một phần tử được loại bỏ khỏi stack, phép toán đó được gọi là:
Pop
Push
Peek
Empty
Ngăn xếp có thể được triển khai bằng cách sử dụng:
Mảng
Danh sách liên kết
Cả mảng và danh sách liên kết
Cả mảng, danh sách liên kết và cây
Đ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ì?
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.
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.
Danh sách liên kết đơn không sử dụng con trỏ.
Danh sách liên kết kép không thể thêm phần tử mới.
Hãy chọn định nghĩa đúng nhất về danh sách kiểu hàng đợi (Queue)?
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
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)
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
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)
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?
POP(72), POP(23), POP(20), POP(5)
POP(72), POP(23), PUSH(20), POP(5)
POP(23), PUSH(23), POP(72), POP(5)
POP(23), PUSH(72), POP(20), POP(5)
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)?
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
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
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
Phương pháp nào sau đây chính là phương pháp sắp xếp nhanh (Quick sort)?
Phương pháp trộn
Phương pháp vun đống
Phương pháp chèn
Phương pháp phân đoạn
Ý tưởng phương pháp sắp xếp nhanh (Quick sort) là:
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ắ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.
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á).
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.
Ý tưởng phương pháp sắp xếp Trộn (Merge sort) là:
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.
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á).
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...
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.
Cơ chế heap trong sắp xếp vun đống là:
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?
Insert – Upheap – Remove – Downheap
Remove – Downheap – Insert – Upheap
Insert – Upheap – Downheap – Remove
Upheap – Downheap – Remove – Insert
Tư tưởng của giải thuật tìm kiếm tuần tự là:
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.
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.
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.
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.
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. Quick sort, Heap sort
B. Quick sort, Insert sort
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.
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.
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â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â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.
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?
Sắp xếp nhanh (Quick Sort)
Sắp xếp nổi bọt (Bubble Sort)
Sắp xếp chèn (Insertion Sort)
Sắp xếp trộn (Merge Sort)
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?
O(1)
O(n)
O(logn)
O(n2)
Cho thuật toán sắp xếp Bubble Sort, chọn câu đúng nhất cho hàm Swap:
void Swap(int &X, int &Y) { int Temp = X; X = Y; Y = Temp; return; }
void Swap(float X, floatY) { int Temp = X; X = Y; Y = Temp; return; }
void Swap(int *X, int *Y) { int Temp = X; X = Y; Y = Temp; return; }
void Swap(X, intY) { int Temp = X; X = Y; Y = Temp; return; }
Đố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.
7 lần
8 lần
Trong cây nhị phân, nút trên cùng được gọi là gì?
Nút gốc
Nút lá
Nút cha
Nút con
Đặc điểm nào mô tả cây nhị phân hoàn chỉnh?
Mỗi nút có tối đa một nút con trái và một nút con phải
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
Mỗi nút không có nút con trái hoặc phải
Mỗi nút có nhiều hơn hai nút con
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ì?
Nút cha trước, sau đó là nút con trái và nút con phải
Nút con trái trước, sau đó là nút cha và nút con phải
Nút con phải trước, sau đó là nút cha và nút con trái
Nút cha trước, sau đó là nút con phải và nút con trái
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?
Lớn hơn
Nhỏ hơn
Bằng
Không có quy tắc cụ thể
Cây nhị phân cân bằng là gì?
Cây mà mọi nút đều có hai nút con
Cây mà độ cao của cây là tối thiểu
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
Cây mà tỷ lệ giữa số nút lá và số nút trong cây là tối ưu
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?
Nút lá đầu tiên mà gặp
Nút gốc
Nút lá cuối cùng
Nút lá gần giá trị cần chèn nhất
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?
Giá trị giảm dần
Giá trị tăng dần
Giá trị không theo thứ tự cụ thể
Giá trị không hiển thị
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?
Chuyển tất cả các nút con sang cây con trái
Chuyển tất cả các nút con sang cây con phải
Giữ nguyên cấu trúc cây con trái và cây con phải
Xóa tất cả các nút con
Cây nhị phân đầy đủ là gì?
Cây mà mọi nút đều có đúng hai nút con
Cây mà tất cả các nút đều có giá trị tăng dần
Cây mà tất cả các nút lá đều ở mức cuối cùng
Cây mà tất cả các nút đều có giá trị giảm dần
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ì?
Cây nhị phân hoàn chỉnh
Cây nhị phân đầy đủ
Thuật toán tìm kiếm hiệu quả
Cây nhị phân tìm kiếm
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. Tăng dần
B. Giảm dần
C. Ngẫu nhiên
D. Không xác định
Đố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?
Nút lá cuối cùng
Nút gốc
Nút lá đầu tiên mà gặp
Nút lá gần giá trị cần chèn nhất
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?
0
1
2
3
Cây nhị phân cân bằng là gì?
Cây mà tất cả các nút đều có đúng hai nút con
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ây mà độ chênh lệch giữa số nút lá và số nút trong cây là nhỏ nhất
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
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?
O(1)
O(log n)
O(n)
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?
Chỉ có thể chọn nút con trái
Chỉ có thể chọn nút con phải
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ế
Xóa luôn hai nút con
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ì?
Giá trị gần nhất
Null
Giá trị 0
Giá trị lớn nhất trong cây
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?
Sử dụng thuật toán sắp xếp nổi bọt
Sử dụng thuật toán quicksort
Sử dụng thuật toán mergesort
Thực hiện thao tác duyệt theo thứ tự inorder trên cây
Đồ thị là gì?
Tập hợp các đỉnh và cạnh (hay cung)
Phương trình toán học
Tập hợp các hình học
Bảng số liệu
Trong đồ thị vô hướng, mỗi cạnh nối:
2 đỉnh
3 đỉnh
4 đỉnh
5 đỉnh
Một đồ thị có hướng có bao nhiêu đỉnh có thể kết nối với một đỉnh cụ thể?
0
1
Nhiều hơn 1
Tùy thuộc vào loại đồ thị
Trong đồ thị có hướng, đỉnh có bậc là gì?
Số cạnh kết nối với đỉnh đó
Độ dài của đỉnh
Màu sắc của đỉnh
Tên của đỉnh
Một chu trình trong đồ thị là gì?
Đỉnh không có cạnh
Tập hợp các đỉnh không kết nối
Đường đi đóng thành vòng
Các đỉnh có màu sắc giống nhau
Đồ thị không chu trình được gọi là gì?
Đồ thị đầy đủ
Đồ thị vô hướng
Đồ thị cây
Đồ thị đồng dạng
Trong đồ thị, đỉnh có bậc vào và ra là bao nhiêu?
Bậc vào và bậc ra không liên quan
Chúng luôn bằng nhau
Chúng có thể bằng nhau hoặc khác nhau
Không có khái niệm bậc vào và ra
Một đồ thị được gọi là đồ thị đầy đủ nếu:
Có nhiều đỉnh nhất
Mọi đỉnh đều kết nối với tất cả các đỉnh khác
Không có chu trình
Đỉnh và cạnh có màu sắc đẹp
Trong đồ thị, đường đi ngắn nhất giữa hai đỉnh được gọi là:
Đường đi tối ưu
Đường đi ngắn nhất
Đường đi đẹp nhất
Đường đi tiện ích
Đồ thị có trọng số là gì?
Mỗi đỉnh có một trọng số
Mỗi cạnh có một trọng số
Cả đỉnh và cạnh đều có trọng số
Không có trọng số
Trong đồ thị, liên thông có nghĩa là gì?
A. Tất cả các đỉnh đều kết nối
B. Một số đỉnh không kết nối
C. Tất cả các cạnh đều kết nối
D. Không có đỉnh nào kết nối
Một đồ thị được gọi là đồ thị cây nếu:
Có nhiều nhánh nhất
Không có chu trình và liên thông
Có nhiều chu trình
Có nhiều đỉnh nhất
Trong thuật toán DFS, các đỉnh được thăm theo thứ tự nào?
Theo thứ tự bậc tăng dần
Theo thứ tự bậc giảm dần
Theo thứ tự tìm thấy đầu tiên
Theo thứ tự tìm thấy cuối cùng
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?
Hàm khởi tạo các biến nhưng chưa thực hiện phép tính nào.
Hàm tính tổng các số chẵn nhỏ hơn N.
Hàm tính tổng các số lẻ nhỏ hơn N.
Hàm trả về tổng của N số nguyên đầu tiên.
Given the following code:
while (dem
Hàm tính tổng N số nguyên đầu tiên
Hàm tính tổng các số nguyên tố nhỏ hơn N
Hàm tính tổng N số nguyên tố đầu tiên
Hàm tính tổng các số nguyên tố lớn hơn N
This algorithm describes which process?
Sorting a list of numbers
Searching for a specific value
Calculating the average of a dataset
Encrypting a message
Which of the following is a linear search for an element X?
Binary search for element X
Find the smallest element in an array M of N elements
Linear search for element X
All are incorrect
Which statement best defines a list?
A. A list is a collection of elements with a defined data type and each element is linked to another
B. The number of elements in a list is called the length of the list
C. A list with length 0 is an empty list
D. All are correct
What are the advantages of arrays?
Adding or removing elements in a static list is difficult because other elements must be moved
Accessing and searching for elements in an array is easy because elements are stored contiguously and can be accessed using their index (address)
Memory usage of arrays is optimal
All are correct
Choose the most correct statement about doubly linked lists:
Each element in a doubly linked list has 2 links to 1 other element in the list
Each element in a doubly linked list has 1 link to 2 other elements in the list
Each element in a doubly linked list has 2 links to the previous and next elements in the list
Each element in a doubly linked list has 2 links to the first and last elements in the list
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. Number of assignments: Gmin = 3, Number of comparisons: Smin = 2
B. Number of assignments: Gmin = 2, Number of comparisons: Smin = 3
C. Number of assignments: Gmin = 2, Number of comparisons: Smin = 2
D. Number of assignments: Gmin = 0, Number of comparisons: Smin = 2
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?
x + (4 + 5) + 3
(x + 4) + (5 + 3)
x + 4 + 5 + 3
(x + (4 + 5)) + 3
