200+ Trắc nghiệm Cấu trúc dữ liệu và giải thuật (có đáp án)
Tổng hợp trên 200 câu hỏi trắc nghiệm Cấu trúc dữ liệu và giải thuật có đáp án với các câu hỏi đa dạng, phong phú từ nhiều nguồn giúp sinh viên ôn trắc nghiệm Cấu trúc dữ liệu và giải thuật đạt kết quả cao.
200+ Trắc nghiệm Cấu trúc dữ liệu và giải thuật (có đáp án)
Câu 1: Giải thuật đệ quy là:
A. Trong giải thuật của nó có lời gọi tới một giải thuật khác đã biết kết quả.
B. Trong giải thuật của nó có lời gọi tới chính nó nhưng với phạm vi lớn hơn.
C. Trong giải thuật của nó có lời gọi tới chính nó.
D. Trong giải thuật của nó có lời gọi tới chính nó nhưng với phạm vi nhỏ hơn.
Câu 2: Cho hàm đệ qui sau:
Function Factorial(n)
Begin
if n= 0 then Factorial:=1
else Factorial := n*Factorial(n-1); End;
Sau mỗi lần gọi đệ quy thì giá trị của n là:
A. Tăng lên 1
B. N=0
C. Giảm đi 1
D. N=1
Câu 3: Có Hàm đệ qui sau: Function Factorial(n)
Begin
if n=0 then Factorial:=1
else Factorial := n*Factorial(n-1); End;
Dòng lệnh "if n=0 then Factorial:=1" là:
A. Lặp vô hạn
B. Điều kiện dừng đệ quy
C. Điều kiện không thực hiện đệ quy
D. Lặp 1 lần
Câu 4: Có Hàm đệ qui sau giải bài toán gì?: Function Factorial(n)
Begin
if n=0 then Factorial:=1
else Factorial := n*Factorial(n-1); End;
Tính số cặp thỏ sau n tháng
A. Tính giai thừa n
B. Tính n^n (n mũ n).
C. Tính tích: 1*2*3*…*n
Câu 5: Có Hàm đệ qui sau: Function Factorial(n)
Begin
if n=0 then Factorial:=1
else Factorial := n*Factorial(n-1); End;
Kết quả bằng bao nhiêu khi n=3
A. 6
B. 9
C. 2
D. 8
Câu 6: Hàm đệ qui cho kết quả thế nào? Function Factorial(n)
Begin
Factorial := n*Factorial(n-1); End;
A. Lặp vô hạn vì không có điều kiện dừng
B. Tính giai thừa n
C. Tính số cặp thỏ sau n tháng.
D. Chương trình báo lỗi
Câu 7: Dãy số Fibonacci bắt nguồn từ bài toán cổ về việc sinh sản của các cặp thỏ. Bài toán được đặt ra như sau:
Các con thỏ không bao giờ chết.
Hai tháng sau khi ra đời một cặp thỏ mới sẽ sinh ra một cặp thỏ con.
Khi đã sinh con rồi thì cứ mỗi tháng tiếp theo chúng lại sinh được một cặp con mới. Giả sử bắt đầu từ một cặp thỏ mới ra đời thì đến tháng thứ 5 sẽ có bao nhiêu cặp?
A. 9 cặp
B. 5 cặp
C. 12 cặp
D. 10 cặp
Câu 8: Cho giải thuật đệ quy sau:
Function F(n)
Begin
if n<=2 then F:=1
else F := F(n-1) + F(n-2);
End;
Dòng lệnh “if n<=2 then F:=1” đóng vai trò:
A. Điều kiện dừng đệ quy
B. Lặp 1 lần
C. Điều kiện không thực hiện đệ quy
D. Lặp vô hạn
Câu 9: Cho giải thuật đệ quy sau:
Function F(n:integer):integer;
Begin
if n<=2 then F:=1
else F := F(n-2) + F(n-1) End;
Khi n=4 kết quả của bài toán trên là:
A. 3
B. 8
C. 11
D. 10
Câu 10: Đặc điểm của giải thuật đệ quy:
A. Tất cả đều đúng
B. Sau mỗi lần có lời gọi đệ quy thì kích thước của bài toán được thu nhỏ hơn trước.
C. Có một trường hợp đặc biệt, trường hợp suy biến Khi trường hợp này xảy ra thì bài toán còn lại sẽ được giải quyết theo một cách khác
D. Trong thủ tục đệ quy có lời gọi đến chính thủ tục đó
Câu 11: Giải thuật đệ quy của bài toán "Tháp Hà Nội" như sau:
Procedure Chuyen(n, A, B, C)
Begin
if n=1 then chuyển đĩa từ A sang C else begin
call Chuyen(n-1, a, C, B); call Chuyen(1, A, B, C); call Chuyen(n-1, B, A, C) ; end;
End;
Khi n=3 có bao nhiêu bước chuyển?
A. 8 bước
B. 14 bước
C. 15 bước
D. 16 bước
Câu 12: Danh sách tuyến tính là:
A. Danh sách tuyến tính là một danh sách có dạng (a1, a2, ..., an).
B. Danh sách mà quan hệ lân cận giữa các phần tử được xác định.
C. Danh sách dạng được lưu dưới dạng mảng.
D. Danh sách tuyến tính là một danh sách rỗng.
Câu 13: Ưu điểm của việc cài đặt danh sách bằng mảng:
A. việc truy nhập vào phần tử của mảng được thực hiện trực tiếp dựa vào địa chỉ tính được (chỉ số), nên tốc độ nhanh và đồng đều đối với mọi phần tử.
B. Có thể thay đổi số lượng phần tử theo ý muốn của người dùng.
C. Có thể bổ sung hoặc xóa một phần tử bất kỳ trong mảng.
D. Tất cả các ý trên đều đúng.
Câu 14: Danh sách tuyến tính dạng ngăn xếp là:
A. Là một danh sách tuyến tính trong đó phép bổ sung sung một phần tử vào ngăn xếp được thực hiện ở một đầu, Và phép loại bỏ không thực hiện được.
B. Là một danh sách tuyến tính trong đó phép bổ sung một phần tử vào ngăn xếp và phép loại bỏ một phần tử khỏi ngăn xếp luôn luôn thực hiện ở tại một vị trí bất kì trong danh sách.
C. Là một danh sách tuyến tính trong đó phép bổ sung một phần tử vào ngăn xếp được thực hiện ở một đầu , và phép loại bỏ được thực hiện ở đầu kia.
D. Là một danh sách tuyến tính trong đó phép bổ sung một phần tử vào ngăn xếp và phép loại bỏ một phần tử khỏi ngăn xếp luôn luôn thực hiện ở một đầu gọi là đỉnh .
Câu 15: Danh sách tuyến tính dạng ngăn xếp làm việc theo nguyên tắc:
A. FIFO( first in first out)
B. LILO(last in last out)
C. FOLO( fisrt out last out)
D. LIFO(last in first out)
Câu 16: Khi đổi một số nguyên từ hệ thập phân sang hệ nhị phân thì người ta dùng phép chia liên tiếp cho 2 và lấy các số dư (là các chữ số nhị phân) theo chiều ngược lại.
Cơ chế sắp xếp này chính là cơ chế hoạt động của cấu trúc dữ liệu:
A. Mảng (array)
B. Hàng đợi(Queue)
C. Ngăn xếp (stack)
D. Bản gCâu Record)
Câu 17: S là ngăn xếp , Phép toán thêm phần tử vào ngăn xếp Là Push, phép lấy ra một phần tử từ ngăn xếp là POP, thủ tục sau làm nhiệm vụ gì?
Procedure Chuyen_doi(N); While N <> 0 do
R := N mod 2; {tính số dư trong phép chia N cho 2} call PUSH(S, R);
N := N div 2; {thay N bằng thương của phép chia N cho 2} end;
While not Empty(S) do begin
call POP(S, R);
write(R); end
end.
A. ứng dụng ngăn xếp để đổi số N từ cơ số 10 sang cơ số 2
B. ứng dụng ngăn xếp để tính số dư trong phép chia N cho 2
C. ứng dụng ngăn xếp để Đưa giá trị N vào ngăn xếp và lấy ra giá trị N
D. ứng dụng ngăn xếp để thay N bằng thương của phép chia N cho 2
Câu 18: định nghĩa danh sách tuyến tính Hàng đợi (Queue)
A. Là một danh sách tuyến tính trong đó phép bổ sung một phần tử và phép loại bỏ một phần tử được thực hiện ở tại một vị trí bất kì trong danh sách.
B. Hàng đợi là kiểu danh sách tuyến tính trong đó, phép bổ sung một phần tử được thực hiện ở một đầu, gọi là lối sau (rear) hay lối trước (front). Phép loại bỏ không thực hiện được.
C. Hàng đợi là kiểu danh sách tuyến tính trong đó, phép bổ sung phần tử ở một đầu, gọi là lối sau (rear) và phép loại bỏ phần tử được thực hiện ở đầu kia, gọi là lối trước (front).
D. Hàng đợi là kiểu danh sách tuyến tính trong đó, phép bổ sung một phần tử hay loại bỏ được thực hiện ở một đầu danh sách gọi là đỉnh (Top)
Câu 19: Hàng đợi còn được gọi là danh sách kiểu:
A. LOLO
B. FILO
C. LIFO
D. FIFO
Câu 20: Để thêm một đối tượng x bất kỳ vào Stack, thao tác thường dùng là:
A. EMPTY(x).
B. TOP(x).
C. PUSH(x).
D. POP(x).
Câu 21: Để lấy loại bỏ một đối tượng ra khỏi Stack, thao tác thường dùng là: “
A. FULL(x)
B. EMPTY(x)
C. POP(x)
D. PUSH(x)
Câu 22: Để biểu diễn Stack, ta thường sử dụng kiểu dữ liệu nào sau đây?
A. Kiểu bản ghi
B. Danh sách móc nối và mảng dữ liệu
C. Danh sách móc nối
D. Mảng dữ liệu
Câu 23: Thao tác POP(x) dùng trong Stack là để:
A. Xóa bỏ một phần tử bất kì khỏi Stack
B. Xóa bỏ một dãy các phần tử ra khỏi Stack
C. Lấy phần tử đầu tiên ra khỏi Stack
D. Lấy một phần tử cuối cùng ra khỏi đỉnh Stack
Câu 24: Thao tác Push(x) dùng trong Stack là để:
A. Bổ sung một dãy các phần tử vào đỉnh Stack.
B. Bổ sung một phần tử bất kì vào Stack
C. Bổ sung một phần tử vào đỉnh Stack
D. Bổ sung một phần tử vào đầu Stack
Câu 25: Cho Stack gồm 5 phần tử {12, 5, 20, 23, 25}, trong đó 25 là phần tử ở đỉnh Stack. Để lấy ra phần tử thứ 4 trong Stack ta phải làm thế nào?
A. POP(23),PUSH(25).
B. POP(25),PUSH(23)
C. POP(25),POP(23), PUSH(25)
D. POP(25),POP(23)
Câu 26: Cho Stack gồm 5 phần tử {12, 5, 20, 23, 25}, trong đó 25 là phần tử ở đỉnh Stack. Để lấy ra phần tử thứ 5 trong Stack ta phải làm thế nào?
A. POP(25),POP(23), PUSH(23)
B. POP(25)
C. POP(23),PUSH(25)
D. POP(25),PUSH(23)
Câu 27: Cho Stack gồm 5 phần tử {12, 5, 20, 23, 25}, trong đó 25 là phần tử ở đỉnh Stack. Để lấy ra phần tử thứ 3 trong Stack ta phải làm thế nào?
A. POP(25), POP(23), POP(20), PUSH(23), PUSH(25)
B. POP(25), POP(23), PUSH(20), PUSH(25), PUSH(23)
C. POP(25), POP(23), POP(20)
D. POP(25), POP(23), POP(20), PUSH(25), PUSH(23)
Câu 28: Trong lưu trữ dữ liệu kiểu Stack, giải thuật sau thực hiện công việc gì? Procedure F(X)
Begin T:=T+1; S[T]:=X;
End;
A. Kiểm tra Stack có tràn không
B. Kiểm tra Stack có cạn không
C. Bổ sung một phần tử vào Stack
D. Loại bỏ một phân tử ra khỏi Stack
Câu 29: Trong lưu trữ dữ liệu kiểu Stack, giải thuật F chính là: Procedure F(X)
Begin T:=T+1; S[T]:=X;
End;
A. TOP
B. FULL
C. POP
D. PUSH
Câu 30: Trong lưu trữ dữ liệu kiểu Stack, giải thuật sau thực hiện công việc gì? Function P
Begin T:=T-1;
P:=S[t+1];
End;
A. Bổ sung một phần tử ra khỏi Stack
B. Kiểm tra Stack có cạn không
C. Loại bỏ một phần tử vào Stack
D. Kiểm tra Stack có tràn không
................................
................................
................................
Xem thêm câu hỏi trắc nghiệm các môn học Đại học có đáp án hay khác:
Sách VietJack thi THPT quốc gia 2025 cho học sinh 2k7:
- Soạn văn 12 (hay nhất) - KNTT
- Soạn văn 12 (ngắn nhất) - KNTT
- Giải sgk Toán 12 - KNTT
- Giải Tiếng Anh 12 Global Success
- Giải sgk Tiếng Anh 12 Smart World
- Giải sgk Tiếng Anh 12 Friends Global
- Giải sgk Vật Lí 12 - KNTT
- Giải sgk Hóa học 12 - KNTT
- Giải sgk Sinh học 12 - KNTT
- Giải sgk Lịch Sử 12 - KNTT
- Giải sgk Địa Lí 12 - KNTT
- Giải sgk Giáo dục KTPL 12 - KNTT
- Giải sgk Tin học 12 - KNTT
- Giải sgk Công nghệ 12 - KNTT
- Giải sgk Hoạt động trải nghiệm 12 - KNTT
- Giải sgk Giáo dục quốc phòng 12 - KNTT
- Giải sgk Âm nhạc 12 - KNTT
- Giải sgk Mĩ thuật 12 - KNTT