- Câu hỏi 305011:
Đ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ì
A. NILL
B. O
C. NULL
D. Không phải các đáp án trên
- Câu hỏi 305012:
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);
}
}
A. 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
B. 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
C. In đầy đủ thông tin tất cả các cán bộ đang chứa trong danh sách Q
D. In họ tên và mã của các cán bộ đang chứa trong danh sách
- Câu hỏi 305015:
Các thao tác cơ bản trên danh sách gồm thao tác gì:
A. bổ sung, loại bỏ, cập nhật
B. tách, ghép, …
C. tìm kiếm, sắp xếp, sao chép
D. Tất cả các thao tác trên
- Câu hỏi 114190:
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 + 1
Bước 3:
Nếu left <= right và quay lại bước 2 để tìm kiếm tiếp
Ngược lại thông báo không tìm thấy và dừng thuật toán
A. Các đáp án đưa ra đều sai
B. Mô tả thuật toán tìm kiếm tuyến tính
C. Mô tả thuật toán tìm kiếm nhị phân
D. Các đáp án trên đều đúng
- Câu hỏi 114196:
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. a[R/2]
B. a[(L-R)/2]
C. a[(L+R)/2]
D. a[(L+R)]
- Câu hỏi 114205:
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();
}
- 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?
A. 8, 23, 32, 78, 45, 56
B. 8, 23, 32, 78, 56, 45
C. 8, 23, 78, 45, 32, 56
D. 23, 78, 45, 8, 32, 56
- 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 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 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
