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

Câu hỏi:

10/07/2024 185

Cho thuật toán tìm nhị phân không đệ quy sau:
int NRecBinarySearch (int M[], int N, int X)
{ int First = 0;
int Last = N – 1;
while (First <= Last)
{
int Mid = (First + Last)/2;
if (X == M[Mid])
return(Mid);
if (X < M[Mid])
Last = Mid – 1;
else
First = Mid + 1;
}
return(-1);
}
Chọn câu đúng nhất trong trường hợp tốt nhất khi phần tử ở giữa của mảng có giá trị bằng X:

A. Số phép gán: Gmin = 3 Số phép so sánh: Smin = 2

Đáp án chính xác

B. Số phép gán: Gmin = 2 Số phép so sánh: Smin = 3

C. Số phép gán: Gmin = 2 Số phép so sánh: Smin = 2

D. Số phép gán: Gmin = 0 Số phép so sánh: Smin = 2

Trả lời:

verified Giải bởi Vietjack

Chọn đáp án A

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:

Cấu trúc dữ liệu cho kiểu dữ liệu sinh viên như sau:
typedef struct tagSV{
char MSSV[8];
char Ten[30];
char NgaySinh[11];
float DTB;
}SV;
Khai báo
SV sv1, *sv2;
Lựa chọn các câu đúng nhất để gán giá trị cho mã sinh viên của sv1 và sv2:

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

Câu 2:

Cấu trúc dữ liệu nào tương ứng với LIFO?

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

Câu 3:

Lựa chọn câu đúng nhất về danh sách liên kết đôi (Doubly Linked List):

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

Câu 4:

Chọn định nghĩa đúng nhất đối với cây nhị phân tìm kiếm:

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

Câu 5:

Cho thuật toán sau:
int LinearSearch (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:

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

Câu 6:

Cho thuật toán sau:
int LinearSearch (float M[], int N, float X)
{
int k = 0;
M[N] = X;
while (M[k] != X) //n+1 lan
(M[k] != X) //n+1 lan 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:

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

Câu 7:

Chiều dài đường đi của một cây (path’s length of the tree) được định nghĩa là tổng tất cả các chiều dài đường đi của tất cả các nút trên cây. Xét cây sau:
Chiều dài đường đi của một cây (path’s length of the tree) được định nghĩa là tổng tất cả các chiều dài đường đi của tất cả các nút trên cây. Xét cây sau: (ảnh 1)

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

Câu 8:

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

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

Câu 9:

Cho cây biểu thức sau:
Cho cây biểu thức sau: Chọn biểu thức tương ứng với cây (ảnh 1)
Chọn biểu thức tương ứng với cây

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

Câu 10:

Chọn định nghĩa đúng nhất về hàng đợi (Queue):

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

Câu 11:

Tìm kiếm xem trong danh sách liên kết đơn có tồn tại nút có thành phần dữ liệu là SearchData hay không. Thao tác này chúng ta vận dụng thuật toán tìm tuyến tính để tìm kiếm:
typedef struct Node
{
int Data;
Node * Link;
} OneNode;'
typedef OneNode * Pointer;
Pointer SSList; // Quản lý danh sách liên kết đơn bởi 1 phần tử đầu
B1: CurNode = SLList
B2: IF (………………………………………………)
Thực hiện BKT
B3: CurNode = CurNode->Link
B4: Lặp lại B2
BKT: Kết thúc
Chọn điều kiện hợp lý cho mã giả ở B2

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

Câu 12:

Biểu diễn và tổ chức ngăn xếp (Stack) bằng danh sách liên kết giả sử bề mặt của ngăn xếp là đầu danh sách liên kết:
typedef struct SElement
{ T Key;
SElement *Next;
} SOneElement;
typedef struct SOneElement *SSTACK;
SSTACK SSP;
Thêm 1 phần tử vào ngăn xếp (dùng cấu trúc dữ liệu mô tả ở trên)
B1: NewElement = Khởi tạo nút mới (dùng toán tử new)
B2: if (NewElement == NULL)
Thực hiện BKT
B3: if (SSP == NULL)
B3.1: SSP = NewElement
B3.2: Thực hiện BKT
B4: …………………………………………
B5: …………………………………………
BKT: Kết thúc
Chọn câu lệnh chính xác cho B4 và B5

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

Câu 13:

Với cấu trúc dữ liệu như sau:
typedef struct DNode
{
int Key;
DNode * NextNode;
DNode * PreNode;
} DOneNode
typedef DLLOneNode * DPointerType;
typedef struct DPairNode
{ DPointerType DLLFirst;
DPointerType DLLLast;
} DPType;
Hàm thêm phần tử vào cuối danh sách liên kết đôi quản lý bởi 2 phần
tử đầu và cuối
DPointerType DLLAddLast(DPType &DList, int NewData)
{
DPointerType NewNode = gọi hàm tạo nút mới có vùng dữ liệu là
NewData ;
if (NewNode == NULL)
return (NULL);
if (DList.DLLLast == NULL)
DList.DLLFirst = DList.DLLLast = NewNode;
else
{
……………………………………………….
……………………………………………….
………………………………………………
}
return (NewNode);
} Hãy lựa chọn câu đúng nhất để điền vào chỗ trống ở trên

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

Câu 14:

Chọn định nghĩa đúng nhất về cây cân bằng tương đối:

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

Câu 15:

Khi cần thêm một phần tử có giá trị thành phần dữ liệu là NewData (là một số nguyên) vào đầu của danh sách liên kết đơn dùng thuật toán có mã giả mô tả như dưới đây?
typedef struct Node
{
int Data; Node * NextNode;
} OneNode; typedef OneNode * SLLPointer;
SLLPointer SSList;
B1: NewNode = new OneNode
B2: IF (NewNode = NULL) Thực hiện BKT
B3: NewNode ->NextNode = NULL
B4: NewNode ->Data = NewData B5: NewNode->NextNode = SLList
B6: SLList = NewNode BKT: Kết thúc
Tìm mô tả chính xác cho B5

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