- Câu hỏi 170824:
Các thành phần của danh sách đơn gồm:
A. Dữ liệu (data)
B. Liên kết (link)
C. Số phần tử của danh sách (number)
D. Dữ liệu (data) và liên kết (link)
- Câu hỏi 83249:
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:
A. Số phép gán: Gmin = 3 Số phép so sánh: Smin = 2
B. Số phép gán: Gmin = 2 Số phép so sán: Smin = 3
C. Số phép gán: Gmin = 0 Số phép so sánh: Smin = 2
D. Số phép gán: Gmin = 2 Số phép so sánh: Smin = 2
- Câu hỏi 305019:
Cho khai báo CTDL như sau:
struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc;};struct Node{ CB info; struct Node *next;};
struct List{ Node *head, *tail;};
Đâu là đoạn mã để sắp xếp danh sách Cán bộ theo thứ tự tăng dần của hệ số lương (hsl);
A. void SXCBThanhTien(List &Q)
{ Node *p,*q; CB tg; for(p=Q.Head; p!=NULL; p=p->next) for(q=p->next; q!=NULL; q=q->next) if(p->info.hsl > q->info.hsl) { tg = p->info; p->info = q->info; q->info = tg; }
}
B. void SXCBThanhTien(List &Q)
{ Node *p,*q; CB tg; for(p=Q.Head; p!=NULL; p=p->next) for(q=p->next; q!=NULL; q=q->next) if(p->info.hsl < q->info.hsl) { tg = p->info; p->info = q->info; q->info = tg; }
}
C. void SXCBThanhTien(List &Q)
{ Node *p=Q.Head,*q; CB tg; while(p!=NULL)
{
q=p->next; while(q!=NULL) if(p->info.pc > q->info.pc) { tg = p->info; p->info = q->info; q->info = tg; }
}
}
D. void SXCBThanhTien(List &Q)
{ Node *p,*q; CB tg; for(p=Q.Head; p!=NULL; p=p->next) for(q=p->next; q!=NULL; q=q->next) if(p->info.pc < q->info.pc) { tg = p->info; p->info = q->info; q->info = tg; }
}
- Câu hỏi 305021:
Đoạn mã để tạo ra nút mới có thành phần là x trong danh sách liên kết đơn với mỗi nút gồm hai thành phần (infor, next) sau:
Node* get_node( Data x ){
Node *p;
p = (Node*)malloc(sizeof(Node));
if ( p == NULL )
{
printf(“Ko du bo nho”);
exit(1);
}
p -> infor = ……;
p -> next = NULL;
return p;
}
Điền phần còn thiếu vào chỗ …………..
- Câu hỏi 114191:
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 Tuổi tăng dần bằng thuật toán Selection Sort
A. 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].Tuoi<x.Tuoi)) { ds[pos+1] = ds[pos]; pos--; } ds[pos+1] = x; //chèn x vào dãy }}
B. 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].Tuoi>x.Tuoi)) { ds[pos+1] = ds[pos]; pos--; } ds[pos+1] = x; //chèn x vào dãy }}
C. 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].Tuoi < ds[min].Tuoi ) min = j; if( min != i )
{ tg = ds[min];
ds[min] = ds[i];
ds[i] = tg; } }}
D. void SXDSSV( int n, SV ds[]){ int max, i, j; SV tg; for( i=0 ; i<n-1 ; i++ ) { max = i; for( j=i+1 ; j<n ; j++ ) if ( ds[j].Tuoi > ds[max].Tuoi) max = j; if(max!= i )
{ tg = ds[max];
ds[max] = ds[i];
ds[i] = tg; } }}
- Câu hỏi 114192:
Đoạn mã sau đây thực hiện nhiệm vụ 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].Tuoi>x.Tuoi)) { ds[pos+1] = ds[pos]; pos--; } ds[pos+1] = x; //chèn x vào dãy }}
A. Thực hiện sắp xếp danh sách SV theo Tuoi giảm dần bằng thuật toán Insertion
B. Thực hiện sắp xếp danh sách SV theo Tuoi giảm dần bằng thuật toán Selection
C. Thực hiện sắp xếp danh sách SV theo Tuoi tăng dần bằng thuật toán Insertion
D. Thực hiện sắp xếp danh sách SV theo Tuoi tăng dần bằng thuật toán Selection
- Câu hỏi 114194:
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 3 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, 74, 58
C. 11, 23, 42, 74, 65, 58
D. 11, 23, 58, 65, 42, 74
- 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; } }}
A. Interchange Sort
B. Quick Sort
C. Selection Sort
D. Insertion Sort
- 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?
A. 11, 23, 58, 42, 65, 74
B. 11, 23, 42, 58, 65, 74
C. 11, 23, 58, 42, 74, 65
D. 42, 23, 74, 11, 65, 58
- Câu hỏi 563557:
Thuật toán được biểu diễn bằng cách nào
A. Sơ đồ khối
B. Tất cả các cách được liệt kê
C. Giả mã
D. Liệt kê từng bước