Câu hỏi 83251:
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 1 + F(a,n-1);
}
int main()
{
int a[] = {2, 3, 4, 5, 6};
printf("%d",F(a,5));
getch();
}
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 1 + F(a,n-1);
}
int main()
{
int a[] = {2, 3, 4, 5, 6};
printf("%d",F(a,5));
getch();
}
Cho đoạn chương trình:
void QuickSort( int a[ ], int L , int R )
{
int i,j,x;
x= a[(L+R)/2];
i =…;
j = ...;
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
Cho thuật toán tìm nhị phân không đệ quy sau:
int NrecBinarySearch( int M[], int N, int X)
{
int First = 0;
int Last = N -1;
while ( First <= Last)
{
int Mid = (First + Last)/2;
if ( X == M[Mid]) return Mid;
if ( X < M[Mid]) Last = Mid - 1;
else First = Mid + 1;
}
return -1;
}
Chọn câu đúng nhất trong trường hợp tốt nhất khi phần tử ở giữa của mảng có giá trị bằng X:
Đoạn mã sau đây thực hiện yêu cầu xử lý gì?
int TK_SV_Ten_Tuyentinh(int n, SV ds[], char ht[]){ for(int i = 0; i<n; i++) if ( strcmp(ds[i].HoTen, ht)==0) break; if (i<n) return 1; else return -1;}
Đoạn mã sau đây sử dụng thuật toán Sắp xếp gì?
void SXDSV_InsertionSort( int n, SV ds[]){ int pos,i; SV x; for(i=1;i<n;i++) { x = ds[i]; pos = i-1; while((pos>=0)&&(ds[pos].DTB>x.DTB)) { ds[pos+1] = ds[pos]; pos--; } ds[pos+1] = x; //chèn x vào dãy }}
Cho dãy sau: 42, 23, 74, 11, 65, 58. Dùng phương pháp sắp xếp đổi chỗ trực tiếp (Interchange 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?
Cho thông tin của SV gồm: MaSV, HoTen, Tuoi, DTB
Đâu là đoạn mã để Sắp xếp danh sách SV theo ĐTB giảm dần bằng thuật toán Selection Sort
Cho cây NPTK, Cho biết kết quả duyệt cây theo thứ tự LRN là:
Cho biết kết quả khi CTC CreateTree_mang(T) được gọi trong chương trình chính
int insertNode(Tree &T, int x){ if (T != NULL) { if (T->key == x) return -1; if (T->key > x) return insertNode(T->Left, x); else if (T->key < x) return insertNode(T->Right, x); } T = (Node *) malloc(sizeof(Node)); if (T == NULL) return 0; T->key = x; T->Left = T->Right = NULL; return 1;}
void DuyetCay(Tree T){ if(T!=NULL) { LNR(T->Left); printf("%7d",T->key); LNR(T->Right); }}
void CreateTree_mang(Tree &T){ int x; int n=7; int a[] = { 8, 6, 10, 4, 9, 7, 11}; for(int i=0;i<n;i++) { int check = insertNode(T, a[i]); if (check == -1) printf("\n Node da ton tai!"); else if (check == 0) printf("\n Khong du bo nho"); }
printf("\n Duyet cay:"); DuyetCay(T);
}
Cho đoạn mã cài đặt phương pháp duyệt NLR:
void NLR( Tree Root )
{
if ( root != NULL )
{
< Xử lý Root >; NLR ( Root -> Left );
NLR(Root->Left) ;
[1] ……….
}
}
Đoạn mã điền vào phần trống ở dòng số [1]
Cho các phần tử 5, 10, 3, 42 lần lượt được bổ sung vào ngăn xếp (Stack). Phần tử nào được lấy ra đầu tiên
Cho đoạn mã sau
stack <int> s; for (int i = 1; i <= 5; i++)
s.push(i);
while (!s.empty()) {
cout << s.top() << endl; s.pop(); }
Kết quả in lên màn hình là gì?
Các trường hợp chèn thêm một phần tử mới vào danh sách liên kết đơn gồm:
Cho khai báo cấu trúc cây NPTK:
struct Node
{
int key;
Node *Left, *Right;
};
typedef Node *Tree;
và CTC insertNode(Tree &T, item x) để chèn thêm phần tử mới vào cây nhị phân tìm kiếm, nếu chèn thành công trả lại giá trị 0 nếu không chèn thành công trả lại giá trị -1
Đoạn mã nào sau đây để cho phép nhập liên tiếp các số nguyên đến khi bằng 0 thì dừng và tạo cây nhị phân tìm kiếm từ các số nguyên đã nhập đó.
Ứng dụng cơ bản của ngăn xếp gồm
Cho s là Stack chứa các giá trị nguyên, Kết quả của đoạn mã sau là gì?
void main()
{
int n=3553, du, b=8;
stack *s;
InitStack(s);
while(n!=0)
{
du = n%b;
Push(s, du);
n = n/b;
}
cout<<“Ket qua la:”;
while( !isEmpty(s))
{
cout<<Pop(s);
}
}
Cho đoạn mã sau, cho biết kết quả của x?
Queue Q;
InitQueue(Q);
Put(Q, “Green”);
Put(Q, “Red”);
Put(Q, “Yellow”);
Get(Q,x);
Cho đoạn mã sau
stack <int> s; for (int i = 1; i <= 4; i++)
s.push(i);
Phần tử được lấy ra đầu tiên của Stack là gì?
Cho các phần tử 5, 10, 3, 42 lần lượt được bổ sung vào hàng đợi (Queue). Phần tử nào được lấy ra cuối cùng
Hàng đợi còn được gọi là danh sách
Để giúp chúng tôi phát triển sản phẩm tốt hơn, đạt kết quả học tập cao hơn















