Cho dãy sau: 42, 23, 74, 11, 65, 58. Dùng phương pháp sắp xếp đổi chỗ trực tiếp (Interchange Sort) để sắp xếp tăng dần, sau 3 lần lặp kết quả của dãy là thế nào?
11, 23, 42, 58, 65, 74
11, 23, 42, 58, 74, 65
11, 23, 42, 65, 58, 74
11, 23, 42, 74, 65, 58
** Cho dãy sau: 42, 23, 74, 11, 65, 58. Dùng phương pháp sắp xếp chọn trực tiếp (Selection Sort) để sắp xếp giảm dần, sau lần lặp thứ tư kết quả của dãy là thế nào?
74, 23, 42, 11, 65, 58
74, 65, 42, 11, 23, 58
74, 65, 58, 11, 23, 42
74, 65, 58, 42, 23, 11
** Cho dãy sau: 42, 23, 74, 11, 65, 58. Dùng phương pháp sắp xếp nổi bọt (Bubble Sort) để sắp xếp giảm dần, sau lần lặp thứ ba kết quả của dãy là thế nào?
42, 23, 74, 11, 65, 58
74, 42, 23, 65, 11, 58
74, 65, 42, 23, 58, 11
74, 65, 58, 42, 23, 11
Bậc của cây có nghĩa là gì?
Cả hai phát biểu đều đúng
Cả hai phát biểu đều SAI
Là bậc lớn nhất của các nút trong cây
Là bậc nhỏ nhất của các nút trong cây
Bậc của nút trong cây có nghĩa là gì?
Là số nhánh con của nút đó
Là số nhánh con nhỏ nhất của nút con của nút đó
Là số nhánh con phải của nút đó
Là số nhánh con trái của nút đó
Các bước thực hiện tìm kiếm nhị phân phần tử x trên dẫy sắp xếp tăng dần được mô tả như sau:Bước 1: Khởi đầu tìm kiếm trên tất cả các phần tử của dãy <=> left = 0 và right = n-1Bước 2: Tính middle = (left + right)/2. So sánh a[middle] với x. Có 3 khả năng:- a[middle] = x => Tìm thấy => Dừng- a[middle] > x => tiếp tục tìm x trong dãy con mới với right = middle - 1 (tìm trong nửa đầu) - a[middle] < x => tiếp tục tìm x trong dãy con mới với ............................ (tìm trong nửa cuối) Bước 3: - Nếu left <= right => dãy còn phần tử, tiếp tục quay lại bước 2 để tìm kiếm tiếp- Ngược lại => Dãy hiện hành hết phần tử và dừng thuật toánGiá trị cần điền vào dấu ………….. là bao nhiêu để thuật toán thực hiện đúng
left = middle - 1
left = middle + 1
right = middle - 1
right = midle + 1
Các bước thực hiện tìm kiếm nhị phân phần tử x trên dẫy sắp xếp tăng dần được mô tả như sau:Bước 1: Khởi đầu tìm kiếm trên tất cả các phần tử của dãy c left = …………… và right = ………………Bước 2: Tính middle = (left + right)/2. So sánh a[middle] với x. Có 3 khả năng:- a[middle] = x => Tìm thấy => Dừng- a[middle] > x => tiếp tục tìm x trong dãy con mới với right = middle - 1 (tìm trong nửa đầu) - a[middle] < x => tiếp tục tìm x trong dãy con mới với left = middle + 1 (tìm trong nửa cuối) Bước 3: - Nếu left <= right => dãy còn phần tử, tiếp tục quay lại bước 2 để tìm kiếm tiếp- Ngược lại => Dãy hiện hành hết phần tử và dừng thuật toánGiá trị cần điền vào dấu ………….. là bao nhiêu để thuật toán thực hiện đúng
0 và n
0 và n-1
n và 0
n-1 và 0
Các dạng biểu diễn của biểu thức toán học gồm
Tiền tố và hậu tố
Tiền tố và trung tố
Tiền tố, trung tố và hậu tố
Trung tố và hậu tố
Các hàm để cấp phát bộ nhớ là?.
calloc(), new(), free()
malloc(), calloc(), new()
malloc(), calloc(), new(), free()
malloc(), delete(), new(), free().
Các hàm để giải phóng bộ nhớ là
calloc(), delete(), new(), free().
delete(),free().
malloc(), delete(), free().
malloc(), delete(), new(), free().
Các loại danh sách liên kết gồm:
Danh sách liên kết đơn và danh sách liên kết kép
Danh sách liên kết đơn và danh sách liên kết vòng
Danh sách liên kết đơn, danh sách liên kết kép và danh sách liên kết vòng
Danh sách liên kết kép và danh sách liên kết vòng
Các phương pháp tìm kiếm là
Tất cả các đáp án đều sai
Tìm kiếm nhị phân
Tìm kiếm tuyến tính
Tìm kiếm tuyến tính và nhị phân
Các thành phần của danh sách đơn gồm:
Dữ liệu (data)
Dữ liệu (data) và liên kết (link)
Liên kết (link)
Số phần tử của danh sách (number)
Các thành phần của danh sách liên kết kép gồm:
Dữ liệu (infor) và liên kết với nút sau (next)
Dữ liệu (infor) và liên kết với nút trước (previous)
Dữ liệu (infor), liên kết với nút trước (previous) và liên kết với nút sau (next)
Liên kết với nút trước (previous) và liên kết với nút sau (next)
Các thao tác cơ bản trên danh sách gồm thao tác gì:
bổ sung, loại bỏ, cập nhật
tách, ghép, …
Tất cả các thao tác trên
tìm kiếm, sắp xếp, sao chép
Các thao tác được định nghĩa cho hàng đợi một cách tổng quát
Cả hai đáp án đều đúng
Cả hai đáp án đều sai
Get
Put
Các thao tác được định nghĩa cho ngăn xếp một cách tổng quát
Cả hai đáp án đều đúng
Cả hai đáp án đều sai
Pop
Push
Các trường hợp chèn thêm một phần tử mới vào danh sách liên kết đơn gồm:
Chèn thêm vào cuối danh sách và vào sau một phần tử q đã biết
Chèn thêm vào đầu danh sách và vào cuối danh sách
Chèn thêm vào đầu danh sách và vào sau một phần tử q đã biết
Chèn thêm vào đầu danh sách, vào cuối danh sách và vào sau một phần tử q đã biết
Các trường hợp có thể xảy ra khi xóa một phần tử khỏi cây NPTK gồm:
Nút xóa có một nhánh con và nút xóa có hai nhánh con
Nút xóa là nút lá và nút xóa có hai nhánh con
Nút xóa là nút lá và nút xóa có một nhánh con
Nút xóa là nút lá, nút xóa có một nhánh con và nút xóa có hai nhánh con
Các trường hợp thực hiện hủy phần tử khỏi danh sách liên kết đơn gồm:
Hủy phần tử có giá trị xác định k và hủy phần tử đứng sau phần tử q
Hủy phần tử đầu danh sách và hủy phần tử có giá trị xác định k
Hủy phần tử đầu danh sách và hủy phần tử đứng sau phần tử q
Hủy phần tử đầu danh sách, hủy phần tử đứng sau phần tử q và hủy phần tử có giá trị xác định k
Các ứng dụng cơ bản của hàng đợi gồm
Chuyển đổi cơ số
Đảo ngược xâu ký dự
Tất cả các phương án đều đúng
Tất cả các phương án đều sai
Cây là đồ thị vô hướng liên thông
check_box Không có chu trình
Không có cạnh cầu
Không có đỉnh cô lập
Không có đỉnh treo
Cho biết các nút có bậc bằng 0 trong hình ảnh sau:
check_box 28, 32, 38, 47, 55
28, 30, 32, 35, 38
30, 35, 50, 40
45, 47, 50, 55
Cho biết các nút có bậc bằng 2 trong hình ảnh sau:
check_box 30, 35, 50, 40
28, 30, 32, 35, 38
28, 32, 38, 47, 55
45, 47, 50, 55
Cho biết đây là ý tưởng của thuật toán nào:Xuất phát từ dãy đầu a0, a1, …, ai, xét các phần tử sau đó từ ai+1 đến an xem có phần tử nào nhỏ hơn ai không thì hoán đổi vị trí => Sau mỗi lần luôn được dãy a0, a1, …, ai đã được sắp thứ tự
Ý tưởng của thuật toán sắp xếp InsertionSort
Ý tưởng của thuật toán sắp xếp InterchangeSort
Ý tưởng của thuật toán tìm kiếm nhị phân
Ý tưởng của thuật toán tìm kiếm tuyến tính
Cho biết kết quả của đoạn chương trình sau: int F(int a[], int n) { if (n==1) return a[0]; else return 1 + F(a,n-1); } int main() { int a[] = {2, 3, 4, 5, 6}; printf("%d",F(a,5)); getch(); }
4
5
6
7
Cho biết kết quả của đoạn chương trình sau:int F(int a[], int n){ if (n==1) return a[0]; else return a[n-1] + F(a,n-1); }int main(){ int a[] = {2, 3, 4, 5, 6}; printf("%d",F(a,5)); getch();}
14
18
2
20
Cho biết kết quả của đoạn chương trình sau:long f3(int n){ if (n==1) return 1; else return n*n + f3(n-1); }int main(){ long x = f3(3); printf("%ld", x); getch();}
12
13
14
16
Cho biết kết quả của đoạn chương trình sau:long f5(int n){ if (2*n==2) return 2; else return 2*n + f5(n-1); }int main(){ long x = f5(3); printf("%ld", x); getch();}
10
12
2
6
Cho biết kết quả khi CTC CreateTree_mang(T) được gọi trong chương trình chínhint insertNode(Tree &T, int x){ if (T != NULL) { if (T->key == x) return -1; if (T->key > x) return insertNode(T->Left, x); else if (T->key < x) return insertNode(T->Right, x); } T = (Node *) malloc(sizeof(Node)); if (T == NULL) return 0; T->key = x; T->Left = T->Right = NULL; return 1;}void DuyetCay(Tree T){ if(T!=NULL) { LNR(T->Left); printf("%7d",T->key); LNR(T->Right); }}void CreateTree_mang(Tree &T){ int x; int n=7; int a[] = { 8, 6, 10, 4, 9, 7, 11}; for(int i=0;i<n;i++) { int check = insertNode(T, a[i]); if (check == -1) printf("\n Node da ton tai!"); else if (check == 0) printf("\n Khong du bo nho"); } printf("\n Duyet cay:"); DuyetCay(T);}
check_box Duyet cay: 4 6 7 8 9 10 11
Duyet cay : 4 7 6 9 11 10 8
Duyet cay : 8 6 4 7 10 9 11
Duyet cay : 8 6 10 4 9 7 11
Cho biết kết quả khi duyệt cây sau bằng phương pháp duyệt LNR (Left-Node-Right)?
check_box 28, 30, 32, 35, 38, 40, 45, 47, 50, 55
28, 32, 30, 38, 35, 47, 45, 55, 50, 40
40, 35, 30, 28, 32, 38, 50, 45, 47, 55
55, 50, 45, 47, 40, 38, 35, 32, 30, 28
Cho biết kết quả khi duyệt cây sau bằng phương pháp duyệt LRN (Left-Right-Node)?
check_box 28, 32, 30, 38, 35, 47, 45, 55, 50, 40
28, 30, 32, 35, 38, 40, 45, 47, 50, 55
40, 35, 30, 28, 32, 38, 50, 45, 47, 55
55, 50, 45, 47, 40, 38, 35, 32, 30, 28
Cho biết kết quả khi duyệt cây sau bằng phương pháp duyệt NLR (Node-Left-Right)?
check_box 40, 35, 30, 28, 32, 38, 50, 45, 47, 55
28, 30, 32, 35, 38, 40, 45, 47, 50, 55
28, 32, 30, 38, 35, 47, 45, 55, 50, 40
55, 50, 45, 47, 40, 38, 35, 32, 30, 28
Cho biết kết quả sau khi thực hiện đoạn chương trình sau:int main(){int a[20], n,i,k;k = a[0];for(i=0; i<n; i++) if (a[i] > k) k = a[i];}
a[k] có giá trị lớn nhất
a[k] có giá trị nhỏ nhất
k có giá trị lớn nhất
k có giá trị nhỏ nhất
Cho biết kết quả sau khi thực hiện đoạn chương trình sau:int main(){int a[20], n,i,k;k = a[n-1];for(i=n-2; i>=0; i--) if (a[i] < k) k = a[i];}
a[k] có giá trị lớn nhất
a[k] có giá trị nhỏ nhất
k có giá trị lớn nhất
k có giá trị nhỏ nhất
Cho biết kết xuất của đoạn chương trình sau:long F(int n){if ((2*n+1) ==1) return 1;else return (2*n+1)+F(n-1);}void main(){long x=F(3);printf("%ld", x);}
16
16.00
6
9
Cho các bước mô tả thuật toán như sau:Nếu danh sách rỗng:DQ.Head = new_element;DQ.Tail = DQ.Head;Ngược lại (d/s khác rỗng):new_element -> next = DQ.Head;DQ.Head -> pre = new_element;DQ.Head = new_element;Đây là mô tả của thuật toán chèn một phần tử vào danh sách liên kết đôi với vị trí chèn là?
check_box Chèn vào đầu danh sách
Chèn sau phần tử đã biết
Chèn trước phần tử đã biết
Chèn vào cuối danh sách
Cho các phần tử 5, 10, 3, 42 lần lượt được bổ sung vào hàng đợi (Queue). Phần tử nào được lấy ra cuối cùng
10
3
42
5
Cho các phần tử 5, 10, 3, 42 lần lượt được bổ sung vào hàng đợi (Queue). Phần tử nào được lấy ra đầu tiên
10
3
42
5
Cho các phần tử 5, 10, 3, 42 lần lượt được bổ sung vào ngăn xếp (Stack). Phần tử nào được lấy ra cuối cùng
10
3
42
5
Cho các phần tử 5, 10, 3, 42 lần lượt được bổ sung vào ngăn xếp (Stack). Phần tử nào được lấy ra đầu tiên
10
3
42
5
Cho các phần tử sau: 31, 19, 36, 20, 41, 17, 33, 32. Tạo cây NPTK từ các phần tử trên. Hãy cho biết sau khi xóa phần tử 33 trên cây sau đó áp dụng phương pháp duyệt LNR thì kết quả thu được thứ tự các phần tử là như thế nào?
17, 19, 20, 31, 32, 36, 41
17, 20, 19, 32, 41, 36, 31
31, 19, 17, 20, 36, 32, 41
31, 19, 36, 20, 41, 17, 32
Cho các phần tử sau: 31, 19, 36, 20, 41, 17, 33, 32. Tạo cây NPTK từ các phần tử trên. Hãy cho biết sau khi xóa phần tử 33 trên cây sau đó áp dụng phương pháp duyệt NLR thì kết quả thu được thứ tự các phần tử là như thế nào?
17, 19, 20, 31, 32, 36, 41
17, 20, 19, 32, 41, 36, 31
31, 19, 17, 20, 36, 32, 41
31, 19, 36, 20, 41, 17, 32
Cho các phần tử sau: 31, 19, 36, 20, 41, 17, 33, 32. Tạo cây NPTK từ các phần tử trên. Hãy cho biết sau khi xóa phần tử 33 trên cây sau đó áp dụng phương pháp duyệt NRL thì kết quả thu được thứ tự các phần tử là như thế nào?
31, 19, 36, 20, 41, 17, 32
31, 36, 41, 32, 19, 20, 17
41, 32, 36, 20, 17, 19, 31
41, 36, 32, 31, 20, 19, 17
Cho các phần tử sau: 31, 19, 36, 20, 41, 17, 33, 32. Tạo cây NPTK từ các phần tử trên. Hãy cho biết sau khi xóa phần tử 33 trên cây sau đó áp dụng phương pháp duyệt RLN thì kết quả thu được thứ tự các phần tử là như thế nào
31, 19, 36, 20, 41, 17, 32
31, 36, 41, 32, 19, 20, 17
41, 32, 36, 20, 17, 19, 31
41, 36, 32, 31, 20, 19, 17
Cho các phần tử sau: 31, 19, 36, 20, 41, 17, 33, 32. Tạo cây NPTK từ các phần tử trên. Hãy cho biết sau khi xóa phần tử 33 trên cây sau đó áp dụng phương pháp duyệt RNL thì kết quả thu được thứ tự các phần tử là như thế nào?
31, 19, 36, 20, 41, 17, 32
31, 36, 41, 32, 19, 20, 17
41, 32, 36, 20, 17, 19, 31
41, 36, 32, 31, 20, 19, 17
Cho cây NPTK, Cho biết kết quả duyệt cây theo thứ tự LNR là:  
30, 11, 6, 8, 16, 14, 36, 31, 33, 46
46, 36, 33, 31, 30, 16, 14, 11, 8, 6
6, 8, 11, 14, 16, 30, 31, 33, 36, 46
8, 6, 14, 16, 11, 33, 31, 46, 36, 30
Cho cây NPTK, Cho biết kết quả duyệt cây theo thứ tự LNR là:
30, 11, 6, 8, 16, 14, 36, 31, 33, 46
46, 36, 33, 31, 30, 16, 14, 11, 8, 6
6, 8, 11, 14, 16, 30, 31, 33, 36, 46
8, 6, 14, 16, 11, 33, 31, 46, 36, 30
Cho cây NPTK, Cho biết kết quả duyệt cây theo thứ tự LNR là:
check_box 6, 8, 11, 14, 16, 30, 31, 33, 36, 46
30, 11, 6, 8, 16, 14, 36, 31, 33, 46
46, 36, 33, 31, 30, 16, 14, 11, 8, 6
8, 6, 14, 16, 11, 33, 31, 46, 36, 30
Cho cây NPTK, Cho biết kết quả duyệt cây theo thứ tự LNR là:
check_box 6, 8, 11, 14, 16, 30, 31, 33, 36, 46
30, 11, 6, 8, 16, 14, 36, 31, 33, 46
46, 36, 33, 31, 30, 16, 14, 11, 8, 6
8, 6, 14, 16, 11, 33, 31, 46, 36, 30
Cho cây NPTK, Cho biết kết quả duyệt cây theo thứ tự LRN là:
30, 11, 6, 8, 16, 14, 36, 31, 33, 46
46, 36, 33, 31, 30, 16, 14, 11, 8, 6
6, 8, 11, 14, 16, 30, 31, 33, 36, 46
8, 6, 14, 16, 11, 33, 31, 46, 36, 30
Cho cây NPTK, Cho biết kết quả duyệt cây theo thứ tự LRN là:
30, 11, 6, 8, 16, 14, 36, 31, 33, 46
46, 36, 33, 31, 30, 16, 14, 11, 8, 6
6, 8, 11, 14, 16, 30, 31, 33, 36, 46
8, 6, 14, 16, 11, 33, 31, 46, 36, 30
Cho cây NPTK, Cho biết kết quả duyệt cây theo thứ tự LRN là:
check_box 8, 6, 14, 16, 11, 33, 31, 46, 36, 30
6, 8, 11, 14, 16, 30, 31, 33, 36, 46
30, 11, 6, 8, 16, 14, 36, 31, 33, 46
46, 36, 33, 31, 30, 16, 14, 11, 8, 6
Cho cây NPTK, Cho biết kết quả duyệt cây theo thứ tự RNL là:
30, 11, 6, 8, 16, 14, 36, 31, 33, 46
46, 36, 33, 31, 30, 16, 14, 11, 8, 6
6, 8, 11, 14, 16, 30, 31, 33, 36, 46
8, 6, 14, 16, 11, 33, 31, 46, 36, 30
Cho cây NPTK, Cho biết kết quả duyệt cây theo thứ tự RNL là:
30, 11, 6, 8, 16, 14, 36, 31, 33, 46
46, 36, 33, 31, 30, 16, 14, 11, 8, 6
6, 8, 11, 14, 16, 30, 31, 33, 36, 46
8, 6, 14, 16, 11, 33, 31, 46, 36, 30
Cho cây NPTK, Cho biết kết quả duyệt cây theo thứ tự RNL là:
check_box 46, 36, 33, 31, 30, 16, 14, 11, 8, 6
30, 11, 6, 8, 16, 14, 36, 31, 33, 46
8, 6, 14, 16, 11, 33, 31, 46, 36, 30
6, 8, 11, 14, 16, 30, 31, 33, 36, 46
Cho cây NPTK, chọn biểu thức tương ứng với cây:
(3+4)*((8-2)*6)
(3+4)*(8-2*6)
(3+4*8-2*6)
Cho cây NPTK, chọn biểu thức tương ứng với cây:
(3+4)*((8-2)*6)
(3+4)*(8-2*6)
(3+4*8-2*6)
Cho cây NPTK, chọn biểu thức tương ứng với cây:
check_box (3+4)*((8-2)*6)
(3+4*8-2*6)
(3+4)*(8-(2*6))
Cho Danh sách liên kết đôi chứa danh sách Cán Bộ (CB), Đoạn mã sau đây thực hiện gì?void InDSCanBo (DList Q){ Node *p;for(p=Q.Tail; p!=NULL; p=p->pre){System.out.print(“%5d”, p->info.mcb);System.out.print(“%15s”, p->info.hoten);System.out.print(“%10s”, p->info.ns);System.out.print(“%7.1f”, p->info.hsl);System.out.print(“%7.0f”, p->info.pc);}}
check_box In đầy đủ thông tin tất cả các cán bộ đang chứa trong danh sách Q lần lượt từ cuối danh sách về đầu danh sách
In đầy đủ thông tin tất cả các cán bộ đang chứa trong danh sách Q lần lượt từ đầu danh sách về cuối danh sách
In danh sách tên các cán bộ đang có trong danh sách Q lần lượt từ cuối danh sách về đầu danh sách
In đầy đủ thông tin tất cả các cán bộ đang chứa trong danh sách Q
Cho Danh sách liên kết đơn chứa danh sách Cán Bộ (CB), Đoạn mã sau đây thực hiện gì?void InDSCanBo (List Q){ Node *p;for(p=Q.Head; p!=NULL; p=p->next){System.out.print(“%5d”, p->info.mcb);System.out.print(“%15s”, p->info.hoten);System.out.print(“%10s”, p->info.ns);System.out.print(“%7.1f”, p->info.hsl);System.out.print(“%7.0f”, p->info.pc);}}
check_box In đầy đủ thông tin tất cả các cán bộ đang chứa trong danh sách Q
In họ tên và mã của các cán bộ đang chứa trong danh sách
In thông tin của các cán bộ có trong danh sách mà có hệ số lương lớn hớn 3.5
Nhập vào từ bàn phím thông tin đầy đủ của các cán bộ vào danh sách Q
Cho dãy 10, 5, 7, 3, 9, 2, 15, 1. Cho biết kết quả sau lần duyệt thứ nhất của thuật toán sắp xếp tăng dần bằng QuickSort
1, 2, 3, 5, 7, 9, 15, 10
1, 2, 3, 5, 9, 7, 15, 10
1, 2, 3,7,9, 5, 15, 10
1, 2, 5, 7, 9, 3, 15, 10
Cho dãy 10, 5, 7, 3, 9, 2, 15, 1. Dùng thuật toán sắp xếp tăng dần bằng QuickSort, cho biết ở lần duyệt thứ nhất giá trị của x, L và R là gì?
check_box L=0; R=7; x=3;
L=0; R=8; x=9;
L=0; R=8; x=9;
L=1; R=7; x=3;
Cho dãy 10, 5, 7, 3, 9, 2, 15, 1. Dùng thuật toán sắp xếp tăng dần bằng QuickSort, cho biết ở lần duyệt thứ nhất giá trị của x, L và R là gì?
L=0; R=7; x=3;
L=0; R=8; x=9;
L=1; R=7; x=3;
Cho dãy sau: 23, 78, 45, 8, 32, 56. Dùng phương pháp sắp xếp chọn trực tiếp (Selection Sort) để sắp xếp tăng dần, sau 2 lần lặp thì kết quả của dãy là thế nào?
23, 78, 45, 8, 32, 56
8, 23, 32, 78, 56, 45
8, 23, 45, 78, 32, 56
8, 23, 78, 45, 32, 56
Cho dãy sau: 23, 78, 45, 8, 32, 56. Dùng phương pháp sắp xếp chọn trực tiếp (Selection Sort) để sắp xếp tăng dần, sau 3 lần lặp thì kết quả của dãy là thế nào?
23, 78, 45, 8, 32, 56
8, 23, 32, 78, 45, 56
8, 23, 32, 78, 56, 45
8, 23, 78, 45, 32, 56
Cho dãy sau: 23, 78, 45, 8, 32, 56. Dùng phương pháp sắp xếp chọn trực tiếp (Selection Sort) để sắp xếp tăng dần, sau 5 lần lặp thì kết quả của dãy là thế nào?
23, 78, 45, 8, 32, 56
8, 23, 32, 45, 56, 78
8, 23, 32, 78, 56, 45
8, 23, 78, 45, 32, 56
Cho dãy sau: 42, 23, 74, 11, 65, 58. Dùng phương pháp sắp xếp chèn trực tiếp (Insertion Sort) để sắp xếp tăng dần, sau 2 lần lặp kết quả của dãy là thế nào?
11, 23, 42, 65, 74, 58
11, 23, 42, 74, 58, 65
11, 23, 58, 65, 42, 74
23, 42, 74, 11, 65, 58
Cho dãy sau: 42, 23, 74, 11, 65, 58. Dùng phương pháp sắp xếp chèn trực tiếp (Insertion Sort) để sắp xếp tăng dần, sau 3 lần lặp kết quả của dãy là thế nào?
11, 23, 42, 65, 74, 58
11, 23, 42, 74, 58, 65
11, 23, 42, 74, 65, 58
11, 23, 58, 65, 42, 74
Cho dãy sau: 42, 23, 74, 11, 65, 58. Dùng phương pháp sắp xếp chèn trực tiếp (Insertion Sort) để sắp xếp tăng dần, sau 5 lần lặp kết quả của dãy là thế nào?
11, 23, 42, 58, 65, 74
11, 23, 42, 65, 58, 74
11, 23, 42, 74, 58, 65
11, 23, 58, 65, 42, 74
Cho dãy sau: 42, 23, 74, 11, 65, 58. Dùng phương pháp sắp xếp đổi chỗ trực tiếp (Interchange Sort) để sắp xếp tăng dần, sau 4 lần lặp kết quả của dãy là thế nào?
11, 23, 42, 58, 65, 74
11, 23, 42, 58, 74, 65
11, 23, 42, 65, 58, 74
11, 23, 42, 74, 65, 58
Cho dãy sau: 42, 23, 74, 11, 65, 58. Dùng phương pháp sắp xếp nổi bọt (Bubble Sort) để sắp xếp tăng dần, sau 1 lần lặp kết quả của dãy là thế nào?
11, 23, 42, 58, 65, 74
11, 23, 42, 58, 74, 65
11, 42, 23, 74, 58, 65
42, 23, 74, 11, 65, 58
Cho dãy sau: 42, 23, 74, 11, 65, 58. Dùng phương pháp sắp xếp nổi bọt (Bubble Sort) để sắp xếp tăng dần, sau 4 lần lặp kết quả của dãy là thế nào?
11, 23, 42, 58, 65, 74
11, 23, 58, 42, 65, 74
11, 23, 58, 42, 74, 65
42, 23, 74, 11, 65, 58
Cho dãy sau: 42, 23, 74, 11, 65, 58. Dùng phương pháp sắp xếp phân hoạch (Quick Sort), điểm chốt a[middle] ban đầu là:
a[middle] = 11
a[middle] = 23
a[middle] = 74
Các đáp án đưa ra đều không đúng
Cho dãy số sau: 30, 18, 35, 17, 40, 16, 32, 31, 43, 19. Cho biết kết quả khi duyệt cây được tạo lần lượt từ các phần tử trên bằng phương pháp duyệt LRN (Left Right Node ):
16, 17, 19, 18, 31, 32, 43, 40, 35, 30
30, 18, 17, 16, 19, 35, 32, 31, 40, 43
30, 18, 35, 17, 40, 16, 32, 31, 43, 19
30, 35, 40, 43, 32, 31, 18, 19, 17, 16
Cho dãy số sau: 30, 18, 35, 17, 40, 16, 32, 31, 43, 19. Cho biết kết quả khi duyệt cây được tạo lần lượt từ các phần tử trên bằng phương pháp duyệt NLR (Node Left Right):
16, 17, 18, 19, 30, 31, 32, 35, 40, 43
30, 18, 17, 16, 19, 35, 32, 31, 40, 43
30, 18, 35, 17, 40, 16, 32, 31, 43, 19
30, 35, 40, 43, 32, 31, 18, 19, 17, 16
Cho dãy số sau: 30, 18, 35, 17, 40, 16, 32, 31, 43, 19. Cho biết kết quả khi duyệt cây được tạo lần lượt từ các phần tử trên bằng phương pháp duyệt RNL(Right Node Left):
16, 17, 19, 18, 31, 32, 43, 40, 35, 30
30, 18, 35, 17, 40, 16, 32, 31, 43, 19
30, 35, 40, 43, 32, 31, 18, 19, 17, 16
43, 40, 35, 32, 31, 30, 19, 18, 17, 16
Cho đồ thị G = <V,E> dưới dạng ma trận trọng số. Hãy cho biết đâu là tập cạnh của cây khung nhỏ nhất được xây dựng theo thuật toán Kruskal
T={ (2, 3), (1, 3), (4, 5), (4, 6), (3, 5) }
T={(1, 2), (1, 4), (2, 3), (2, 6), (6, 3), (6, 7)}
T={(1, 2), (1, 4), (2, 3), (4, 5), (2, 6), (6, 7)}
T={(1, 2), (1, 4), (2, 4), (2, 6), (4, 5), (6, 7)}
Cho đồ thị sau: Cho biết ma trận kề biểu diễn đồ thị trên là gì?
check_box 


