Cấu trúc dữ liệu và giải thuật - IT05 (255)

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 305029:

Đoạn mã cài đặt hủy phần tử đầu của danh sách liên kết đơn:

void RemoveHead ( LIST &Q ){

Node *p;

if (Q.Head != NULL)

{

p = Q.Head;

[1] …………………..

free(p);

if ( Q.Head == NULL )

Q.Tail = NULL;

}

}

Dòng lệnh cần thiết được đặt vào chỗ trống tại dòng số [1]:

A. Q.Head -> next = Q.Head;
B. Q.Head = NULL;
C. Q.Head -> next = NULL;
D. Q.Head = Q.Head -> next;

Câu hỏi 305030:

Đ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 = x;

p -> ….. = NULL;

return p;

}

Điền phần còn thiếu vào chỗ …………..

A. next
B. data
C. link
D. infor

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 114189:

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 tăng dần bằng thuật toán Selection Sort

A. 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; } }}
B. 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; } }}
C. 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 }}
D. 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 }}

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 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à:

A. 2
B. 5
C. 4
D. 3

Câu hỏi 114198:

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 = 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) ….

if (i<R) ….

}

Điền giá trị nào vào đoạn …. cho đúng

A. QuickSort(a,L,j);
QuickSort(a,R,i);
B. QuickSort(a,i,R);
QuickSort(a,L,j);
C. QuickSort(a,j,L);
QuickSort(a,i,R);
D. QuickSort(a,L,j);
QuickSort(a,i,R);

Câu hỏi 114199:

Cho thuật toán sắp xếp Bubble Sort như sau:

void BubbleSort( int M[], int N)

{

for( int i = 0; i< N-1; i++)

for( int j = N-1; j>I; j--)

if( M[j] <M[j-1]) Swap( M[j], M[j-1]);

return ;

}

Chọn câu đúng nhất cho hàm Swap:

A. void Swap( int *X, int *Y)
{
int Temp = X;
X=Y;
Y = Temp;
return ;
}
B. void Swap( int X, int Y)
{
int Temp = X;
X=Y;
Y = Temp;
return ;
}
C. void Swap( floatX, float Y)
{
int Temp = X;
X=Y;
Y = Temp;
return ;
}
D. void Swap( int &X, int &Y)
{
int Temp = X;
X=Y;
Y = Temp;
return ;
}

Câu hỏi 114200:

Cho dãy sau: 42, 23, 74, 11, 65, 58. Dùng phương pháp sắp xếp phân hoạch (Quick Sort), điểm chốt a[middle] ban đầu là:

A. Các đáp án đưa ra đều không đúng
B. a[middle] = 11
C. a[middle] = 23
D. a[middle] = 74

Câu hỏi 114204:

Đây là định nghĩa của độ phức nào? “được tính là tổng số chi phí về mặt tổng thời gian cần thiết để hoàn thành thuật toán, được đánh giá dựa vào số lượng các thao tác được sử dụng trong thuật toán dựa trên bộ dữ liệu đầu vào

A. Thời gian
B. Cả hai lựa chọn đều đúng
C. Cả hai lựa chọn đều sai
D. Không gian

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();

}

A. 14
B. 20
C. 18
D. 2

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 241679:

Cho thuật toán sau:

int LinenearSearch( int M[], int N, int X)

{

int k = 0;

while (M[k] !=X && k<N)

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 = 2N + 2
B. Số phép gán: Gmax = 1 Số phép so sánh: Smax = 2N + 1
C. Số phép gán: Gmax = 1 Số phép so sánh: Smax = N + 2
D. Số phép gán: Gmax = 2 Số phép so sánh: Smax = 2N + 1

Câu hỏi 241680:

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 3 lần lặp kết quả của dãy là thế nào?

A. 11, 23, 42, 58, 74, 65
B. 11, 23, 42, 74, 65, 58
C. 11, 23, 42, 65, 58, 74
D. 11, 23, 42, 58, 65, 74

Câu hỏi 241682:

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 2 lần lặp kết quả của dãy là thế nào?

A. 11, 23, 58, 65, 42, 74
B. 23, 42, 74, 11, 65, 58
C. 11, 23, 42, 74, 58, 65
D. 11, 23, 42, 65, 74, 58

Câu hỏi 241683:

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 5 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, 58, 74
C. 11, 23, 58, 65, 42, 74
D. 11, 23, 42, 58, 65, 74

Câu hỏi 241689:

Cho mảng a gồm các phẩn tử có giá trị như sau:

1356

Số lần hoán vị 2 phần tử khác nhau khi áp dụng thuật toán nổi bọt để sắp xếp mảng giảm dần là:

A. 4
B. 5
C. 6
D. 7

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 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
Trung tâm giáo dục thể chất và quốc phòng an ninh
Khoa kinh tế
Khoa đào tạo từ xa
Trung tâm đào tạo trực tuyến
Khoa đào tạo cơ bản
Khoa điện - điện tử
Khoa du lịch
Khoa Công nghệ thông tin
Viện Công nghệ sinh học và Công nghệ thực phẩm
Trung tâm đại học Mở Hà Nội tại Đà Nẵng
Khoa tiếng Trung Quốc
Khoa tạo dáng công nghiệp
Khoa tài chính ngân hàng
Khoa Tiếng anh
Khoa Luật

Bản tin HOU-TV số 06 năm 2025

Tuyển sinh đại học Mở Hà Nội - HOU

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please reload the page.