220 câu trắc nghiệm Cấu trúc dữ liệu và giải thuật có đáp án - Phần 1

346 người thi tuần này 5.0 70 K lượt thi 20 câu hỏi 20 phút

🔥 Đề thi HOT:

3551 người thi tuần này

2550 câu hỏi trắc nghiệm Tin học đại cương có đáp án (Phần 1)

141.8 K lượt thi 50 câu hỏi
2119 người thi tuần này

630 câu hỏi trắc nghiệm môn Mạng máy tính có đáp án - Phần 6

110 K lượt thi 30 câu hỏi
1853 người thi tuần này

100 Câu hỏi trắc nghiệm lập trình Python có đáp án - Phần 1

20.5 K lượt thi 50 câu hỏi
1751 người thi tuần này

400+ Câu trắc nghiệm Thiết kế Website có đáp án - Phần 1

32.4 K lượt thi 50 câu hỏi
1693 người thi tuần này

300 Câu hỏi trắc nghiệm lập trình Java có đáp án - Phần 1

39.3 K lượt thi 50 câu hỏi
1599 người thi tuần này

500+Câu hỏi trắc nghiệm quản trị cơ sở dữ liệu có đáp án - Phần 1

54.1 K lượt thi 50 câu hỏi
1542 người thi tuần này

225 câu trắc nghiệm Lập trình hướng đối tượng có đáp án - Phần 11

57.5 K lượt thi 19 câu hỏi
1531 người thi tuần này

250 Câu hỏi trắc nghiệm Javascript, CSS, HTML có đáp án - Phần 3

42.6 K lượt thi 49 câu hỏi

Nội dung liên quan:

Danh sách câu hỏi:

Câu 1

Tìm mô tả đúng nhất cho hàm TinhTong sau:
int TinhTong(int N)
{ int so = 2; int tong = 0; int dem = 0; while (dem <N)
{
if (KiemTra(so) == 1)
{
tong = tong + so;
dem ++;
}
so = so + 1;
}
return tong;
} Trong đó
int KiemTra(int so)
{
for (int i = 2; i<so; i++)
if (so%i == 0)
return 0;
return 1;
}

Lời giải

Chọn đáp án C

Câu 2

Mối quan hệ giữa cấu trúc dữ liệu và giải thuật có thể minh họa bằng đẳng thức:

Lời giải

Chọn đáp án A

Câu 3

Các tiêu chuẩn đánh giá cấu trúc dữ liệu. Để đánh giá một cấu trúc dữ liệu chúng ta thường dựa vào một số tiêu chí:

Lời giải

Chọn đáp án D

Câu 4

Đoạn mã giả dưới đây mô tả thuật toán gì?
Thuật toán:
B1: k = 1
B2: IF M[k] == X AND k != N
B2.1: k++
B2.2: Lặp lại B2
B3: IF k < N Thông báo tìm thấy tại vị trí k
B4: ELSE Không tìm thấy.
B5: Kết thúc

Lời giải

Chọn đáp án C

Câu 5

Cho hàm tìm kiếm tuyến tính như sau:
int TimKiem (int M[], int N, int X)
{ int k = 0;
M[N] = X;
while (M[k] != X)
k++;
if (k < N)
return (k);
return (-1);
}
Chọn câu đúng nhất:

Lời giải

Chọn đáp án C

Câu 6

Xét thủ tục sau:
int TimKiemNP (int M[], int First, int Last, int X)
{
if (First > Last)
return (-1);
int Mid = (First + Last)/2;
if (X == M[Mid])
return (Mid);
if (X < M[Mid])
return(TimKiemNP (M, First, Mid – 1, X));
else
return(TimKiemNP (M, Mid + 1, Last, X));
}
Lựa chọn câu đúng nhất để mô tả thủ tục trên:

Lời giải

Chọn đáp án B

Câu 7

Chọn câu đúng nhất để mô tả thuật toán sắp xếp nổi bọt (Bubble Sort) trên mảng M có N phần tử:

Lời giải

Chọn đáp án A

Câu 8

Hàm mô tả sắp xếp nổi bọt (Bubble Sort) trên mảng M có N phần tử
void BubbleSort(int M[], int N)
{
[2] int Temp;
[3] for (int I = 0; I < N-1; I++)
[4] …………………………………..
[5] if (M[J] < M[J-1])
[6] {
[7] Temp = M[J];
[8] M[J] = M[J-1];
[9] M[J-1] = Temp;
[10] }
[11] return;
[12] }
[13]
Lệnh nào sau đây sẽ được đưa vào dòng lệnh thứ [5] của thủ tục:

Lời giải

Chọn đáp án C

Câu 9

Thủ tục mô tả thuật toán sắp xếp chọn trực tiếp (Straight Selection Sort):
void SapXepChonTrucTiep(T M[], int N)
{
int K = 0, PosMin;
int Temp;
while (K < N-1)
{ T Min = M[K];
PosMin = K;
for (int Pos = K+1; Pos < N; Pos++)
if (Min > M[Pos])
{
Min = M[Pos];
PosMin = Pos
}
} ...................................
[1] ...................................
[2] ...................................
[3] K++;
}
return;
}
Chọn câu lệnh thích hợp để đưa vào [1], [2], [3] với mục tiêu hoán vị M[K] và M[PosMin]

Lời giải

