1.Dễ
Thao tác nào là O(1) với mảng nhưng O(n) với danh sách liên kết đơn?
- ATruy cập phần tử ở chỉ số i
- BChèn vào đầu
- CXóa phần tử đầu
- DĐọc phần tử đầu tiên
2.Dễ
Cấu trúc dữ liệu nào phù hợp nhất cho tính năng "hoàn tác" (undo) trong trình soạn thảo văn bản?
- ATập băm
- BHàng đợi (queue)
- CNgăn xếp (stack)
- DĐồ thị
3.Dễ
Trong một cây, các nút anh em (sibling) là gì?
- AMột nút và cha của nó
- BCác nút có chung một nút cha
- CCác nút cùng độ sâu ở những cây con khác nhau
- DCác nút không có con
4.Trung bình
Kiểm tra cạnh (u, v) có tồn tại hay không bằng ma trận kề mất bao lâu?
- AO(E)
- BO(log V)
- CO(1)
- DO(V)
5.Trung bình
Trong đống nhị phân min lưu trong mảng (chỉ số bắt đầu từ 0), các con của nút ở chỉ số i nằm ở:
- Ai + 1 và i + 2
- B2i + 1 và 2i + 2
- C2i và 2i + 1
- Di/2 và i/2 + 1
6.Trung bình
Chi phí chèn một phần tử vào giữa mảng n phần tử là bao nhiêu?
- AO(n²), vì mỗi phần tử di chuyển n lần
- BO(log n), nhờ tìm kiếm nhị phân
- CO(n), vì các phần tử phía sau phải dịch chuyển
- DO(1), vì đã biết chỉ số
7.Khó
Làm thế nào phát hiện danh sách liên kết đơn có chu trình hay không bằng O(1) bộ nhớ thêm?
- ALưu mọi nút đã thăm trong một tập băm
- BĐếm số nút cho đến khi số đếm vượt trường độ dài của danh sách
- CSắp xếp danh sách và tìm phần tử trùng
- DDi chuyển một con trỏ một bước và con trỏ kia hai bước rồi kiểm tra chúng có gặp nhau không
8.Khó
Với băm đồng nhất đơn giản, thời gian kỳ vọng của một lần tìm kiếm trong bảng băm xâu chuỗi, với n khóa và m ngăn, là bao nhiêu?
- AO(1 + α), với α = n / m
- BO(n)
- CO(m)
- DO(log n)
Đáp án
- 1. A · Truy cập phần tử ở chỉ số i
- 2. C · Ngăn xếp (stack)
- 3. B · Các nút có chung một nút cha
- 4. C · O(1)
- 5. B · 2i + 1 và 2i + 2
- 6. C · O(n), vì các phần tử phía sau phải dịch chuyển
- 7. D · Di chuyển một con trỏ một bước và con trỏ kia hai bước rồi kiểm tra chúng có gặp nhau không
- 8. A · O(1 + α), với α = n / m
Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.