- Câu hỏi 114197:
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
A. for( j = N-1; j>i; j++)
B. 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
C. for( j = N; j< i; j--)
D. for( j = N-1; j>i; j--)
- Câu hỏi 241678:
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.
A. 3 4 6 7 8 2
B. 2 3 4 6 7 8
C. 3 8 7 6 4 2
D. 3 6 7 8 4 2
- Câu hỏi 241682:
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?
A. 11, 23, 58, 65, 42, 74
B. 23, 42, 74, 11, 65, 58
C. 11, 23, 42, 74, 58, 65
D. 11, 23, 42, 65, 74, 58
- Câu hỏi 241693:
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?
A. 11, 42, 23, 74, 58, 65
B. 42, 23, 74, 11, 65, 58
C. 11, 23, 42, 58, 74, 65
D. 11, 23, 42, 58, 65, 74
- Câu hỏi 563553:
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);
}
- Câu hỏi 563556:
Để 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
- Câu hỏi 563561:
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!
- Câu hỏi 563562:
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
- Câu hỏi 563564:
Đâu là công thức tổng quát để tính giai thừa dựa vào giải thuật đệ quy
A. Giaithua

= n* Giaithua

B. Giaithua

= n* Giaithua(n+1)
C. Giaithua

= n* Giaithua(n-1)
D. Giaithua

= (n-1)* Giaithua

- Câu hỏi 563566:
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