Chọn đáp án D

Câu 10

Đối với thuật toán sắp xếp chọn trực tiếp cho dãy các phần tử sau (10 pt) 16 60 2 25 15 45 5 30 33 20
Cần thực hiện ..................... chọn lựa phần tử nhỏ nhất để sắp xếp mảng M có thứ tự tăng dần.

Lời giải

Chọn đáp án C

Câu 11

Thuật toán sắp xếp chèn trực tiếp (Straight Insertion Sort) được mô tả bằng đoạn mã giả như sau:
B1: K = 1
B2: IF (K = N) Thực hiện BKT
B3: X = M[K+1]
B4: Pos = 1
B5: IF (Pos > K) Thực hiện B7
B6: ELSE // Tìm vị trí chèn
B6.1: If (X <= M[Pos]) Thực hiện B7
B6.2: Pos++
B6.3: Lặp lại B6.1
B7: I = K+1 B8: IF (I > Pos)
B8.1: M[I] = M[I-1]
B8.2: I--
B8.3: Lặp lại B8
B9: ELSE
B9.1: M[Pos] = X
B9.2: K++
B9.3: Lặp lại B2
BKT: Kết thúc Trong đó B8 mô tả trường hợp

Lời giải

Chọn đáp án C

Câu 12

Giả sử cần sắp xếp mảng M có N phần tử sau theo phương pháp sắp xếp chèn trực tiếp 11 16 12 75 51 54 5 73 36 52 98
Cần thực hiện ..................... chèn các phần tử vào dãy con đã có thứ tự tăng đứng đầu dãy M để sắp xếp mảng M có thứ tự tăng dần.

Lời giải

Chọn đáp án D

Câu 13

Lựa chọn định nghĩa về danh sách đúng nhất?

Lời giải

Chọn đáp án D

Câu 14

Tìm mô tả đúng cho hàm sau:
int SC (int M[], int Len, int CM[])
{ for (int i = 0; i < Len; i++)
CM[i] = M[i];
return (Len);
}

Lời giải

Chọn đáp án D

Câu 15

Cấu trúc dữ liệu mảng có các ưu điểm nào?

Lời giải

Chọn đáp án D

Câu 16

Định nghĩa nào là đúng với danh sách liên kết?

Lời giải

Chọn đáp án C

Câu 17

Định nghĩa cấu trúc dữ liệu của danh sách liên kết đơn được mô tả như sau:
typedef struct Node
{ int Key;
Node * NextNode;
} OneNode;
Trong đó, khai báo Node * NextNode; dùng để mô tả:

Lời giải

Chọn đáp án B

Câu 18

Với cấu trúc dữ liệu của danh sách liên kết đơn lưu trữ thông tin về phòng máy:
typedef struct PM
{
int maPM; int tongsoMay;
} PHONGMAY;
typedef struct Node { PHONGMAY Data; Node * NextNode;
} OneNode;
typedef OneNode * SLLPointer;
Để quản lý danh sách liên kết đơn bằng phần tử đầu và phần tử cuối, cần định nghĩa kiểu dữ liệu:

Lời giải

Chọn đáp án B

Câu 19

Tổ chức cấu trúc dữ liệu cho danh sách liên kết đơn:
typedef struct Node
{ int Data; Node * Link;
} OneNode; typedef OneNode * SLLPointer;
Mã giả thuật toán thêm một phần tử có giá trị thành phần dữ liệu là NewData vào trong danh sách liên kết đơn SLList vào ngay sau nút có
địa chỉ InsNode:
B1: NewNode = new OneNode
B2: IF (NewNode = NULL) Thực hiện BKT
B3: NewNode ->Link = NULL
B4: NewNode ->Data = NewData
B5: IF (InsNode-> Link = NULL)
B5.1: InsNode-> Link = NewNode
B5.2: Thực hiện BKT // Nối các nút kế sau InsNode vào sau NewNode
B6: ………………………………………………..
// Chuyển mối liên kết giữa InsNode với nút kế của nó về NewNode
B7: ………………………………………………..
BKT: Kết thúc
B6 và B7 dùng để nối nút kế sau InsNode vào sau NewNode và chuyển mối liên kết giữa InsNode với nút kế nó về NewNode.
Hãy chọn câu đúng nhất cho B6 và B7

Lời giải

Chọn đáp án D

Câu 20

Với định nghĩa cấu trúc dữ liệu cho danh sách liên kết đơn:
typedef struct Node
{
int Data; Node * Link;
} OneNode;
typedef OneNode * SLLPointer;
Hàm dưới đây để thêm một phần tử có giá trị thành phần dữ liệu là NewData vào trong danh sách liên kết đơn SLList vào ngay sau nút có địa chỉ InsNode.
SLLPointer ThemGiua(SLLPointer &SList, int NewData, SLLPointer &InsNode)
{ SLLPointer NewNode = new OneNode;
if (NewNode != NULL)
NewNode ->NextNode = NULL;
NewNode ->Data = NewData;
else
return (NULL);
if (InsNode->Link == NULL)
{
InsNode-> Link = NewNode; return (SList);
}
…………………………………………………………….
…………………………………………………………….
return (SList);
}
Hãy lựa chọn câu đúng nhất:

Lời giải

Chọn đáp án B

5.0

3 Đánh giá

100%

0%

0%

0%

0%