- Câu hỏi 114187:
Các bước thực hiện tìm kiếm nhị phân phần tử x trên dẫy sắp xếp tăng dần được mô tả như 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 => Tìm thấy => Dừng
- a[middle] > x => tiếp tục tìm x trong dãy con mới với right = middle - 1 (tìm trong nửa đầu)
- a[middle] < x => tiếp tục tìm x trong dãy con mới với ............................ (tìm trong nửa cuối)
Bước 3:
- Nếu left <= right => dãy còn phần tử, tiếp tục quay lại bước 2 để tìm kiếm tiếp
- Ngược lại => Dãy hiện hành hết phần tử và dừng thuật toán
Giá trị cần điền vào dấu ………….. là bao nhiêu để thuật toán thực hiện đúng
A. right = midle + 1
B. right = middle - 1
C. left = middle - 1
D. left = middle + 1
- Câu hỏi 114188:
Các bước thực hiện tìm kiếm nhị phân phần tử x trên dẫy sắp xếp tăng dần được mô tả như 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 c left = …………… và right = ………………
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 => Tìm thấy => Dừng
- a[middle] > x => tiếp tục tìm x trong dãy con mới với right = middle - 1 (tìm trong nửa đầu)
- a[middle] < x => tiếp tục tìm x trong dãy con mới với left = middle + 1 (tìm trong nửa cuối)
Bước 3:
- Nếu left <= right => dãy còn phần tử, tiếp tục quay lại bước 2 để tìm kiếm tiếp
- Ngược lại => Dãy hiện hành hết phần tử và dừng thuật toán
Giá trị cần điền vào dấu ………….. là bao nhiêu để thuật toán thực hiện đúng
A. n và 0
B. 0 và n-1
C. n-1 và 0
D. 0 và n
- 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 114195:
Cho mảng a gồm các phẩn tử có giá trị như sau:
74326
Số lần hoán vị 2 phần tử khác nhau khi áp dụng thuật toán chọn trực tiếp để sắp xếp mảng tăng dần là:
- 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 114206:
Cho biết kết quả sau khi thực hiện đoạn chương trình sau:
int main()
{
int a[20], n,i,k;
k = a[0];
for(i=0; i<n; i++)
if (a[i] > k)
k = a[i];
}
A. k có giá trị lớn nhất
B. a[k] có giá trị nhỏ nhất
C. a[k] có giá trị lớn nhất
D. k có giá trị nhỏ nhất
- 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 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 563566:
Cho mảng a có N (N>=2) phần từ, x là một biến, xét đoạn mã sau cho biết đoạn mã biểu diễn thuật toán gì?
Bước 1: Khởi gán i = 0, s = 0, qua bước 2;
Bước 2: Nếu a[i] == x thì
s++; qua bước 3
Bước 3: i = i + 1;
Nếu i == n: hết mảng. Dừng, in s ra màn hình
Ngược lại: Lặp lại bước 2
A. Đếm số phần tử có giá trị bằng x trong mảng
B. Đếm số phần tử trong mảng đầu tiên trong mảng
C. Đếm số phần tử có giá trị bằng phần tử đầu tiên trong mảng
D. Tìm kiếm tuyến tính phần tử mang giá trị x trong mảng