- 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:
- Câu hỏi 241685:
Đ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; } }}
- 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:
- Câu hỏi 241694:
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?
- Câu hỏi 241695:
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?
- 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 563555:
Để tính biểu thức s = ½ + 2/3 + ¾ + … + n/(n+1) ta chọn hàm
- 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
- 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
- Câu hỏi 563565:
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();
}