220 câu trắc nghiệm Cấu trúc dữ liệu và giải thuật có đáp án - Phần 3
-
15347 lượt thi
-
20 câu hỏi
-
20 phút
Danh sách câu hỏi
Câu 1:
Với cấu trúc dữ liệu như sau:
typedef struct DNode
{
typedef struct DNode
{
int Key;
DNode * NextNode;
DNode * PreNode;
} DOneNode;
typedef DOneNode * DPointerType;
typedef struct DLLPairNode
{ DPointerType DLLFirst;
DPointerType DLLLast;
} DLLPType;
Hàm duyệt qua các nút trong danh sách liên kết đôi quản lý bởi hai địa chỉ nút đầu tiên và nút cuối cùng thông qua DList để xem nội dung thành phần dữ liệu của mỗi nút
void DLLTravelling (DLLPType DList)
{
DPointerType CurrNode = DList.DLLFirst;
while (CurrNode != NULL) { cout <<
CurrNode->Key; …………………………………
}
return;
}
Chọn câu chính xác điền vào chỗ trống để mô tả việc di chuyển từ nút này sang nút khác
DNode * NextNode;
DNode * PreNode;
} DOneNode;
typedef DOneNode * DPointerType;
typedef struct DLLPairNode
{ DPointerType DLLFirst;
DPointerType DLLLast;
} DLLPType;
Hàm duyệt qua các nút trong danh sách liên kết đôi quản lý bởi hai địa chỉ nút đầu tiên và nút cuối cùng thông qua DList để xem nội dung thành phần dữ liệu của mỗi nút
void DLLTravelling (DLLPType DList)
{
DPointerType CurrNode = DList.DLLFirst;
while (CurrNode != NULL) { cout <<
CurrNode->Key; …………………………………
}
return;
}
Chọn câu chính xác điền vào chỗ trống để mô tả việc di chuyển từ nút này sang nút khác
Chọn đáp án A
Câu 2:
Với cấu trúc dữ liệu mô tả cho Stack:
typedef struct SElement
{
int Key;
SElement *Next;
} SOneElement;
typedef SOneElement *SSTACK;
Tìm mô tả chính xác cho hàm sau:
void SSDelete (SSTACK &SList)
{
while (SList != NULL)
{ SSTACK TempElement = SList;
SList = SList ->Next;
TempElement ->Next = NULL;
delete TempElement;
}
}
typedef struct SElement
{
int Key;
SElement *Next;
} SOneElement;
typedef SOneElement *SSTACK;
Tìm mô tả chính xác cho hàm sau:
void SSDelete (SSTACK &SList)
{
while (SList != NULL)
{ SSTACK TempElement = SList;
SList = SList ->Next;
TempElement ->Next = NULL;
delete TempElement;
}
}
Chọn đáp án D
Câu 3:
Kết quả nào đúng khi thực hiện giải thuật sau:
long lt(int n)
{if (n==0) return 1;
else return (2*lt(n-1);
}
long lt(int n)
{if (n==0) return 1;
else return (2*lt(n-1);
}
Chọn đáp án D
Câu 4:
Kết quả nào đúng khi thực hiện giải thuật sau với a[]= {1, 3, 5}; n= 5, k= 3:
![Kết quả nào đúng khi thực hiện giải thuật sau với a[]= {1, 3, 5}; n= 5, k= 3: (ảnh 1)](https://video.vietjack.com/upload2/quiz_source1/2022/07/capture-3-1657803431.png)
Chọn đáp án D
Câu 5:
Kết quả nào đúng khi thực hiện giải thuật sau với a[]= {-3, -3, 15, -3}; n= 4; x= -3:
int FindX(int a[], int n, int x)
{int i;
for (i= n; i>= 1; i--) if (a[i]==x) return (i);
return (-1);
}
int FindX(int a[], int n, int x)
{int i;
for (i= n; i>= 1; i--) if (a[i]==x) return (i);
return (-1);
}
Chọn đáp án D
Câu 7:
Kết quả nào đúng khi thực hiện giải thuật sau với a[]= {1, 3, 5, 4, 2}; n= 5:
![Kết quả nào đúng khi thực hiện giải thuật sau với a[]= {1, 3, 5, 4, 2}; n= 5: (ảnh 1)](https://video.vietjack.com/upload2/quiz_source1/2022/07/capture-4-1657803764.png)
Chọn đáp án A
Câu 9:
Dấu hiệu nào dưới đây cho biết hàng đợi đã có thao tác thêm và loại bỏ phần tử là rỗng:
Chọn đáp án A
Câu 11:
Trong phép duyệt cây nhị phân có 24 nút theo thứ tự sau, nút gốc có thứ tự:
Chọn đáp án D
Câu 14:
Đồ thị G có n đỉnh và m cạnh với m, n thì ma trận kề của G luôn có dạng:
Chọn đáp án A
Câu 16:
Nhân tố nào là nhân tố chính ảnh hưởng đến thời gian tính của một giải thuật:
Chọn đáp án D
Câu 17:
Chọn phát biểu đúng trong các phát biểu dưới đây: bằng cách chạy thử 1 thuật toán với 1 bộ dữ liệu, ta có thể:
Chọn đáp án B