Haylamdo biên soạn và sưu tầm với 15 câu hỏi trắc nghiệm Tin học 11 Bài 15: Cấu trúc dữ liệu danh sách liên kết và ứng dụng có đáp án chi tiết đầy đủ các mức độ sách Cánh diều sẽ giúp học sinh lớp 11 ôn luyện trắc nghiệm Tin 11 Khoa học máy tính.
Trắc nghiệm Tin học 11 Bài 15: Cấu trúc dữ liệu danh sách liên kết và ứng dụng - Cánh diều
PHẦN I. Câu trắc nghiệm nhiều phương án lựa chọn. Thí sinh trả lời từ câu 1 đến câu 10. Mỗi câu hỏi thí sinh chỉ lựa chọn một phương án.
Câu 1: Danh sách liên kết (linked list) là gì?
A. Một cấu trúc dữ liệu lưu trữ các phần tử liên tiếp trong bộ nhớ.
B. Một cấu trúc dữ liệu chứa các nút không liên tục trong bộ nhớ.
C. Một mảng động.
D. Một loại cây.
Đáp án: B
Giải thích: Danh sách liên kết bao gồm các nút không được lưu trữ thành một khối liên tục mà có thể nằm rải rác trong bộ nhớ.
Câu 2: Thành phần nào không phải của một nút trong danh sách liên kết?
A. Data
B. Next
C. Previous
D. Address
Đáp án: D
Giải thích: Thành phần của một nút trong danh sách liên kết bao gồm Data và Next (hoặc Previous trong danh sách liên kết kép). "Address" không phải là một thành phần riêng biệt.
Câu 3: Thời gian thực hiện việc thêm nút vào đầu danh sách liên kết là bao nhiêu?
A. O(n)
B. O(1)
C. O(log n)
D. O(n2)
Đáp án: B
Giải thích: Thêm nút vào đầu danh sách liên kết có thời gian thực hiện là O(1), không phụ thuộc vào độ dài của danh sách.
Câu 4: Khi nào danh sách liên kết sẽ có lợi thế hơn danh sách mảng?
A. Khi cần lưu trữ một tập hợp số lượng cố định các phần tử.
B. Khi cần thực hiện nhiều thao tác thêm và gỡ bỏ phần tử.
C. Khi cần duyệt qua từng phần tử theo chỉ số.
D. Khi kích thước của danh sách không thay đổi
Đáp án: B
Giải thích: Danh sách liên kết có lợi thế khi cần thực hiện nhiều thao tác thêm và gỡ bỏ phần tử ở bất kỳ vị trí nào trong danh sách.
Câu 5: Khi gỡ bỏ nút trong danh sách liên kết, điều gì cần được thực hiện?
A. Chỉ cần thay đổi giá trị Data của nút.
B. Thay đổi con trỏ của nút trước nó để trỏ đến nút sau nó.
C. Chỉ cần xóa nút đó mà không cần làm gì khác.
D. Thay đổi con trỏ Head để trỏ đến nút tiếp theo.
Đáp án: B
Giải thích: Để gỡ bỏ một nút, cần phải thay đổi con trỏ của nút trước nó để trỏ đến nút sau nó, điều này giúp duy trì tính liên kết của danh sách.
Câu 6: Danh sách liên kết kép có đặc điểm gì khác so với danh sách liên kết đơn?
A. Chỉ có một con trỏ Next.
B. Có cả con trỏ Next và Prev.
C. Không thể duyệt ngược.
D. Các nút được lưu trữ liên tục trong bộ nhớ
Đáp án: B
Giải thích: Danh sách liên kết kép có cả con trỏ Next (trỏ đến nút tiếp theo) và con trỏ Prev (trỏ đến nút trước đó).
Câu 7: Điều nào là một nhược điểm của danh sách liên kết so với mảng?
A. Không cần quản lý bộ nhớ.
B. Không bị giới hạn về kích thước.
C. Tốn thêm bộ nhớ để lưu trữ con trỏ.
D. Thời gian truy cập ngẫu nhiên chậm hơn
Đáp án: C
Giải thích: Danh sách liên kết cần thêm bộ nhớ để lưu trữ con trỏ Next, đây là nhược điểm so với mảng.
Câu 8: Khi nào danh sách liên kết thường được sử dụng trong thực tế?
A. Khi số lượng phần tử là cố định.
B. Khi cần thực hiện nhiều thao tác tìm kiếm.
C. Khi độ dài danh sách thay đổi nhanh và nhiều.
D. Khi không cần thay đổi danh sách.
Đáp án: C
Giải thích: Danh sách liên kết phát huy ưu điểm trong những trường hợp mà độ dài danh sách thay đổi nhanh và nhiều trong quá trình sử dụng.
Câu 9: Phép tìm kiếm trong danh sách liên kết có độ phức tạp là gì?
A. O(1)
B. O(n)
C. O(log n)
D. O(n^2)
Đáp án: B
Giải thích: Phép tìm kiếm trong danh sách liên kết có độ phức tạp là O(n) vì cần phải thực hiện tìm kiếm tuần tự từ đầu danh sách.
Câu 10: Tại sao danh sách liên kết lại được ưa chuộng trong mô hình hóa một mạng lưới?
A. Vì các phần tử được lưu trữ liên tục.
B. Vì dễ dàng thực hiện thêm, gỡ bỏ nút.
C. Vì không cần sử dụng con trỏ.
D. Vì không cần làm gì khi có thay đổi.
Đáp án: B
Giải thích: Danh sách liên kết cho phép thực hiện dễ dàng các thao tác thêm và gỡ bỏ nút, điều này rất quan trọng trong việc mô hình hóa mạng lưới hoặc cấu trúc phân cấp.
PHẦN II. Câu trắc nghiệm đúng sai. Thí sinh trả lời từ câu 1 đến câu 2. Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai
Câu 1: Danh sách liên kết có những ưu điểm gì so với mảng?
a) Thời gian thực hiện thao tác thêm và gỡ bỏ nút là O(1).
b) Danh sách liên kết lưu trữ các nút thành một khối liên tục trong bộ nhớ.
c) Danh sách liên kết không cần chỉ số để truy cập các nút.
d) Danh sách liên kết chiếm ít bộ nhớ hơn so với mảng.
a) Đúng. Thời gian thực hiện thao tác thêm và gỡ bỏ nút trong danh sách liên kết là O(1), không phụ thuộc vào độ dài của danh sách, điều này giúp tăng hiệu suất trong một số tình huống.
b) Sai. Danh sách liên kết không lưu trữ các nút thành một khối liên tục mà có thể nằm rải rác trong bộ nhớ, đây là điểm khác biệt chính giữa danh sách liên kết và mảng.
c) Đúng. Trong danh sách liên kết, các nút không có chỉ số như trong mảng. Thay vào đó, chúng được truy cập thông qua các con trỏ, cho phép linh hoạt hơn trong việc thêm và gỡ bỏ nút.
d) Sai. Danh sách liên kết thường chiếm nhiều bộ nhớ hơn so với mảng do cần lưu trữ thêm thông tin về con trỏ.
Câu 2: Trong các ứng dụng của danh sách liên kết, điều gì là đúng?
a) Danh sách liên kết thường được sử dụng để mô hình hóa một mạng lưới hay cây phân cấp.
b) Danh sách liên kết không thể thực hiện thao tác thêm phần tử vào giữa danh sách.
c) Việc cập nhật danh sách top N cần thao tác gỡ bỏ và chèn phần tử ở các vị trí bất kỳ.
d) Danh sách liên kết không thể được sử dụng khi độ dài danh sách thay đổi nhanh.
a) Đúng. Danh sách liên kết rất phù hợp để mô hình hóa các cấu trúc như mạng lưới hoặc cây phân cấp do tính linh hoạt trong việc thay đổi kích thước và cấu trúc của nó.
b) Sai. Danh sách liên kết hoàn toàn có thể thực hiện thao tác thêm phần tử vào giữa danh sách thông qua việc thay đổi các con trỏ.
c) Đúng. Để cập nhật danh sách top N, cần thực hiện các thao tác như gỡ bỏ một số phần tử tại các vị trí bất kỳ và chèn thêm phần tử vào vị trí bất kỳ, điều này dễ dàng thực hiện trong danh sách liên kết.
d) Sai. Một trong những ưu điểm của danh sách liên kết là nó có khả năng thay đổi độ dài một cách linh hoạt mà không gặp phải các giới hạn như trong mảng.
PHẦN III. Câu trả lời ngắn. Thí sinh trả lời từ câu 1 đến câu 3
Câu 1: Danh sách liên kết có ưu điểm gì so với mảng trong việc thêm và gỡ bỏ nút?
Đáp án: Danh sách liên kết cho phép thực hiện thao tác thêm và gỡ bỏ nút với thời gian O(1), không phụ thuộc vào độ dài của danh sách.
Giải thích: Khi thêm một nút mới vào danh sách liên kết, ta chỉ cần cập nhật các con trỏ mà không cần di chuyển các nút khác, điều này giúp tiết kiệm thời gian. Ngược lại, trong mảng, việc thêm hoặc gỡ bỏ một nút có thể yêu cầu di chuyển nhiều phần tử để duy trì cấu trúc, dẫn đến độ phức tạp lớn hơn.
Câu 2: Tại sao danh sách liên kết thích hợp cho việc quản lý danh sách đứng đầu top N?
Đáp án: Danh sách liên kết cho phép linh hoạt trong việc gỡ bỏ và chèn thêm phần tử tại bất kỳ vị trí nào trong danh sách.
Giải thích: Trong một danh sách top N, các bài hát có thể được thêm, gỡ bỏ hoặc cập nhật thường xuyên. Danh sách liên kết cho phép thực hiện các thao tác này một cách dễ dàng và hiệu quả mà không cần di chuyển nhiều phần tử, điều này rất quan trọng khi danh sách cần cập nhật nhanh chóng.
Câu 3: Một trong những nhược điểm của danh sách liên kết là cần thêm bộ nhớ để lưu trữ con trỏ cho mỗi nút.
Đáp án: Một trong những nhược điểm của danh sách liên kết là cần thêm bộ nhớ để lưu trữ con trỏ cho mỗi nút.
Giải thích: Mỗi nút trong danh sách liên kết không chỉ lưu trữ dữ liệu mà còn cần bộ nhớ cho con trỏ trỏ đến nút tiếp theo. Điều này dẫn đến việc tiêu tốn thêm bộ nhớ so với mảng, nơi mà các phần tử được lưu trữ liên tục và không cần thêm bộ nhớ cho con trỏ. Do đó, trong các trường hợp mà bộ nhớ hạn chế, mảng có thể là lựa chọn tốt hơn.
Xem thêm câu hỏi trắc nghiệm Tin học lớp 11 Cánh diều có đáp án hay khác: