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

Câu hỏi:

14/07/2024 237

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

A. Việc thêm, bớt các phần tử trong danh sách đặc có nhiều khó khăn do
phải di dời các phần tử khác đi qua chỗ khác

B. Việc truy xuất và tìm kiếm các phần tử của mảng là dễ dàng vì các phần
tử đứng liền nhau nên chúng ta chỉ cần sử dụng chỉ số để định vị vị trí các
phần tử trong danh sách (định vị địa chỉ các phần tử)

C. Mật độ sử dụng bộ nhớ của mảng là tối ưu tuyệt đối

D. Câu a, b, c đú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 340

Câu 2:

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

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

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 227

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 220

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 203

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 181

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 177

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 173

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 172

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 155

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