Cho biết các nút có bậc bằng 2 trong hình ảnh sau:

A. 30, 35, 50, 40
B. 28, 32, 38, 47, 55
C. 28, 30, 32, 35, 38
D. 45, 47, 50, 55
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

A. T={(1, 2), (1, 4), (1, 3), (2, 6), (4, 5), (6,7 )}
B. T={(1, 2), (1, 4), (2, 3), (2, 6), (6, 3), (6, 7)}
C. T = { (1, 4), (4, 3), (1, 2), (4, 5), (2, 6), (6,7) }
D. 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ì?
Hãy cho biết đồ thị nào đưới đây là một cây

A. Phương án B
B. Phương án A
C. Phương án C
D. Phương án D
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

A. T={(1, 2), (1, 4), (2, 4), (2, 6), (4, 5), (6, 7)}
B. T={(1, 2), (1, 4), (2, 3), (4, 5), (2, 6), (6, 7)}
C. T={ (2, 3), (1, 3), (4, 5), (4, 6), (3, 5) }
D. T={(1, 2), (1, 4), (2, 3), (2, 6), (6, 3), (6, 7)}
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ị

Ma trận kề nào dưới đây biểu diễn đúng của đồ thị trong số đã cho trong hình vẽ

Cho biết kết quả khi duyệt cây sau bằng phương pháp duyệt LRN (Left-Right-Node)?

A. 28, 30, 32, 35, 38, 40, 45, 47, 50, 55
B. 28, 32, 30, 38, 35, 47, 45, 55, 50, 40
C. 40, 35, 30, 28, 32, 38, 50, 45, 47, 55
D. 55, 50, 45, 47, 40, 38, 35, 32, 30, 28
Cho đồ thị vô hướng như hình vẽ. Đỉnh nào dưới đây là đỉnh cô lập của đồ thị

A. Đỉnh d
B. Đỉnh a
C. Đỉnh b
D. Đỉnh f
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 3
Bướ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
A. Đếm số phần tử có giá trị bằng x trong mảng
B. Đếm số phần tử trong mảng đầu tiên trong mảng
C. Đếm số phần tử có giá trị bằng phần tử đầu tiên trong mảng
D. Tìm kiếm tuyến tính phần tử mang giá trị x trong mảng
Đâ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”
A. Thời gian
B. Cả hai lựa chọn đều sai
C. Cả hai lựa chọn đều đúng
D. Không gian
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. a[k] có giá trị nhỏ nhất
B. a[k] có giá trị lớn nhất
C. k có giá trị nhỏ nhất
D. k có giá trị lớn nhất
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
A. Tính (n-1)!
B. Tính tổng các giá trị 1+2+3+…+n
C. Tính tổng các giá trị 1*1*2*3*…*n
D. Tính n!
Để tính biểu thức s = xn với n>=0 ta chọn hàm
A. long F(int x, int n)
{
if (n==1)
return 1;
else
return x*F(x,n-1);
}
B. long F(int x, int n)
{
if (n==0)
return 1;
else
return x*x*F(x,n-1);
}
C. long F(int x, int n)
{
if (n==0)
return 1;
else
return x*F(x,n-1);
}
D. long F(int x, int n)
{
if (n==0)
return 1;
else
return x*F(x,n);
}
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();
}
Độ phức tạp thuật toán được đánh giá có loại nào?
A. Cả hai loại được liệt kê
B. Độ phức tạp thời gian
C. Độ phức tạp không gian
D. Không phải các loại liệt kê
Thuật toán được biểu diễn bằng cách nào
A. Sơ đồ khối
B. Tất cả các cách được liệt kê
C. Giả mã
D. Liệt kê từng bước
Để xác định giải thuật đệ quy cần xác định gì?
A. Phần tử neo
B. Cả hai lựa chọn đều đúng
C. Công thức tổng quát
D. Cả hai lựa chọn đều sai
Để tính biểu thức s = ½ + 2/3 + ¾ + … + n/(n+1) ta chọn hàm
A. float F(int n)
{
if (n==1)
return 1.0/2;
else
return (float)(n+1)/(n+1) + F(n-1);
}
B. float F(int n)
{
if (n==1)
return 1.0/2;
else
return (float)n/ ( n) + F(n-1);
}
C. float F(int n)
{
if (n==1)
return 1.0/2;
else
return (float)n/(n+1) + F(n-1);
}
D. float F(int n)
{
if (n==1)
return 1.0/2;
else
return (float)n/(n+1) + F (n-1);
}
Để tính biểu thức s = ½ + ¼ + … + 1/(2n) với n>=1 ta chọn hàm
A. float F( int n )
{
if (n ==1 )
return 1.0/2;
else
return 1.0/n + F(n-1);
}
B. float F( int n )
{
if (n ==1 )
return 1.0/2;
else
return 1.0/2*n + F(n-1);
}
C. float F( int n )
{
if (n ==1 )
return 1.0/2;
else
return 1.0/(2*n) + F(n-1);
}
D. float F( int n )
{
if (n ==1 )
return 1.0/2;
else
return 1.0/(2*n) + F1(n-1);
}