Thứ sáu, 22/11/2024
IMG-LOGO

Câu hỏi:

19/07/2024 300

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

A. Cấu trúc dữ liệu phải tiết kiệm tài nguyên (bộ nhớ trong)

B. Cấu trúc dữ liệu phải phản ảnh đúng thực tế của bài toán

C. Cấu trúc dữ liệu phải dễ dàng trong việc thao tác dữ liệu

D. Cả a, b, c đều đúng

Đáp án chính xác

Trả lời:

verified Giải bởi Vietjack

Chọn đáp án D

Câu trả lời này có hữu ích không?

0

CÂU HỎI HOT CÙNG CHỦ ĐỀ

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;
}

Xem đáp án » 14/10/2022 343

Câu 2:

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

Xem đáp án » 14/10/2022 238

Câu 3:

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:

Xem đáp án » 14/10/2022 229

Câu 4:

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:

Xem đáp án » 14/10/2022 221

Câu 5:

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:

Xem đáp án » 14/10/2022 215

Câu 6:

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

Xem đáp án » 14/10/2022 206

Câu 7:

Đị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ả:

Xem đáp án » 14/10/2022 193

Câu 8:

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

Xem đáp án » 14/10/2022 182

Câu 9:

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

Xem đáp án » 14/10/2022 178

Câu 10:

Đ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

Xem đáp án » 14/10/2022 174

Câu 11:

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:

Xem đáp án » 14/10/2022 173

Câu 12:

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

Xem đáp án » 14/10/2022 171

Câu 13:

Đố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.

Xem đáp án » 14/10/2022 156

Câu 14:

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:

Xem đáp án » 14/10/2022 149

Câu 15:

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

Xem đáp án » 14/10/2022 142