220 câu trắc nghiệm Cấu trúc dữ liệu và giải thuật
Nhằm giúp các bạn ôn tập và hệ thống lại kiến thức nhanh chóng để đạt kết quả cao trong kì thi sắp tới, tracnghiem.net tổng hợp và chia sẻ đến các bạn 220 câu trắc nghiệm Cấu trúc dữ liệu và giải thuật (có đáp án). Hi vọng sẽ trở thành nguồn tài liệu bổ ích giúp các bạn học tập và nghiên cứu một cách tốt nhất. Để ôn tập hiệu quả các bạn có thể ôn theo từng phần trong bộ câu hỏi này bằng cách trả lời các câu hỏi và xem lại đáp án và lời giải chi tiết. Sau đó các bạn hãy chọn mục "Thi thử" để hệ thống lại kiến thức đã ôn. Chúc các bạn thành công với bộ đề "Cực Hot" này nhé.
Chọn hình thức trắc nghiệm (20 câu/20 phút)
Chọn phần
-
Câu 1:
Với cấu trúc dữ liệu như sau:
typedef struct DNode
{ i
nt 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
A. CurrNode = CurrNode ->NextNode ;
B. CurrNode = CurrNode ->Key ;
C. CurrNode ->NextNode = CurrNode;
D. CurrNode ->Key = CurrNode;
-
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;
}
}
A. Hủy phần tử đầu của Stack
B. Hủy phần tử cuối của Stack
C. Hủy phần tử cuối của Stack và lấy giá trị đó in ra màn hìn
D. Hủy toàn bộ Stack
-
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);
}
A. lt(12) = 2010
B. lt(12) = 1024
C. lt(7) = 720
D. lt(6) = 64
-
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:
A. 2 3 4
B. 1 2 3
C. 2 3 5
D. 1 4 5
-
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);
}
A. 1
B. 2
C. 3
D. 4
-
Câu 6:
Dấu hiệu nào dưới đây cho biết danh sách liên kết đơn L là rỗng:
A. (L->left == NULL)
B. (L->ìnfor == NULL)
C. (L->next == NULL)
D. (L == NULL)
-
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:
A. 1 4 2 3 5
B. 5 4 3 2 1
C. 1 4 5 3 2
D. 1 3 4 2 5
-
Câu 8:
Thao tác nào dưới đây thực hiện trên hàng đợi (queue):
A. Thêm phần tử vào lối sau
B. Loại bỏ phần tử ở lối sau
C. Thêm phần tử vào lối trước
D. Thêm và loại bỏ phần tử tại vị trí bất kỳ
-
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:
A. Lối trước có giá trị > giá trị của lối sau
B. Lối sau nhận giá trị = 0
C. Lối trước có giá trị < giá trị của lối sau
D. Lối trước nhận giá trị = 0
-
Câu 10:
Thao tác nào dưới đây thực hiện trên ngăn xếp (stack):
A. Thêm phần tử vào vị trí bất kỳ
B. Loại bỏ phần tử tại vị trí bất kỳ
C. Thêm và loại bỏ phần tử luôn thực hiện tại vị trí đỉnh (top)
D. Thêm và loại bỏ phần tử có thể thực hiện tại vị trí bất kỳ
-
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ự:
A. Thứ 1
B. Thứ 2
C. Thứ 23
D. Thứ 24
-
Câu 12:
Nút có khóa nhỏ nhất trong cây nhị phân tìm kiếm khác rỗng là:
A. Nút gốc
B. Tất cả các nút
C. Nút con bên phải nhất
D. Nút con bên trái nhất
-
Câu 13:
Cây nhị phân khác rỗng là cây:
A. Mỗi nút (trừ nút lá) đều có hai nút con
B. Tất cả các nút đều có nút con
C. Mỗi nút có không quá 2 nút con
D. Tất cả các nút đều có nút cha
-
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:
A. là ma trận vuông cấp n
B. là ma trận cấp nxm
C. là ma trận vuông cấp m
D. là ma trận cấp mxn
-
Câu 15:
Đồ thị vô hướng G có chu trình Euler khi và chỉ khi:
A. G liên thông và mọi đỉnh G có bậc chẵn
B. mọi đỉnh G có bậc chẵn
C. G có chu trình Hamilton
D. G có đường đi Euler
-
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:
A. Máy tính
B. Thuật toán được sử dụng
C. Chương trình dịch
D. Kích thước của dữ liệu đầu vào của thuật toán
-
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ể:
A. Khẳng định thuật toán đúng nếu nó cho kết quả đúng
B. Khẳng định thuật toán sai nếu cho kết quả sai
C. Khẳng định thuật toán tốt nếu cho kết quả nhanh
D. Khẳng định thuật toán hiệu quả nếu cho kết quả đúng
-
Câu 18:
Trong các mệnh đề sau đây, mệnh đề nào sai:
A. Kiểu dữ liệu là một tập hợp nào đó các phần tử dữ liệu cùng chung một thuộc tính
B. kiểu của một ngôn ngữ bao gồm các kiểu dữ liệu đơn và các phương pháp cho phép ta từ các kiểu dữ liệu đã có xây dựng nên các kiểu dữ liệu mới
C. Cấu trúc dữ liệu là các dữ liệu phức tạp, được xây dựng nên từ các kiểu dữ liệu đã có, đơn giản hơn bằng các phương pháp liên kết nào đó
D. Một trong ba mệnh đề trên là sai
-
Câu 19:
Tìm mệnh đề sai trong các mệnh đề sau: Một cấu trúc dữ liệu bao gồm…
A. Một tập hợp nào đó các dữ liệu thành phần
B. Các dữ liệu thành phần đặt sát nhau trong bộ nhớ
-
Câu 20:
Cho danh sách đặc có 10 phần tử. Khi thêm phần tử vào vị trí 4 trong danh sách, vòng lặp dịch chuyển tịnh tiến nội dung các phần tử L->Elements[i]=L->Elements[i+1] sẽ thực hiện:
A. 4 lần
B. 5 lần
C. 6 lần
D. Tất cả đều sai