- 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 241679:
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:
A. Số phép gán: Gmax = 1 Số phép so sánh: Smax = 2N + 2
B. Số phép gán: Gmax = 1 Số phép so sánh: Smax = 2N + 1
C. Số phép gán: Gmax = 1 Số phép so sánh: Smax = N + 2
D. Số phép gán: Gmax = 2 Số phép so sánh: Smax = 2N + 1
- Câu hỏi 241683:
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?
A. 11, 23, 42, 74, 58, 65
B. 11, 23, 42, 65, 58, 74
C. 11, 23, 58, 65, 42, 74
D. 11, 23, 42, 58, 65, 74
- Câu hỏi 241687:
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 98
Cầ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:
A. 10 lần
B. 7 lần
C. 8 lần
D. 9 lần
- Câu hỏi 241688:
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?
A. 23, 78, 45, 8, 32, 56
B. 8, 23, 32, 45, 56, 78
C. 8, 23, 78, 45, 32, 56
D. 8, 23, 32, 78, 56, 45
- Câu hỏi 241691:
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?
A. 23, 78, 45, 8, 32, 56
B. 8, 23, 45, 78, 32, 56
C. 8, 23, 32, 78, 56, 45
D. 8, 23, 78, 45, 32, 56
- Câu hỏi 563554:
Để 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);
}
- Câu hỏi 563555:
Để 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);
}
- Câu hỏi 563560:
Để 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);
}
- 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