Cho đồ thị sau: Cho biết ma trận trọng số biểu diễn đồ thị trên là gì?
check_box 


Cho đồ thị trọng số G = <V,E> như hình vẽ. Hãy cho biết đâu là tập cạnh của cây bao trùm ngắn nhất được xây dựng theo thuật toán Prim. Giả sử bắt đầu từ đỉnh 1
T = { (1, 2), (1, 4), (2, 4), (2, 6), (4, 5), (6, 7) }
T = { (1, 4), (4, 3), (1, 2), (4, 5), (2, 6), (6,7) }
T={(1, 2), (1, 4), (1, 3), (2, 6), (4, 5), (6,7 )}
T={(1, 2), (1, 4), (2, 3), (2, 6), (6, 3), (6, 7)}
Cho đồ thị vô hướng có 5 đỉnh với tổng bậc các đỉnh là 10. Vậy số số cạnh của đồ thị là bao nhiêu
check_box 5
6
4
3
Cho đồ thị vô hướng như hình vẽ. Đỉnh nào dưới đây là đỉnh cô lập của đồ thị
check_box Đỉnh f
Đỉnh a
Đỉnh b
Đỉnh d
Cho đồ thị vô hướng như hình vẽ. Đỉnh nào dưới đây là đỉnh treo của đồ thị:
Đỉnh a
Đỉnh b
Đỉnh d
Đỉnh f
Cho đồ thị vô hướng như hình vẽ. Hãy cho biết ma trận kề nào là biểu diễn đúng của đồ thị  
check_box 


