- Câu hỏi 170754:
Tổng các phần tử trên một hàng hoặc của một cột trong ma trận kề của đồ thị vô hướng G = <V,E> đúng bằng
A. Số cạnh liên thuộc với đỉnh của cột hoặc hàng đó
B. Hai lần số cạnh của đồ thị
C. Một nửa số cạnh của đồ thị
D. Tổng bán đỉnh bậc ra của tất cả các đỉnh
- Câu hỏi 170792:
Cho thuật toán sau:
int LinearSearch( float M[], int N, float X)
{
int k = 0;
M[N] = X;
while (M[k] !=X)//n+1
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 = N + 2
B. Số phép gán: Gmax = 2 Số phép so sánh: Smax = N + 1
C. Số phép gán: Gmax = 2 Số phép so sánh: Smax = 2N + 2
D. Số phép gán: Gmax = 2 Số phép so sánh: Smax = N + 2
- Câu hỏi 170826:
Cho khai báo CTDL như sau:
struct CB{ int mcb; char hoten[20]; char ns[12]; float hsl,pc,tt;};struct Node{ CB info; struct Node *next;};
struct List{ Node *head, *tail;};
Đâu là đoạn mã tìm kiếm CanBo theo mã cán bộ trong DSLK đơn
A. Node *TimCBMa(List Q,char k[]){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) if(strcmp(p->info.ns,k)==0) break; return p;}
B. Node *TimCBMa(List Q,int k){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) if(p->info.mcb == k) break;
return p;}
C. Node *TimCBMa(List Q,char k[]){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) if(strcmp(p->info.hoten,k)==0) break; return p;}
D. void TimCBMa(List Q,char k[]){ Node *p; for(p=Q.Head; p!=NULL; p=p->next) if(p->mcb == k) break;}
- Câu hỏi 305014:
Để tiến hành tìm kiếm một phần tử trong danh sách liên kết đơn sử dụng phương pháp tìm kiếm gì?
A. Tìm kiếm tuyến tính và tìm kiếm nhị phân
B. Tìm kiếm nhị phân
C. Tất cả các đáp án đều đúng
D. Tìm kiếm tuyến tính
- 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 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 241686:
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 Selection tăng dần trên mảng các phần tử trên.
A. 2 3 4 6 8 7
B. 2 3 4 6 7 8
C. 2 3 7 6 8 4
D. 2 3 7 6 4 8
- Câu hỏi 241690:
** 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 (Selection Sort) để sắp xếp giảm dần, sau lần lặp thứ tư kết quả của dãy là thế nào?
A. 74, 23, 42, 11, 65, 58
B. 74, 65, 58, 11, 23, 42
C. 74, 65, 58, 42, 23, 11
D. 74, 65, 42, 11, 23, 58
- Câu hỏi 563563:
Đây là định nghĩa của độ phức nào? “Được tính là tổng số chi phí về mặt không gian (bộ nhớ) cần thiết sử dụng cho thuật toán”
A. Thời gian
B. Cả hai lựa chọn đều sai
C. Cả hai lựa chọn đều đúng
D. Không gian
- 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();
}