Cho đồ thị vô hướng như hình vẽ. Hãy cho biết ma trận kề nào là biểu diễn đúng của đồ thị
check_box 


Cho đoạn chương trình như sau:void RemoveHead( DLIST &DQ ){DNode*p;if ( DQ.Head != NULL){p = DQ.Head; DQ.Head = DQ.Head -> next;(...1...)free(p);if ( DQ.Head == NULL)DQ.Tail = NULL;} }Đoạn lệnh được đưa vào (1) là?
Các đáp án đều sai
DQ.Head -> next = NULL;
DQ.Head -> pre = NULL;
DQ.Head -> pre = NULL;DQ.Head -> next= NULL;
Cho đoạn chương trình như sau:void AddAfter(DLIST &DQ, DNode *q, DNode *new_element){DNode *p = q -> next;if (q != NULL){new_element -> next = p;new_element -> pre = q;q -> next = new_element;if (p != NULL) p -> pre = new_element;if (q == DQ.Tail) …[1]…}elseAddFirst( DQ, new_element);}Đoạn lệnh nào được điền vào [1] cho đúng?
check_box DQ.Tail = new_element;
DQ.Head = new_element;
DQ.Tail = NULL;
new_element= DQ.Tail;
Cho đoạn chương trình như sau:void AddAfter(DLIST &DQ, DNode *q, DNode *new_element){DNode *p = q -> next;if (q != NULL){new_element -> next = p;new_element -> pre = q;q -> next = new_element;if (p != NULL) …[1]… if (q == DQ.Tail) DQ.Tail = new_element;}elseAddFirst( DQ, new_element);}Đoạn lệnh nào được điền vào [1] cho đúng?
new_element = p -> pre;
p -> next = new_element;
p -> pre = new_element;
p -> pre = NULL;
Cho đoạn chương trình sau:void RemoveTail ( DLIST &DQ ){     DNode *p;if ( DQ.Tail != NULL) {p = DQ.Tail; ..(1)..free(p);if ( DQ.Head == NULL)   DQ.Tail = NULL;else DQ.Head ->pre = NULL;} }
DQ.Head = DQ.Tail -> pre;DQ.Tail -> next = NULL;
DQ.Tail -> next = NULL;
DQ.Tail = DQ.Tail -> next;DQ.Tail -> next = NULL;
DQ.Tail = DQ.Tail -> pre;DQ.Tail -> next = NULL;
Cho đoạn chương trình:void QuickSort( int a[ ], int L , int R ){int i,j,x;x= a[(L+R)/2];i = L; j = R;do{while ( a[i] < x ) i++; while ( a[j] > x ) j--;if ( i <= j ){Hoanvi (a[i], a[j]);i++; j--;}} while(i<j);if (L<j) ….if (i<R) ….}Điền giá trị nào vào đoạn …. cho đúng
QuickSort(a,i,R);QuickSort(a,L,j);
QuickSort(a,j,L);QuickSort(a,i,R);
QuickSort(a,L,j);QuickSort(a,i,R);
QuickSort(a,L,j);QuickSort(a,R,i);
Cho đoạn chương trình:void QuickSort( int a[ ], int L , int R ){int i,j,x;x= a[(L+R)/2];i =…; j = ...;do{while ( a[i] < x ) i++; while ( a[j] > x ) j--;if ( i <= j ){Hoanvi (a[i], a[j]);i++; j--;}} while(i<j);if (L<j) QuickSort(a,L,j);if (i<R) QuickSort(a,i,R);}Điền giá trị nào vào đoạn …. cho đúng
i=0; j=n-1;
i=0; j=R;
i=L; j=n-1;
i=L; j=R;
Cho đoạn chương trình:void QuickSort( int a[ ], int L , int R ){int i,j,x;x=……..;i = L; j = R;do{while ( a[i] < x ) i++; while ( a[j] > x ) j--;if ( i <= j ){Hoanvi (a[i], a[j]);i++; j--;}} while(i<j);if (L<j) QuickSort(a,L,j);if (i<R) QuickSort(a,i,R);}Điền giá trị nào vào đoạn …. cho đúng
a[(L+R)/2]
a[(L+R)]
a[(L-R)/2]
a[R/2]
Cho đoạn mã cài đặt phương pháp duyệt NLR:void NLR( Tree Root ){if ( root != NULL ) { < Xử lý Root >; NLR ( Root -> Left ); NLR(Root->Left) ; [1] ……….}} Đoạn mã điền vào phần trống ở dòng số [1]
LRN ( Root -> Left );
LRN ( Root -> Right );
NLR ( Root -> Left );
NLR ( Root -> Right );
Cho đoạn mã sau, cho biết đoạn mã biểu diễn thuật toán gì?Bước 1: S = 1, i = 1;Bước 2: Nếu i<n thì s = s*i, qua bước 3; Ngược lại qua bước 4;Bước 3: i = i + 1;Quay lại bước 2;Bước 4: Xuất S ra màn hình
Tính (n-1)!
Tính n!
Tính tổng các giá trị 1*1*2*3*…*n
Tính tổng các giá trị 1+2+3+…+n
Cho đoạn mã sau, cho biết kết quả của x?Queue Q;InitQueue(Q);Put(Q, “Green”);Put(Q, “Red”);Put(Q, “Yellow”);Get(Q,x);
Green
Red
Tất cả các phương án đều sai
Yellow
Cho đoạn mã sau, cho biết kết quả của x?Queue Q;InitQueue(Q);Put(Q, “Green”);Put(Q, “Red”);Put(Q, “Yellow”);Get(Q,x);Get(Q,x);
Green
Red
Tất cả các phương án đều sai
Yellow
Cho đoạn mã sau, cho biết kết quả của x?Stack S;InitStack(S);Push(S, “Green”);Push(S, “Red”);Push(S, “Yellow”);Pop(S,x);
Green
Red
Tất cả các phương án đều đúng
Yellow
Cho đoạn mã sau, cho biết kết quả của x?Stack S;InitStack(S);Push(S, “Green”);Push(S, “Red”);Push(S, “Yellow”);Pop(S,x);Pop(S, x);
Green
Red
Tất cả các phương án đều đúng
Yellow
Cho đoạn mã sau:struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc,tt;};struct Node{ CB info; struct Node *next, *pre;};struct List{ Node *head, *tail;};Khai báo CTDL trên là khai báo CTDL dạng gì?
check_box Danh sách liên kết đôi
Danh sách liên kết đơn
Danh sách liên kết vòng
Danh sách liên kết vòng đôi
Cho đoạn mã sau:struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc,tt;};struct Node{ CB info; struct Node *next;};struct List{ Node *head, *tail;};Khai báo Cấu trúc dữ liệu trên là khai báo CTDL dạng gì?
check_box Danh sách liên kết đơn
Danh sách liên kết đôi
Danh sách liên kết vòng
Danh sách liên kết vòng đôi
Cho đoạn mã saustack <int> s; for (int i = 1; i <= 4; i++)s.push(i);Phần tử được lấy ra đầu tiên của Stack là gì?
1
2
3
4
Cho đoạn mã saustack <int> s; for (int i = 1; i <= 5; i++)s.push(i);Phần tử được lấy ra cuối cùng của Stack là gì?
1
2
3
4
Cho đoạn mã saustack <int> s; for (int i = 1; i <= 5; i++)s.push(i);s.pop(); Kết quả các phần tử của Stack sau khi thực hiện các đoạn mã trên là gì?
1, 2, 3
1, 2, 3, 4
1, 3, 5
2, 3, 4, 5
Cho đoạn mã saustack <int> s; for (int i = 1; i <= 5; i++)s.push(i);while (!s.empty()) {cout << s.top() << endl; s.pop(); }Kết quả in lên màn hình là gì?
1, 2, 3, 4, 5
1, 3, 5
2, 4, 5
5, 4, 3, 2, 1
Cho đoạn mô tả sau:Bước 1: Khởi đầu tìm kiếm trên tất cả các phần tử của dãy (left = 0 và right = n - 1)Bước 2: Tính middle = (left + right)/2. So sánh a[middle] với x. Có 3 khả năng: a[middle] = x thì thông báo Tìm thấy => Dừng a[middle] > x thì right = middle - 1 a[middle] < x thì left = middle + 1Bước 3: Nếu left <= right và quay lại bước 2 để tìm kiếm tiếpNgược lại thông báo không tìm thấy và dừng thuật toán
Các đáp án đưa ra đều sai
Các đáp án trên đều đúng
Mô tả thuật toán tìm kiếm nhị phân
Mô tả thuật toán tìm kiếm tuyến tính
Cho G =<V,E> là đồ thị vô hướng liên thông n đỉnh. T =<V, H> được gọi là cây khung của đồ thị nếu:
T liên thông không có chu trình và H E
T liên thông và có đúng n-1 cạnh.
T liên thông và không có chu trình.
T liên thông và mỗi cạnh của nó đều là cầu;
Cho hàm tìm kiếm tuyến tính trong mảng 1 chiều có n phần tửint Search( int a[], int n, int x){ int i; for(i=0; i<n; i++) if(a[i] == x) return i; return(-1);}Chọn phát biểu đúng nhất trong các phát biểu sau
Hàm luôn luôn trả về vị trí phần tử cuối cùng có giá trị bằng x
Hàm trả về vị trí phần tử cuối cùng có giá trị bằng x, ngược lại trả về -1
Hàm trả về vị trí phần tử cuối cùng có giá trị bằng x, ngược lại trả về n
Hàm trả về vị trí phần tử đầu tiên có giá trị bằng x, ngược lại trả về -1
Cho khai báo cấu trúc cây NPTK:struct Node{     int key;     Node *Left, *Right;};typedef Node *Tree;và CTC insertNode(Tree &T, item x) để chèn thêm phần tử mới vào cây nhị phân tìm kiếm, nếu chèn thành công trả lại giá trị 0 nếu không chèn thành công trả lại giá trị -1Đoạn mã nào sau đây để cho phép nhập liên tiếp các số nguyên đến khi bằng 0 thì dừng và tạo cây nhị phân tìm kiếm từ các số nguyên đã nhập đó.
check_box void CreateTree(Tree &T){int x;while (1){printf("Nhap vao Node: ");scanf("%d", &x);if (x == 0) break;int check = insertNode(T, x);if (check == -1)printf("Node da ton tai!");else if (check == 0)printf("Khong du bo nho");}}
int insertNode(Tree &T, int x){ if (T != NULL) { if (T->key == x) return -1; if (T->key > x) return insertNode(T->Left, x); else if (T->key < x) return insertNode(T->Right, x); } T = (Node *) malloc(sizeof(Node)); if (T == NULL) return 0; T->key = x; T->Left = T->Right = NULL; return 1;}
Node* searchKey(Tree T, int x) { if (T!=NULL) { if (T->key == x) { Node *P = T; return P;} if (T->key > x) return searchKey(T->Left, x); if (T->key < x) return searchKey(T->Right, x); } return NULL;}
void LNR(Tree T){ if(T!=NULL) { LNR(T->Left); printf("%7d",T->key); LNR(T->Right); }}
Cho khai báo cấu trúc đồ thị dạng danh sách cạnh như sau:struct Canh{int dd,dc;float ts;};struct DoThiCanh{int m;Canh ds[max];};Đâu là đoạn mã để liệt kê các đỉnh kề của một đỉnh k nào đó trong đồ thị
check_box void XuLy(DoThiCanh G,int k){int i;printf("\n Cac dinh ke cua dinh %d la:",k);for(i=1;i<=G.m;i++){if(G.ds[i].dd == k)printf("%7d",G.ds[i].dc);if(G.ds[i].dc == k)printf("%7d",G.ds[i].dd);}}
void XuLy(DoThi G){ printf("\n Ma tran trong so la:\n"); for(int i =1; i<=G.n; i++) { for(int j=1;j<=G.n;j++) printf("%8.1f",G.C[i][j]); printf("\n"); }}
void XuLy(DoThi G, int k){ int i,j; printf("\n Cac dinh ke cua %d la:",k); for(i=1;i<=G.n;i++) if(G.C[k][i]>0) printf("%7d",i);}
void XuLy(DoThiCanh G){printf("\n Danh sach canh la: \n");for(int i = 1; i<=G.m; i++)printf("\n %d -> %d: %7.1f",G.ds[i].dd,G.ds[i].dc, G.ds[i].ts);}
Cho khai báo cấu trúc đồ thị dạng danh sách cạnh như sau:struct Canh{int dd,dc;float ts;};struct DoThiCanh{int m;Canh ds[max];};Đâu là đoạn mã để liệt kê danh sách tất cả các cạnh hiện có của đồ thị
check_box void XuLy(DoThiCanh G){printf("\n Danh sach canh la: \n");for(int i = 1; i<=G.m; i++)printf("\n %d -> %d: %7.1f",G.ds[i].dd,G.ds[i].dc, G.ds[i].ts);}
void XuLy(DoThi G){ printf("\n Ma tran trong so la:\n"); for(int i =1; i<=G.n; i++) { for(int j=1;j<=G.n;j++) printf("%8.1f",G.C[i][j]); printf("\n"); }}
void XuLy(DoThi G, int k){ int i,j; printf("\n Cac dinh ke cua %d la:",k); for(i=1;i<=G.n;i++) if(G.C[k][i]>0) printf("%7d",i);}
void XuLy(DoThiCanh G,int k){int i;printf("\n Cac dinh ke cua dinh %d la:",k);for(i=1;i<=G.m;i++){if(G.ds[i].dd == k)printf("%7d",G.ds[i].dc);if(G.ds[i].dc == k)printf("%7d",G.ds[i].dd);}}
Cho khai báo cấu trúc đồ thị dạng ma trận trọng số như sau:struct DoThi{ int n; float C[max][max];};Cho biết đoạn chương trình con sau thực hiện gì?void XuLy(DoThi G){ printf("\n Ma tran trong so la:\n"); for(int i =1; i<=G.n; i++) { for(int j=1;j<=G.n;j++) printf("%8.1f",G.C[i][j]); printf("\n"); }}
check_box In ma trận trọng số của đồ thị
In danh sách cạnh của đồ thị
In danh sách kề của đồ thị
In ma trận kề của đồ thị
Cho khai báo cấu trúc đồ thị dạng ma trận trọng số như sau:struct DoThi{ int n; float C[max][max];};Đâu là đoạn mã để in ma trận trọng số biểu diễn đồ thị
check_box void XuLy(DoThi G){ printf("\n Ma tran trong so la:\n"); for(int i =1; i<=G.n; i++) { for(int j=1;j<=G.n;j++) printf("%8.1f",G.C[i][j]); printf("\n"); }}
void XuLy(DoThi &G){ int dd,dc; int i,j; float ts; printf("Nhap so dinh do thi:"); scanf("%d",&G.n); for(i =1; i<=G.n; i++) for(j=1; j<=G.n; j++) G.C[i][j]=0;}
void XuLy(DoThi G){ printf("\n Ma tran trong so la:\n"); for(int i =1; i<=G.n; i++) { for(int j=1;j<=G.n;j++) if (G.C[i][j]>0)printf("%8.1f",G.C[i][j]); printf("\n"); }}
void XuLy(DoThi G, int k){ int i,j; printf("\n Cac dinh ke cua %d la:",k); for(i=1;i<=G.n;i++) if(G.C[k][i]>0) printf("%7d",i);}
Cho khai báo cấu trúc đồ thị dạng ma trận trọng số như sau:struct DoThi{ int n; float C[max][max];};Đâu là đoạn mã để liệt kê các đỉnh kề của một đỉnh k nào đó trong đồ thị
check_box void XuLy(DoThi G, int k){ int i,j; printf("\n Cac dinh ke cua %d la:",k); for(i=1;i<=G.n;i++) if(G.C[k][i]>0) printf("%7d",i);}
void XuLy(DoThi G){ printf("\n Ma tran trong so la:\n"); for(int i =1; i<=G.n; i++) { for(int j=1;j<=G.n;j++) if (G.C[i][j]>0)printf("%8.1f",G.C[i][j]); printf("\n"); }}
void XuLy(DoThi &G){ int dd,dc; int i,j; float ts; printf("Nhap so dinh do thi:"); scanf("%d",&G.n); for(i =1; i<=G.n; i++) for(j=1; j<=G.n; j++) G.C[i][j]=0;}
void XuLy(DoThi G){ printf("\n Ma tran trong so la:\n"); for(int i =1; i<=G.n; i++) { for(int j=1;j<=G.n;j++) printf("%8.1f",G.C[i][j]); printf("\n"); }}
Cho khai báo cấu trúc dữ liệu như sau:struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc,tt;};struct Node{ CB info; struct Node *next, *pre;};struct List{ Node *head, *tail;};Đoạn mã sau đây thực hiện yêu cầu gì?Node *TimCBMa(List Q,char k[]){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) if(strcmp(p->info.hoten,k)==0) break; return p;}
check_box Thực hiện tìm kiếm trong DSLK kép chứa các CanBo xem có CanBo nào có tên là k hay không? Trả lại thông tin nút chứa cán bộ nếu tìm thấy ngược lại trả lại giá trị NULL
Thực hiện tìm kiếm Cán bộ theo tên cán bộ
Thực hiện tìm kiếm trong DSLK đôi có chứa Cán bộ với tên là k nào đó hay không?
Thực hiện tìm kiếm trong DSLK đơn chứa các CanBo xem có CanBo nào có mã là k hay không? Trả lại thông tin nút chứa cán bộ nếu tìm thấy ngược lại trả lại giá trị NULL
Cho khai báo cấu trúc như sau:struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc,tt;};struct Node{ CB info; struct Node *next;};struct List{ Node *head, *tail;};Đoạn mã sau đây thực hiện yêu cầu xử lý gì?Node *TimCBMa(List Q,int k){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) if(p->info.mcb==k) break; return p;}
check_box Thực hiện tìm kiếm trong DSLK đơn chứa các CanBo xem có CanBo nào có mã là k hay không? Trả lại thông tin nút chứa cán bộ nếu tìm thấy ngược lại trả lại giá trị NULL
Thực hiện tìm kiếm Cán bộ theo mã cán bộ
Thực hiện tìm kiếm trong DSLK đôi chứa các CanBo xem có CanBo nào có mã là k hay không? Trả lại thông tin nút chứa cán bộ nếu tìm thấy ngược lại trả lại giá trị NULL
Thực hiện tìm kiếm trong DSLK đơn có chứa Cán bộ với tên là k nào đó hay không?
Cho khai báo cấu trúc:struct NodeQueue{ int info; struct NodeQueue *next; struct NodeQueue *pre;};struct Queue{ NodeQueue *Rear, *Front;}Queue Q;Đoạn mã sau đây thực hiện yêu cầu gì?void initQueue(Queue &Q){Q.Rear = NULL;Q.Front = NULL;}
check_box Khởi tạo hàng đợi rỗng
Khởi tạo danh sách rỗng
Khởi tạo mảng rỗng
Khởi tạo Stack rỗng
Cho khai báo CTDL như sau:struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc,thanhtien;};struct Node{ CB info; struct Node *next;};struct List{ Node *head, *tail;};Đâu là đoạn mã tính tổng tiền lương của các CanBo trong DSLK đơn.
check_box float TinhTongLuong (List Q){ Node *p; float s = 0; for(p=Q.Head; p!=NULL; p=p->next) s = s + p->info.thanhtien;return s;}
float TinhTongLuong (List Q){ Node *p; float s = 0; for(p=Q.Head; p!=NULL; p=p->next) s = s + p->info.hsl;return s;}
float TinhTongLuong (List Q){ Node *p; float s = 0; for(p=Q.Head; p!=NULL; p=p->next) s = s + p->info.pc;return s;}
void TinhTongLuong (List Q){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) printf(“%7.1f”, p->info.tt);}
Cho khai báo CTDL như sau:struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc,tt;};struct Node{ CB info; struct Node *next;};struct List{ Node *head, *tail;};Đâu là đoạn mã tìm kiếm CanBo theo mã cán bộ trong DSLK đơn
check_box Node *TimCBMa(List Q,int k){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) if(p->info.mcb == k) break;return p;}
Node *TimCBMa(List Q,char k[]){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) if(strcmp(p->info.hoten,k)==0) break; return p;}
Node *TimCBMa(List Q,char k[]){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) if(strcmp(p->info.ns,k)==0) break; return p;}
void TimCBMa(List Q,char k[]){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) if(p->mcb == k) break;}
Cho khai báo CTDL như sau:struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc;};struct Node{ CB info; struct Node *next, *pre;};struct List{ Node *head, *tail;};Đâu là đoạn mã để in ra màn hình thông tin đầy đủ của các Cán Bộ có trong danh sách liên kết lần lượt từ cuối trở về đầu
check_box void InDSCanBo (DList Q){ Node *p;for(p=Q.Tail; p!=NULL; p=p->pre){System.out.print(“%5d”, p->info.mcb);System.out.print(“%15s”, p->info.hoten);System.out.print(“%10s”, p->info.ns);System.out.print(“%7.1f”, p->info.hsl);System.out.print(“%7.0f”, p->info.pc);}}
void InDSCanBo (DList Q){ Node *p= Q.Tail;While( p!=NULL){System.out.print(“%5d”, p->info.mcb);System.out.print(“%15s”, p->info.hoten);System.out.print(“%10s”, p->info.ns);System.out.print(“%7.1f”, p->info.hsl);System.out.print(“%7.0f”, p->info.pc);}}
void InDSCanBo (DList Q){ Node *p= Q.Head;While( p!=NULL){System.out.print(“%5d”, p->info.mcb);System.out.print(“%15s”, p->info.hoten);System.out.print(“%10s”, p->info.ns);System.out.print(“%7.1f”, p->info.hsl);System.out.print(“%7.0f”, p->info.pc);}}
void InDSCanBo (DList Q){ Node *p;for(p=Q.Head; p!=NULL; p=p->next){System.out.print(“%5d”, p->info.mcb);System.out.print(“%15s”, p->info.hoten);System.out.print(“%10s”, p->info.ns);System.out.print(“%7.1f”, p->info.hsl);System.out.print(“%7.0f”, p->info.pc);}}
Cho khai báo CTDL như sau:struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc;};struct Node{ CB info; struct Node *next;};struct List{ Node *head, *tail;};Đâu là đoạn mã để in ra màn hình thông tin đầy đủ của các Cán Bộ có trong danh sách liên kết.
check_box void InDSCanBo (List Q){ Node *p;for(p=Q.Head; p!=NULL; p=p->next){System.out.print(“%5d”, p->info.mcb);System.out.print(“%15s”, p->info.hoten);System.out.print(“%10s”, p->info.ns);System.out.print(“%7.1f”, p->info.hsl);System.out.print(“%7.0f”, p->info.pc);}}
void InDSCanBo (List Q){ float s;for(p=Q.Head; p!=NULL; p=p->next) s = s + p->info.hsl; }
void InDSCanBo (List Q){ Node *p;for(p=Q.Head; p!=NULL; p=p->next)if(p->info.hsl > 4){System.out.print(“%5d”, p->info.mcb);System.out.print(“%15s”, p->info.hoten);System.out.print(“%10s”, p->info.ns);System.out.print(“%7.1f”, p->info.hsl);System.out.print(“%7.0f”, p->info.pc);}}
void InDSCanBo (List Q){ Node *p;for(p=Q.Head; p!=NULL; p=p->next)System.out.print(“%15s”, p->info.hoten);}
Cho khai báo CTDL như sau:struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc;};struct Node{ CB info; struct Node *next;};struct List{ Node *head, *tail;};Đâu là đoạn mã để sắp xếp danh sách Cán bộ theo thứ tự giảm dần của hệ số lương (hsl);
check_box void SXCBThanhTien(List &Q){ Node *p,*q; CB tg; for(p=Q.Head; p!=NULL; p=p->next) for(q=p->next; q!=NULL; q=q->next) if(p->info.hsl < q->info.hsl) { tg = p->info; p->info = q->info; q->info = tg; }}
void SXCBThanhTien(List &Q){ Node *p,*q; CB tg; for(p=Q.Head; p!=NULL; p=p->next) for(q=p->next; q!=NULL; q=q->next) if(p->info.hsl > q->info.hsl) { tg = p->info; p->info = q->info; q->info = tg; }}
void SXCBThanhTien(List &Q){ Node *p,*q; CB tg; for(p=Q.Head; p!=NULL; p=p->next) for(q=p->next; q!=NULL; q=q->next) if(p->info.pc < q->info.pc) { tg = p->info; p->info = q->info; q->info = tg; }}
void SXCBThanhTien(List &Q){ Node *p=Q.Head,*q; CB tg; while(p!=NULL) { q=p->next; while(q!=NULL) if(p->info.pc > q->info.pc) { tg = p->info; p->info = q->info; q->info = tg; } }}
Cho khai báo CTDL như sau:struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc;};struct Node{ CB info; struct Node *next;};struct List{ Node *head, *tail;};Đâu là đoạn mã để sắp xếp danh sách Cán bộ theo thứ tự tăng dần của hệ số lương (hsl);
check_box void SXCBThanhTien(List &Q){ Node *p,*q; CB tg; for(p=Q.Head; p!=NULL; p=p->next) for(q=p->next; q!=NULL; q=q->next) if(p->info.hsl > q->info.hsl) { tg = p->info; p->info = q->info; q->info = tg; }}
void SXCBThanhTien(List &Q){ Node *p,*q; CB tg; for(p=Q.Head; p!=NULL; p=p->next) for(q=p->next; q!=NULL; q=q->next) if(p->info.hsl < q->info.hsl) { tg = p->info; p->info = q->info; q->info = tg; }}
void SXCBThanhTien(List &Q){ Node *p,*q; CB tg; for(p=Q.Head; p!=NULL; p=p->next) for(q=p->next; q!=NULL; q=q->next) if(p->info.pc < q->info.pc) { tg = p->info; p->info = q->info; q->info = tg; }}
void SXCBThanhTien(List &Q){ Node *p=Q.Head,*q; CB tg; while(p!=NULL) { q=p->next; while(q!=NULL) if(p->info.pc > q->info.pc) { tg = p->info; p->info = q->info; q->info = tg; } }}
Cho khai báo CTDL như sau:struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc;};struct Node{ CB info; struct Node *next;};struct List{ Node *head, *tail;};Đâu là đoạn mã để tính tổng phụ cấp của tất cả các cán bộ và in ra màn hình?
check_box void TinhPC (List Q){ Node *p;float s=0;for(p=Q.Head; p!=NULL; p=p->next) s = s + p->info.pc;printf(“\n Tong phu cap:%f”, s);}
void TinhPC (List Q){ Node *p;float s=0;for(p=Q.Head; p!=NULL; p=p->next) printf(“%10.0f”, p->info.pc)}
void TinhPC (List Q){ Node *p;float s=0;for(p=Q.Head; p!=NULL; p=p->next) s = s + p->info.hsl;printf(“\n Tong phu cap:%f”, s);}
void TinhPC (List Q){ Node *p;float s=0;for(p=Q.Head; p!=NULL; p=p->next) s = s + p->info.pc;}
Cho khai báo Stack như sau:struct Stack{char color[15];int nut[max];};Cho biết kết quả giá trị được in ra màn hình là gì?Push(s, “Red”);Push(s, “Green”);Push(s, “Blue”);printf(“\n%15s”, Pop(s));printf(“\n%15s”, Pop(s));
check_box BlueGreen
GreenBlue
RedBlue
RedGreen
Cho khai báo Stack như sau:struct Stack{int topint nut[max];};Cho biết phần tử đỉnh hiện tại của Stack là bao nhiều?int a[] = {4, 5, 6, 7, 8};int n = 5;Stack s;for(int i = 0; i<n; i++) push(s, a[i]);
check_box 8
4
6
7
Cho khai báo Stack như sau:struct Stack{int topint nut[max];};Cho biết phần tử được lấy ra cuối cùng trong Stack sau là bảo nhiêu?int a[] = {4, 5, 6, 7, 8};int n = 5;Stack s;for(int i = 0; i<n; i++) push(s, a[i]);
check_box 4
5
7
8
Cho khai báo Stack như sau:struct Stack{int topint nut[max];};Đoạn mã thực hiện thao tác gì?int Top(Stack &s){int tg;if ( isEmpty(s) == 1 ){ printf("Ngan xep rong"); exit(1); }else{tg = s.nut[s.top];}return tg;}
check_box Trả lại giá trị của phần tử đỉnh hiện tại của Stack
Bổ sung thêm phần tử mới vào đỉnh của Stack
Duyệt qua lần lượt từng phần tử trong Stack và in thông tin lần lượt ở đỉnh ra
Thực hiện tính tổng các phần tử đang có trong Staclk
Cho khai báo Stack như sau:struct Stack{int topint nut[max];};Đoạn mã thực hiện thao tác gì?void Push( Stack &s, int x){if ( isFull(s) == 1){ printf("Stack day"); exit(1); }else{s.top = s.top + 1;s.nut[ s.top ] = x;}}
check_box Chèn thêm phần tử mới vào đỉnh của Stack
Thự chiện xoá phần tử đang có ở đỉnh của Stack
Thực hiện in lần lượt các phần tử đang có trong Stack
Trả lại giá trị phần tử đỉnh của Stack
Cho mảng a có N (N>=2) phần từ, x là một biến, xét đoạn mã sau cho biết đoạn mã biểu diễn thuật toán gì?Bước 1: Khởi gán i = 0, s = 0, qua bước 2;Bước 2: Nếu a[i] == x thì s++; qua bước 3Bước 3: i = i + 1; Nếu i == n: hết mảng. Dừng, in s ra màn hình Ngược lại: Lặp lại bước 2
Đếm số phần tử có giá trị bằng phần tử đầu tiên trong mảng
Đếm số phần tử có giá trị bằng x trong mảng
Đếm số phần tử trong mảng đầu tiên trong mảng
Tìm kiếm tuyến tính phần tử mang giá trị x trong mảng
Cho mảng a gồm các phẩn tử có giá trị như sau:1356Số lần hoán vị 2 phần tử khác nhau khi áp dụng thuật toán nổi bọt để sắp xếp mảng giảm dần là:
4
5
6
7
Cho mảng a gồm các phẩn tử có giá trị như sau:3126Số lần hoán vị 2 phần tử khác nhau khi áp dụng thuật toán đổi chỗ trực tiếp (Bubble Sort) để sắp xếp mảng giảm dần là:
2
3
4
5
Cho mảng a gồm các phẩn tử có giá trị như sau:3126Số lần hoán vị 2 phần tử khác nhau khi áp dụng thuật toán đổi chỗ trực tiếp (Interchange Sort) để sắp xếp mảng tăng dần là:
2
3
4
5
Cho mảng a gồm các phẩn tử có giá trị như sau:3126Số lần hoán vị 2 phần tử khác nhau khi áp dụng thuật toán nổi bọt để sắp xếp mảng giảm dần là:
2
3
4
5
Cho mảng a gồm các phẩn tử có giá trị như sau:74326Số lần hoán vị 2 phần tử khác nhau khi áp dụng thuật toán chọn trực tiếp để sắp xếp mảng tăng dần là:
2
3
4
5
Cho mảng a gồm các phần tử: 8, 3, 7, 6, 4, 2.Cho biết kết quả ở bước thứ 3 khi áp dụng thuật toán sắp xếp Selection tăng dần trên mảng các phần tử trên.
check_box 2 3 4 6 7 8
2 3 4 6 8 7
2 3 7 6 4 8
2 3 7 6 8 4
Cho mảng a gồm các phần tử: 8, 3, 7, 6, 4,2.Cho biết kết quả ở bước thứ 3 khi áp dụng thuật toán sắp xếp Insertion tăng dần trên mảng các phần tử trên.
check_box 3 6 7 8 4 2
2 3 4 6 7 8
3 4 6 7 8 2
3 8 7 6 4 2
Cho s là Stack chứa các giá trị nguyên, Kết quả của đoạn mã sau là gì?void main(){int n=3553, du, b=8;stack *s;InitStack(s);while(n!=0){du = n%b;Push(s, du);n = n/b;}cout<<“Ket qua la:”;while( !isEmpty(s)){cout<<Pop(s);}}
check_box 6741
0
1476
3553
Cho s là Stack chứa các giá trị nguyên, Kết quả của đoạn mã sau là gì?void main(){int n=53, du, b=2;stack *s;InitStack(s);while(n!=0){du = n%b;Push(s, du);n = n/b;}cout<<“Ket qua la:”;while( !isEmpty(s)){cout<<Pop(s);}}
check_box 110202
00211
102021
11100
Cho thông tin của Hang Hoa gồm: mã hàng, tên hàng, số lượng và đơn giá.Đâu là đoạn mã khai báo Cấu trúc dữ liệu dạng danh sách liên kết đơn để lưu trữ danh sách Hang Hoa
check_box struct HH{ int mHang; char tenHang [20]; float soLuong, donGia;};struct Node{ HH info; struct Node *next;};struct List{ Node *head, *tail;};
struct HH{ int mHang; char tenHang [20]; float soLuong, donGia;};HH ds[10];
struct HH{ int mHang; char tenHang [20]; float soLuong, donGia;};struct List{ HH *head, *tail;};
struct HH{ int mHang; char tenHang [20]; float soLuong, donGia;};struct Node{ HH info; struct Node *next, *pre;};struct List{ Node *head, *tail;};
Cho thông tin của Hang Hoa gồm: mã hàng, tên hàng, số lượng và đơn giá.Đâu là đoạn mã khai báo Cấu trúc dữ liệu dạng danh sách liên kết kép để lưu trữ danh sách Hang Hoa
check_box struct HH{ int mHang; char tenHang [20]; float soLuong, donGia;};struct Node{ HH info; struct Node *next, *pre;};struct List{ Node *head, *tail;};
struct HH{ int mHang; char tenHang [20]; float soLuong, donGia;};HH x;
struct HH{ int mHang; char tenHang [20]; float soLuong, donGia;};struct Node{ HH info; struct Node *next;};struct List{ Node *head, *tail;};
struct HH{ int mHang; char tenHang [20]; float soLuong, donGia;};HH ds[10];
Cho thông tin của SV gồm: MaSV, HoTen, Tuoi, DTBĐâu là đoạn mã để Sắp xếp danh sách SV theo ĐTB giảm dần bằng thuật toán Selection Sort
check_box void SXDSSV( int n, SV ds[]){ int max, i, j; SV tg; for( i=0 ; i<n-1 ; i++ ) { max = i; for( j=i+1 ; j<n ; j++ ) if ( ds[j].DTB > ds[max].DTB ) max = j; if(max!= i ) { tg = ds[max]; ds[max] = ds[i]; ds[i] = tg; } }}
void SXDSSV( int n, SV ds[]){ int min, i, j; SV tg; for( i=0 ; i<n-1 ; i++ ) { min = i; for( j=i+1 ; j<n ; j++ ) if ( ds[j].DTB < ds[min].DTB ) min = j; if( min != i ) { tg = ds[min]; ds[min] = ds[i]; ds[i] = tg; } }}
void SXDSV_InsertionSort( int n, SV ds[]){ int pos,i; SV x; for(i=1;i<n;i++) { x = ds[i]; pos = i-1; while((pos>=0)&&(ds[pos].DTB>x.DTB)) { ds[pos+1] = ds[pos]; pos--; } ds[pos+1] = x; //chèn x vào dãy }}
void SXDSV_InsertionSort( int n, SV ds[]){ int pos,i; SV x; for(i=1;i<n;i++) { x = ds[i]; pos = i-1; while((pos>=0)&&(ds[pos].DTB<x.DTB)) { ds[pos+1] = ds[pos]; pos--; } ds[pos+1] = x; //chèn x vào dãy }}
Cho thông tin của SV gồm: MaSV, HoTen, Tuoi, DTBĐâu là đoạn mã để Sắp xếp danh sách SV theo ĐTB tăng dần bằng thuật toán Selection Sort
check_box void SXDSSV( int n, SV ds[]){ int min, i, j; SV tg; for( i=0 ; i<n-1 ; i++ ) { min = i; for( j=i+1 ; j<n ; j++ ) if ( ds[j].DTB < ds[min].DTB ) min = j; if( min != i ) { tg = ds[min]; ds[min] = ds[i]; ds[i] = tg; } }}
void SXDSSV( int n, SV ds[]){ int min, i, j; SV tg; for( i=0 ; i<n-1 ; i++ ) { min = i; for( j=i+1 ; j<n ; j++ ) if ( ds[j].DTB > ds[min].DTB ) min = j; if( min != i ) { tg = ds[min]; ds[min] = ds[i]; ds[i] = tg; } }}
void SXDSV_InsertionSort( int n, SV ds[]){ int pos,i; SV x; for(i=1;i<n;i++) { x = ds[i]; pos = i-1; while((pos>=0)&&(ds[pos].DTB<x.DTB)) { ds[pos+1] = ds[pos]; pos--; } ds[pos+1] = x; //chèn x vào dãy }}
void SXDSV_InsertionSort( int n, SV ds[]){ int pos,i; SV x; for(i=1;i<n;i++) { x = ds[i]; pos = i-1; while((pos>=0)&&(ds[pos].DTB>x.DTB)) { ds[pos+1] = ds[pos]; pos--; } ds[pos+1] = x; //chèn x vào dãy }}
Cho thông tin của SV gồm: MaSV, HoTen, Tuoi, DTBĐâu là đoạn mã để Sắp xếp danh sách SV theo Tuổi tăng dần bằng thuật toán Selection Sort
check_box void SXDSSV( int n, SV ds[]){ int min, i, j; SV tg; for( i=0 ; i<n-1 ; i++ ) { min = i; for( j=i+1 ; j<n ; j++ ) if ( ds[j].Tuoi < ds[min].Tuoi ) min = j; if( min != i ) { tg = ds[min]; ds[min] = ds[i]; ds[i] = tg; } }}
void SXDSSV( int n, SV ds[]){ int max, i, j; SV tg; for( i=0 ; i<n-1 ; i++ ) { max = i; for( j=i+1 ; j<n ; j++ ) if ( ds[j].Tuoi > ds[max].Tuoi) max = j; if(max!= i ) { tg = ds[max]; ds[max] = ds[i]; ds[i] = tg; } }}
void SXDSV_InsertionSort( int n, SV ds[]){ int pos,i; SV x; for(i=1;i<n;i++) { x = ds[i]; pos = i-1; while((pos>=0)&&(ds[pos].Tuoi>x.Tuoi)) { ds[pos+1] = ds[pos]; pos--; } ds[pos+1] = x; //chèn x vào dãy }}
void SXDSV_InsertionSort( int n, SV ds[]){ int pos,i; SV x; for(i=1;i<n;i++) { x = ds[i]; pos = i-1; while((pos>=0)&&(ds[pos].Tuoi<x.Tuoi)) { ds[pos+1] = ds[pos]; pos--; } ds[pos+1] = x; //chèn x vào dãy }}
Cho thuật toán sắp xếp Bubble Sort như sau:void BubbleSort( int M[], int N){ for( int i = 0; i< N-1; i++) for( int j = N-1; j>I; j--) if( M[j] <M[j-1]) Swap( M[j], M[j-1]); return ;}Chọn câu đúng nhất cho hàm Swap:
void Swap( floatX, float Y){int Temp = X;X=Y;Y = Temp;return ;}
void Swap( int &X, int &Y){int Temp = X;X=Y;Y = Temp;return ;}
void Swap( int *X, int *Y){int Temp = X;X=Y;Y = Temp;return ;}
void Swap( int X, int Y){int Temp = X;X=Y;Y = Temp;return ;}
Cho thuật toán sau:int LinearSearch( float M[], int N, float X){int k = 0;M[N] = X;while (M[k] !=X)//n+1k++;if (k<N) return k;return -1;}Chọn câu đúng nhất trong trường hợp xấu nhất khi không tìm thấy phần tử nào có giá trị bằng X:
Số phép gán: Gmax = 1 Số phép so sánh: Smax = N + 2
Số phép gán: Gmax = 2 Số phép so sánh: Smax = N + 2
Số phép gán: Gmax = 2 Số phép so sánh: Smax = N + 1
Số phép gán: Gmax = 2 Số phép so sánh: Smax = 2N + 2
Cho thuật toán sau:int LinenearSearch( int M[], int N, int X){int k = 0;while (M[k] !=X && k<N)k++;if (k<N) return k;return -1;}Chọn câu đúng nhất trong trường hợp xấu nhất khi không tìm thấy phần tử nào có giá trị bằng X:
Số phép gán: Gmax = 1 Số phép so sánh: Smax = 2N + 1
Số phép gán: Gmax = 1 Số phép so sánh: Smax = 2N + 2
Số phép gán: Gmax = 1 Số phép so sánh: Smax = N + 2
Số phép gán: Gmax = 2 Số phép so sánh: Smax = 2N + 1
Cho thuật toán tìm nhị phân không đệ quy sau:int NrecBinarySearch( int M[], int N, int X){ int First = 0; 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;}Chọn câu đúng nhất trong trường hợp tốt nhất khi phần tử ở giữa của mảng có giá trị bằng X:
Số phép gán: Gmin = 0 Số phép so sánh: Smin = 2
Số phép gán: Gmin = 2 Số phép so sánh: Smin = 2
Số phép gán: Gmin = 2 Số phép so sán: Smin = 3
Số phép gán: Gmin = 3 Số phép so sánh: Smin = 2
Danh sách được cài đặt bằng cách nào:
Cả hai đáp án đều đúng
Cả hai đáp án đều sai
Cài đặt bằng danh sách liên kết
Cài đặt bằng mảng
Danh sách liên kết là gì?
Cả hai phát biểu đều đúng
Cả hai phát biểu đều sai
là tập hợp các phần tử liên kết móc nối liên tiếp với nhau, có kiểu truy cập ngẫu nhiên. Mỗi phần tử là một nút.
là tập hợp các phần tử liên kết móc nối liên tiếp với nhau, có kiểu truy cập tuần tự. Mỗi phần tử là một nút.
Đâu là công thức tổng quát để tính giai thừa dựa vào giải thuật đệ quy
check_box Giaithua = n* Giaithua(n-1)
Giaithua = (n-1)* Giaithua
Giaithua = n* Giaithua(n+1)
Giaithua = n* Giaithua
Đâu là công thức tổng quát để tính giai thừa dựa vào giải thuật đệ quy
Giaithua = (n-1)* Giaithua
Giaithua = n* Giaithua(n+1)
Giaithua = n* Giaithua(n-1)
Giaithua = n* Giaithua
Đâu là định nghĩa của Hàng đợi
Cả hai đáp án đều đúng
Cả hai đáp án đều sai
dạng danh sách đặc biệt trong đó các phép toán thêm vào một phần tử mới hoặc loại bỏ một phần tử trong danh sách chỉ được phép thực hiện ở một đầu của danh sách
một kiểu danh sách trong đó được trang bị hai phép toán bổ sung một phần tử vào cuối danh sách và loại bỏ một phần tử ở đầu danh sách
Đâu là định nghĩa của Ngăn xếp
Cả hai đáp án đều đúng
Cả hai đáp án đều sai
Dạng danh sách đặc biệt trong đó các phép toán thêm vào một phần tử mới hoặc loại bỏ một phần tử trong danh sách chỉ được phép thực hiện ở một đầu của danh sách
Một kiểu danh sách trong đó được trang bị hai phép toán bổ sung một phần tử vào cuối danh sách và loại bỏ một phần tử ở đầu danh sách
Đây là định nghĩa của độ phức nào? “được tính là tổng số chi phí về mặt tổng thời gian cần thiết để hoàn thành thuật toán, được đánh giá dựa vào số lượng các thao tác được sử dụng trong thuật toán dựa trên bộ dữ liệu đầu vào”
Cả hai lựa chọn đều đúng
Cả hai lựa chọn đều sai
Không gian
Thời gian
Đây là định nghĩa của độ phức nào? “Được tính là tổng số chi phí về mặt không gian (bộ nhớ) cần thiết sử dụng cho thuật toán”
Cả hai lựa chọn đều đúng
Cả hai lựa chọn đều sai
Không gian
Thời gian
Để sắp xếp các phần tử của danh sách liên kết có mấy phương án sử dụng:
2 phương án
3 phương án
4 phương án
5 phương án
Để sắp xếp các phần tử của danh sách liên kết đôi sử dụng phương án nào?
check_box Hoán vị nội dung của phần tử
Cả hai phương án trên đều đúng
Cả hai phương án trên đều sai
Thay đổi mối liên kết của phần tử
Để sắp xếp các phần tử của danh sách liên kết đơn sử dụng phương án nào?
Cả hai phương án trên đều đúng
Hoán vị nội dung của phần tử
Tất cả các đáp án đều sai
Thay đổi mối liên kết của phần tử
Để sử dụng hàm cấp phát bộ nhớ malloc(), calloc(), new(). Ta phải sử dụng thư viện nào?
conio.h
stdio.h
stdlib.h
string.h
Để tiến hành tìm kiếm một phần tử trong danh sách liên kết đôi sử dụng phương pháp tìm kiếm gì?
Cả ba phát biểu đều đúng
Tìm kiếm nhị phân
Tìm kiếm tuyến tính
Tìm kiếm tuyến tính và tìm kiếm nhị phân
Để tiến hành tìm kiếm một phần tử trong danh sách liên kết đơn sử dụng phương pháp tìm kiếm gì?
Tất cả các đáp án đều đúng
Tìm kiếm nhị phân
Tìm kiếm tuyến tính
Tìm kiếm tuyến tính và tìm kiếm nhị phân
Để tính biểu thức s = ½ + ¼ + … + 1/(2n) với n>=1 ta chọn hàm
float F( int n ){if (n ==1 )return 1.0/2;elsereturn 1.0/(2*n) + F(n-1);}
float F( int n ){if (n ==1 )return 1.0/2;elsereturn 1.0/(2*n) + F1(n-1);}
float F( int n ){if (n ==1 )return 1.0/2;elsereturn 1.0/2*n + F(n-1);}
float F( int n ){if (n ==1 )return 1.0/2;elsereturn 1.0/n + F(n-1);}
Để tính biểu thức s = ½ + 2/3 + ¾ + … + n/(n+1) ta chọn hàm
check_box float F(int n){if (n==1)return 1.0/2;elsereturn (float)n/(n+1) + F(n-1);}
float F(int n){if (n==1)return 1.0/2;elsereturn (float)(n+1)/(n+1) + F(n-1);}
float F(int n){if (n==1)return 1.0/2;elsereturn (float)n/ ( n) + F(n-1);}
float F(int n){if (n==1)return 1.0/2;elsereturn (float)n/(n+1) + F ( n);}
Để tính biểu thức s = ½ + 2/3 + ¾ + … + n/(n+1) ta chọn hàm
float F(int n){if (n==1)return 1.0/2;elsereturn (float)(n+1)/(n+1) + F(n-1);}
float F(int n){if (n==1)return 1.0/2;elsereturn (float)n/ + F(n-1);}
float F(int n){if (n==1)return 1.0/2;elsereturn (float)n/(n+1) + F(n-1);}
float F(int n){if (n==1)return 1.0/2;elsereturn (float)n/(n+1) + F;}
Để tính biểu thức s = xn với n>=0 ta chọn hàm
long F(int x, int n){if (n==0)return 1;elsereturn x*F(x,n);}
long F(int x, int n){if (n==0)return 1;elsereturn x*F(x,n-1);}
long F(int x, int n){if (n==0)return 1;elsereturn x*x*F(x,n-1);}
long F(int x, int n){if (n==1)return 1;elsereturn x*F(x,n-1);}
Để xác định giải thuật đệ quy cần xác định gì?
Cả hai lựa chọn đều đúng
Cả hai lựa chọn đều sai
Công thức tổng quát
Phần tử neo
Định nghĩa cấu trúc dữ liệu của danh sách liên kết đôi được mô tả như sau:struct Node{ int Key; struct Node *next; struct Node *pre;};Trong đó, khai báo Node *next dùng để mô tả
check_box Vùng liên kết quản lý địa chỉ phần tử kế tiếp
Con trỏ trở tới phần dữ liệu
Con trỏ trở tới phần dữ liệu cuối của danh sách
Vùng liên kết quản lý địa chỉ phần tử kế tiếp của phần tử cuối
Định nghĩa cấu trúc dữ liệu của danh sách liên kết đơn được mô tả như sau:struct Node{int Key;Node *next;}OneNode;Trong đó, khai báo Node *next; dùng để mô tả
Con trỏ trỏ tới phần dữ liệu
Con trỏ trỏ tới phần dữ liệu cuối của danh sách
Vùng liên kết quản lý địa chỉ phần tử kế tiếp
Vùng liên kết quản lý địa chỉ phần tử kế tiếp của phần tử cuối
Định nghĩa nào đúng với danh sách liên kết
Danh sách liên kết là cấu trúc dữ liệu dạng cây
Danh sách liên kết là cấu trúc dữ liệu tự định nghĩa
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ớ
Danh sách liên kết là tập hợp các phần tử mà giữa chúng có sự kết nối với nhau dựa vào liên kết của chúng
Độ phức tạp thuật toán được đánh giá có loại nào?
Cả hai loại được liệt kê
Độ phức tạp không gian
Độ phức tạp thời gian
Không phải các loại liệt kê
Đồ thị vô hướng G = <V,E> gồm n đỉnh và mỗi đỉnh có số bậc là 6 thì có bao nhiêu cạnh
2n cạnh
3n cạnh
6n cạnh
N cạnh
Đoạn mã cài đặt chèn thêm một phần tử mới vào đầu của danh sách liên kết đơn:void insertFirst ( LIST &Q, Node *new_element ){ if ( Q.Head == NULL ) //nếu danh sách rỗng {[1] ……..[2] …….. } else//danh sách không rỗng {new_element -> next = Q.Head;Q.Head = new_element; }}Đoạn mã còn thiếu để đặt vào dòn số [1] và [2].
Q.Head = new_element;Q.Tail = Q.Head;
Q.Head = Q.Head;Q.Tail = new_element;
Q.Tail = NULL;Q.Head = NULL;
Q.Tail = Q.Head;Q.Head = new_element;
Đoạn mã cài đặt chèn thêm một phần tử mới vào đầu của danh sách liên kết đơn:void insertFirst ( LIST &Q, Node *new_element ){if ( Q.Head == NULL ) //nếu danh sách rỗng {Q.Head = new_element;Q.Tail = Q.Head;}else//danh sách không rỗng {[1] ……………[2] ……………}}Đoạn mã còn thiếu để đặt vào dòn số [1] và [2].
new_element -> next = NULL;Q.Head -> next = new_element;
new_element -> next = Q.Head;Q.Head -> next = new_element;
new_element -> next = Q.Head;Q.Head = new_element;
Q.Head = new_element;new_element -> next = Q.Head;
Đoạn mã cài đặt hàm tìm kiếm nhị phân phần tử x trên dãy sắp xếp tăng dần:int BinarySearch( int a[ ], int n, int x ){int left = ……….., right = ……………;int middle;do{middle = (left+right)/2;if (x == a[middle]) break;else if (x<a[middle]) right = middle - 1;else left = middle + 1;} while ( left <= right );if ( left <= right ) return middle;else return -1;//ko tìm thấy phần tử x }Giá trị được điền vào dấu ………... để đoạn mã cài đặt thực hiện đúng:
0 và n-1
1 và n
n và 1
n-1 và 0
Đoạn mã cài đặt hủy bỏ một phần tử đứng sau một phần tử q trong danh sách liên kết đơn:void RemoveAfter ( LIST &Q , Node *q ){Node *p;if (q != NULL){p = q -> next;if (p != NULL){if (p == Q.Tail) { q->next = NULL; Q.Tail = q;}[1] ………………….free(p);}}else RemoveHead(Q);}Dòng lệnh cần thiết được đặt vào chỗ trống tại dòng số [1]:
p -> next = q -> next;
p = q;
q -> next = p -> next;
q = p;
Đoạn mã cài đặt hủy phần tử đầu của danh sách liên kết đơn:void RemoveHead ( LIST &Q ){Node *p;if (Q.Head != NULL){p = Q.Head;[1] …………………..free(p);if ( Q.Head == NULL ) Q.Tail = NULL;}}Dòng lệnh cần thiết được đặt vào chỗ trống tại dòng số [1]:
Q.Head -> next = NULL;
Q.Head -> next = Q.Head;
Q.Head = NULL;
Q.Head = Q.Head -> next;
Đoạn mã để tạo ra nút mới có thành phần là x trong danh sách liên kết đôi với mỗi nút gồm các thành phần (infor, next, pre) sau:Node* get_node( Data x ){Node *p;……………………..if ( p == NULL ){ printf(“Ko du bo nho”); exit(1);}p -> infor = x;p -> next = NULL;p -> pre = NULL; return p;}Điền phần còn thiếu vào chỗ …………..
check_box p = (Node*)malloc(sizeof(Node));
p = (Node*)malloc(Node));
p = malloc(Node);
p = malloc(sizeof(Node));
Đoạn mã để tạo ra nút mới có thành phần là x trong danh sách liên kết đôi với mỗi nút gồm các thành phần (infor, next, pre) sau:Node* get_node( Data x ){Node *p;p = (Node*)malloc(sizeof(Node));if ( p == NULL ){ printf(“Ko du bo nho”); exit(1);}p -> …….. = x;p -> next = NULL;p -> pre = NULL;return p;}Điền phần còn thiếu vào chỗ …………..
data
infor
link
next
Đoạn mã để tạo ra nút mới có thành phần là x trong danh sách liên kết đôi với mỗi nút gồm các thành phần (infor, next, pre) sau:Node* get_node( Data x ){Node *p;p = (Node*)malloc(sizeof(Node));if ( p == NULL ){ printf(“Ko du bo nho”); exit(1);}p ->infor = x;p -> …. = NULL;p -> pre = NULL;return p;}Điền phần còn thiếu vào chỗ ………….
# link
data
infor#
next
Đoạn mã để tạo ra nút mới có thành phần là x trong danh sách liên kết đơn với mỗi nút gồm hai thành phần (infor, next) sau:Node* get_node( Data x ){Node *p;p = (Node*)malloc(sizeof(Node));if ( p == NULL ){ printf(“Ko du bo nho”); exit(1);}p -> infor = ……;p -> next = NULL;return p;}Điền phần còn thiếu vào chỗ …………..
0
Data
NULL
x
Đoạn mã để tạo ra nút mới có thành phần là x trong danh sách liên kết đơn với mỗi nút gồm hai thành phần (infor, next) sau:Node* get_node( Data x ){Node *p;p = (Node*)malloc(sizeof(Node));if ( p == NULL ){ printf(“Ko du bo nho”); exit(1);}p -> infor = x;p -> ….. = NULL;return p;}Điền phần còn thiếu vào chỗ …………..
data
infor
link
next
Đoạn mã dưới đây mô tả thuật toán gì: B1: k = 1 B2: if M[k] == X and k !=n B2.1: k++ B2.2: Lặp lại bước 2 B3: if (k<N) thông báo tìm thấy tại vị trí thứ k B4: else thông báo không tìm thấy B5: Kết thúc
Tất cả các lựa chọn trên đều sai
Tìm kiếm nhị phân phần tử có giá trị X
Tìm kiếm tuyến tính phần tử X trong mảng
Tìm phần tử nhỏ nhất của mảng M gồm N phần tử
Đoạn mã khởi tạo danh sách rỗng sau:void init( DList &Q ){Q.Head = ......;Q.Tail = NULL;} Phần còn thiếu điền vào dấu ……. là gì
check_box NULL
Các đáp án đều sai
NILL
O
Đoạn mã khởi tạo danh sách rỗng sau:void init( List &Q ){Q.Head = ......;Q.Tail = NULL;} Phần còn thiếu điền vào dấu ……. là gì
Không phải các đáp án trên
NILL
NULL
O
Đoạn mã sau đây làm nhiệm vụ gì?void SXDSSV( int n, SV ds[]){ int min, i, j; SV tg; for( i=0 ; i<n-1 ; i++ ) { min = i; for( j=i+1 ; j<n ; j++ ) if ( ds[j].Tuoi < ds[min].Tuoi ) min = j; if( min != i ) { tg = ds[min]; ds[min] = ds[i]; ds[i] = tg; } }}
check_box Thực hiện sắp xếp danh sách SV theo Tuoi tăng dần bằng thuật toán Selection
Thực hiện sắp xếp danh sách SV theo Tuoi giảm dần bằng thuật toán Insertion
Thực hiện sắp xếp danh sách SV theo Tuoi giảm dần bằng thuật toán Selection
Thực hiện sắp xếp danh sách SV theo Tuoi tăng dần bằng thuật toán Insertion
Đoạn mã sau đây sử dụng thuật toán Sắp xếp gì?void SXDSSV( int n, SV ds[]){ int min, i, j; SV tg; for( i=0 ; i<n-1 ; i++ ) { min = i; for( j=i+1 ; j<n ; j++ ) if ( ds[j].DTB < ds[min].DTB ) min = j; if( min != i ) { tg = ds[min]; ds[min] = ds[i]; ds[i] = tg; } }}
check_box Selection Sort
Insertion Sort
Interchange Sort
Quick Sort
Đoạn mã sau đây sử dụng thuật toán Sắp xếp gì?void SXDSV_InsertionSort( int n, SV ds[]){ int pos,i; SV x; for(i=1;i<n;i++) { x = ds[i]; pos = i-1; while((pos>=0)&&(ds[pos].DTB>x.DTB)) { ds[pos+1] = ds[pos]; pos--; } ds[pos+1] = x; //chèn x vào dãy }}
check_box Insertion Sort
Interchange Sort
Quick Sort
Selection Sort
Đoạn mã sau đây thực hiện nhiệm vụ gìvoid SXDSV_InsertionSort( int n, SV ds[]){ int pos,i; SV x; for(i=1;i<n;i++) { x = ds[i]; pos = i-1; while((pos>=0)&&(ds[pos].Tuoi>x.Tuoi)) { ds[pos+1] = ds[pos]; pos--; } ds[pos+1] = x; //chèn x vào dãy }}
check_box Thực hiện sắp xếp danh sách SV theo Tuoi tăng dần bằng thuật toán Insertion
Thực hiện sắp xếp danh sách SV theo Tuoi giảm dần bằng thuật toán Insertion
Thực hiện sắp xếp danh sách SV theo Tuoi giảm dần bằng thuật toán Selection
Thực hiện sắp xếp danh sách SV theo Tuoi tăng dần bằng thuật toán Selection
Đoạn mã sau đây thực hiện yêu cầu xử lý gì?int TK_SV_Ten_Tuyentinh(int n, SV ds[], char ht[]){ for(int i = 0; i<n; i++) if ( strcmp(ds[i].HoTen, ht)==0) break; if (i<n) return 1; else return -1;}
check_box Thực hiện tìm kiếm trong danh sách (ds) có SV có tên là ht hay không? Nếu có thì trả lại giá trị là 1, ngược lại không có trả lại giá trị là -1, thuật toán sử dụng là thuật toán tìm kiếm tuyến tính
Thực hiện tìm kiếm trong danh sách ds có SV có mã là ht hay không? Nếu có trả lại giá trị vị trí của phần tử tìm thấy nếu không có trả lại giá -1
Thực hiện tìm kiếm trong danh sách ds có SV có mã là ht hay không? Nếu có trả lại giá trị 1 nếu không có trả lại giá -1
Thực hiện tìm kiếm trong danh sách ds có SV có mã là ht hay không? Nếu có trả lại giá trị 1 nếu không có trả lại giá -1, thuật toán sử dụng là thuật toán tìm kiếm nhị phân
Đoạn mô tả này thuộc thuật toán nào:Bước 1: i = 0Bước 2: tính các giá trị j = i + 1Bước 3: Trong khi j<n thực hiện- nếu a[j] < a[i] thì hoán đổi a[i] với a[j]- j = j + 1;Bước 4: i = i +1nếu i<n-1 thì lặp lại bước 2, ngược lại thì dừng
Sắp xếp chèn trực tiếp.
Sắp xếp đổi chỗ trực tiếp
Tìm kiếm nhị phân
Tìm kiếm tuyến tính
Đối với thuật toán sắp xếp chọn trực tiếp cho dãy phần tử sau (10 phần tử):16 60 2 25 15 45 5 30 33 20Cần thực hiện bao nhiêu lựa chọn phần tử nhỏ nhất để sắp xếp mảng M có thứ tự tăng dần
10 lần
7 lần
8 lần
9 lần
Giả sử cần sắp xếp mảng M có N phần tử sau theo phưuơng pháp sắp xếp chèn trực tiếp: 11 16 12 75 51 54 5 73 36 52 98Cần thực hiện bao nhiêu lần chèn các phần tử vào dãy con đã có thứ tự tăng dần đứng đầu dãy M để sắp xếp mảng tăng dần:
10 lần
7 lần
8 lần
9 lần
Giả sử T = <V,E> là đồ thị n đỉnh. Khẳng định nào không tương đương với các khẳng định còn lại
T có đúng một chu trình n-1 cạnh
T liên thông không có chu trình
T liên thông và có đúng n-1 cạnh
T liên thông và mỗi cạnh của nó đều là cầu
Hàm mô tả sắp xếp nổi bọt (Bubble Sort) trên mảng M có N phần tử:1. void BubbleSort(int M[ ], int N)2. {3.int i,j,tg;4.for( i = 0 ; i < N-1 ; i++ )5.........................................6.if ( M[j] < M[j-1] )7.{8.tg = M[j];9.M[ j] = M[j-1];10.M[ j-1] = tg;11.}12.}Lệnh nào sau đây sẽ được đưa vào dòng số [5] của đoạn mã trên
for( j = N; j< i; j--)
for( j = N-1; j>i; j--)
for( j = N-1; j>i; j++)
Không có dòng lệnh nào phù hợp, không cần thêm thuật toán vẫn chạy đúng
Hàng đợi còn được gọi là danh sách
Cả hai đáp án đều đúng
Cả hai đáp án đều sai
FIFO
LIFO
Hãy cho biết đồ thị nào đưới đây là một cây
Phương án A
Phương án B
Phương án C
Phương án D
Kết quả của đoạn mã sau là gì?void main(){char st[20]= “ABC”;int i;stack *s;InitStack(s);for (int i=0; i<strlen(st); i++)Push( s, st[i]);printf(“\n Ket qua:”);while (!isEmpty(s)) printf(“%c”, Pop(s));}
check_box CBA
ABC
ACB
CAB
Lựa chọn câu đúng nhất về danh sách liên kết đôi.
check_box Vùng liên kết của một phần tử trong danh sách đôi có 02 mối liên kết với 01 phần tử trong danh sách
Vùng liên kết của một phần tử trong danh sách liên đôi có 01 mối liên kết với 02 phần tử khác trong danh sách
Vùng liên kết của một phần tử trong danh sách liên đôi có 02 mối liên kết với phần tử đầu và cuối danh sách
Vùng liên kết của một phần tử trong danh sách liên kết đôi có 02 mối liên kết với phần tử trước và sau nó trong danh sách
Lựa chọn phương án trả lời đúng nhất cho biết hình ảnh sau là gì?
check_box Cây nhị phân tìm kiếm
Cây 2-3-4
Cây nhị phân
Cây tổng quát
Ma trận kề của đồ thị có hướng G = <V,E>
Là ma trận đối xứng
Là ma trận đơn vị
Là ma trận đường chéo trên
Là ma trận không đối xứng
Ma trận kề của đồ thị vô hướng G =<V, E> có tính chất
check_box Là ma trận đối xứng
Là ma trận đơn vị
Là ma trận đường chéo trên
Là ma trận không đối xứng
Ma trận kề nào dưới đây biểu diễn đúng của đồ thị trong số đã cho trong hình vẽ



Mỗi nút trong danh sách đơn gồm có mấy phần:
2 phần
3 phần
4 phần
5 phần
Một chương trình cài đặt trên máy tính được xác định bởi thành phần nào
Cả hai thành phần
Cấu trúc dữ liệu
Không phải là các thành phần
Thuật toán
Ngăn xếp còn được gọi là danh sách
Cả hai đáp án đều đúng
Cả hai đáp án đều sai
FIFO
LIFO
Phần tử thế mạng có thể được dùng khi xóa nút trong trường hợp nút có hai nhánh con là gì?
Cả hai phát biểu đều đúng
Cả hai phát biểu đều sai
là phần tử lớn nhất trong số các phần tử bên nhánh trái
là phần tử nhỏ nhất trong số các phần tử bên nhánh phải
Phương pháp duyệt NLR là phương pháp duyệt gì?
Cả 3 lựa chọn đều đúng
Left - Node - Righ
Left - Right - Node
Node - Left - Right
Ta gọi đỉnh v là đỉnh cô lập trong đồ thị vô hướng G = <V, E>
check_box Nếu bậc của đỉnh v là 0
Nếu bậc của đỉnh v là 1
Nếu bậc của đỉnh v là một số chẵn
Nếu bậc của đỉnh v là một số lẻ
Ta gọi đỉnh v là đỉnh treo trong đồ thị vô hướng G = <V, E>
check_box Nếu bậc của đỉnh v là 1
Nếu bậc của đỉnh v là 0
Nếu bậc của đỉnh v là một số chẵn
Nếu bậc của đỉnh v là một số lẻ
Thao tác thêm một phần tử vào cây khi so sánh giá trị của phần tử cần thêm vào so với nút đang xét nếu phần tử cần thêm vào lớn hơn thì được thêm vào vị trí nào?
check_box Phần tử mới được bổ sung vào nhánh trái của nút đang xét
Cả hai phát biểu trên đều đúng
Cả hai phát biểu trên đều sai
Phần tử mới được bổ sung vào nhánh phải của nút đang xét
Thủ tục mô tả thuật toán sắp xếp chọn trực tiếp:void SapXepChonTrucTiep( T M[], int N){int K = 0, posmin;int Temp;................................................{ T Min = M[K]; Posmin = K; for( int pos = K+1; pos<N; pos++) if( Min > M[pos]) { Min = M[pos]; Posmin = pos; } Temp = M[k]; M[k] = m[posmin]; M[posmin] = Temp; }return;}Đoạn mã cần thiết để đặt vào dòng .....................để chương trình sắp xếp đúng
for ( k =0; k<n-1; k--)
for ( k =0; k<n-1; k++)
for ( k =n; k>0; k--)
for ( k =n-1; k>0; k--)
Thuật toán được biểu diễn bằng cách nào
Giả mã
Liệt kê từng bước
Sơ đồ khối
Tất cả các cách được liệt kê
Tổ chức của danh sách liên kết kép gồm có mấy thành phần:
2 thành phần
3 thành phần
4 thành phần
5 thành phần
Tổng các phần tử hàng i, cột j của ma trận kề đồ thị có hướng G =<V,E> đúng bằng:
Bán đỉnh bậc ra của đỉnh i, bán đỉnh bậc ra đỉnh j.
Bán đỉnh bậc ra của đỉnh i, bán đỉnh bậc vào đỉnh j.
Bán đỉnh bậc vào của đỉnh i, bán đỉnh bậc ra đỉnh j
Bán đỉnh bậc vào của đỉnh i, bán đỉnh bậc vào đỉnh j.
Tổng các phần tử hàng i, cột j của ma trận kề đồ thị vô hướng G = <V,E> đúng bằng
check_box Bậc của đỉnh i, đỉnh j
Cả ba phương án đều sai
Hai lần số bậc của đỉnh i, đỉnh j
Một nửa số bậc của đỉnh i, đỉnh j
Tổng các phần tử trên hàng trong ma trận kề của đồ thị có hướng G = <V,E> đúng bằng
check_box Cả ba phương án đều sai
Hai lần số cung của đồ thị
Một nửa số cung của đồ thị
Số cung của đồ thị
Tổng các phần tử trên một hàng hoặc của một cột trong ma trận kề của đồ thị vô hướng G = <V,E> đúng bằng
Hai lần số cạnh của đồ thị
Một nửa số cạnh của đồ thị
Số cạnh liên thuộc với đỉnh của cột hoặc hàng đó
Tổng bán đỉnh bậc ra của tất cả các đỉnh
Trong đồ thị vô hướng, số đỉnh bậc lẻ là một số
Chia hết cho 2
Chia hết cho 3
Chính phương
Số lẻ
Trong giải thuật đệ quy thì lời giải trực tiếp mà không phải nhờ đến một bài toán con nào đó là thành phần nào?
Cả hai lựa chọn đều đúng
Cả hai lựa chọn đều sai
Công thức tổng quát
Phần tử neo
Trong một nút của danh sách liên kết đơn, thành phần infor là thành phần gì?
Cả hai phát biểu trên đều đúng
Cả hai phát biểu trên đều sai
Để lưu trữ địa chỉ của nút kế tiếp hoặc giá trị NULL nếu không liên kết đến phần tử nào
Để lưu trữ hay mô tả thông tin được lưu trữ trong nút của danh sách
Ứng dụng cơ bản của ngăn xếp gồm
Chuyển đổi cơ số
Đảo ngược xâu ký tự
Tất cả các phương án đều đúng
Tính giá trị biểu thức
void RemoveHead ( LIST &Q ){Node *p;if (Q.Head != NULL){p = Q.Head;…[1] …free(p);if ( Q.Head == NULL ) Q.Tail = NULL;}}Dòng lệnh cần thiết được đặt vào chỗ trống tại dòng số [1]:
Q.Head -> next = NULL;
Q.Head -> next = Q.Head;
Q.Head = NULL;
Q.Head = Q.Head -> next;

Nếu bạn thấy tài liệu này có ích và muốn tặng chúng tớ 1 ly café
Hãy mở Momo hoặc ViettelPay và quét QRCode. Đây là sự động viên khích lệ rất lớn với chúng tớ và là nguồn lực không nhỏ để duy trì website

Momo
ViettelPay

Không tìm thấy đáp án? Cần hỗ trợ hoàn thành môn học EHOU? Cần tư vấn về học trực tuyến hay bạn chỉ muốn góp ý?
zalo.me/Thế Phong, SĐT 08 3533 8593

Cần hỗ trợ nhanh?
Truy cập Zalo hỗ trợ học tập tại ĐÂY.  Hoặc quét QRCode Zalo

Zalo hỗ trợ học tập

Cần hỗ trợ nhanh?
Truy cập Zalo hỗ trợ học tập tại ĐÂY.  Hoặc quét QRCode Zalo

Zalo hỗ trợ học tập