Giải Tin học 11 Bài 15 (Cánh diều): Cấu trúc dữ liệu danh sách liên kết và ứng dụng
Với giải bài tập 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 sách Cánh diều hay nhất, chi tiết giúp học sinh dễ dàng làm bài tập Tin học 11 Bài 15.
Giải 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
Khởi động trang 146 Tin học 11: Em hãy cho biết danh sách mảng có nhược điểm gì?
Lời giải:
Danh sách mảng có nhược điểm sau: Không thể thay đổi kích thước của mảng khi chương trình đang thực hiện
1. Kiểu danh sách này có những đặc điểm gì?
2. Có nên dùng cấu trúc danh sách liên kết để thực hiện kiểu danh sách này hay không?
Lời giải:
Nội dung đang được cập nhật
a) Thêm nút vào cuối danh sánh, thêm nút vào giữa danh sách.
b) Gỡ bỏ nút ở cuối danh sánh, ở đầu danh sách.
Lời giải:
Gợi ý: Mô tả các bước thực hiện các phép toán sau của danh sách liên kết để minh hoạ chúng đều có thời gian là O(1).
b) Kể tên một vài phép toán danh sách của Python không cần dùng đến cho trường hợp này.
Lời giải:
a) Gợi ý:
Một số hàm thao tác với list thông dụng khác:
cmp(list1, list2): so sánh các phần tử của 2 list
len(list): lấy về chiều dài của list
sum(): Trả về tổng giá trị của các phần tử trong list. Hàm này chỉ làm việc với kiểu number.
max(list): Trả về phần tử có giá trị lớn nhất trong list
min(list): Trả về phần tử có giá trị nhỏ nhất trong list
list(seq): Chuyển đổi một tuple thành list
b) Gợi ý:
Phép toán số học: bao gồm phép cộng +, phép trừ -, phép nhân *, phép chia /, phép chia lấy phần dư %, phép lũy thừa **.
Phép so sánh: bao gồm phép so sánh bằng ==, phép so sánh khác !=, phép so sánh lớn hơn, phép so sánh nhỏ hơn, phép so sánh lớn hơn hoặc bằng và phép so sánh nhỏ hơn hoặc bằng.
Phép logic: bao gồm phép and logic and, phép or logic or và phép not logic not.
Phép gán giá trị: bao gồm phép gán giá trị =, phép gán giá trị tăng lên +=, phép gán giá trị giảm đi -= và phép gán giá trị nhân với *=.
Phép chuyển đổi kiểu dữ liệu: bao gồm các phép chuyển đổi kiểu số int, kiểu thập phân float, kiểu chuỗi str và kiểu boolean bool.
Câu hỏi 1 trang 149 Tin học 11: Hãy nêu các phép toán danh sách liên kết có thời gian thực hiện (1)
Lời giải:
Phép toán danh sách liên kết là các thao tác trên các phần tử trong danh sách liên kết. Thời gian thực hiện của các phép toán này phụ thuộc vào cách triển khai danh sách liên kết và thường là O(1) hoặc O(n).
Các phép toán danh sách liên kết có thời gian thực hiện O(1) bao gồm:
- Truy cập phần tử đầu tiên (head) và phần tử cuối cùng (tail) của danh sách liên kết. Thao tác này được thực hiện bằng cách truy cập trực tiếp vào head hoặc tail của danh sách, không cần phải duyệt qua toàn bộ danh sách.
- Thêm phần tử vào đầu danh sách và cuối danh sách. Thao tác này được thực hiện bằng cách tạo một phần tử mới, gán con trỏ next của phần tử mới thành head hoặc tail của danh sách và cập nhật lại head hoặc tail.
- Xóa phần tử đầu danh sách và cuối danh sách. Thao tác này được thực hiện bằng cách giải phóng phần tử head hoặc tail của danh sách và cập nhật lại head hoặc tail.
Lời giải:
Các phép toán danh sách liên kết có thời gian thực hiện O(n) bao gồm:
- Tìm kiếm một phần tử: Để tìm kiếm một phần tử trong danh sách liên kết, ta phải duyệt qua từng nút của danh sách một cách tuần tự để tìm kiếm phần tử cần tìm. Thời gian thực hiện của phép toán này là O(n).
- Chèn một phần tử vào cuối danh sách: Để chèn một phần tử vào cuối danh sách, ta phải duyệt qua từng nút của danh sách để đến cuối danh sách và thực hiện thêm phần tử vào cuối danh sách. Thời gian thực hiện của phép toán này cũng là O(n).
- Xóa một phần tử khỏi danh sách: Để xóa một phần tử khỏi danh sách, ta phải tìm kiếm phần tử đó trong danh sách, sau đó thực hiện xóa phần tử đó bằng cách điều chỉnh các liên kết giữa các nút trong danh sách. Tương tự như tìm kiếm một phần tử, thời gian thực hiện của phép toán này là O(n).
- Đảo ngược danh sách: Để đảo ngược danh sách, ta phải duyệt qua từng nút của danh sách, thay đổi liên kết giữa các nút để đảo ngược danh sách. Vì vậy, thời gian thực hiện của phép toán này là O(n).
Lời giải:
Để truy cập nút chứa dữ liệu X trong danh sách liên kết, ta phải duyệt toàn bộ các nút của danh sách từ đầu đến cuối, kiểm tra giá trị của mỗi nút để tìm nút chứa dữ liệu X. Khi đã tìm được nút chứa dữ liệu X, ta có thể thực hiện các thao tác khác với nút đó, ví dụ như xoá nút đó khỏi danh sách.
Do phải duyệt toàn bộ danh sách, thời gian thực hiện của việc truy cập nút chứa dữ liệu X là O(n), với n là số lượng nút trong danh sách. Trong trường hợp danh sách là danh sách liên kết kép, thao tác truy cập cũng có thể được thực hiện theo chiều ngược lại với độ phức tạp tương tự.
Xem thêm Lời giải bài tập Tin học 11 Cánh diều hay, chi tiết khác:
Bài 10: Thiết kế chương trình từ trên xuống và phương pháp mô đun hoá
Bài 11: Thực hành thiết kế và lập trình theo mo đun
Bài 12: Thực hành thiết kế và lập trình theo mo đun (tiếp theo)
Bài 13: Thực hành thiết kế và lập trình theo mo đun (tiếp theo)
Xem thêm các chương trình khác:
- Soạn văn lớp 11 Cánh diều (hay nhất)
- Văn mẫu lớp 11 - Cánh diều
- Tóm tắt tác phẩm Ngữ văn 11 – Cánh diều
- Tác giả tác phẩm Ngữ văn 11 - Cánh diều
- Giải SBT Ngữ văn 11 – Cánh diều
- Bố cục tác phẩm Ngữ văn 11 – Cánh diều
- Giải Chuyên đề học tập Ngữ văn 11 – Cánh diều
- Nội dung chính tác phẩm Ngữ văn lớp 11 – Cánh diều
- Soạn văn 11 Cánh diều (ngắn nhất)
- Giải sgk Toán 11 – Cánh diều
- Giải Chuyên đề học tập Toán 11 – Cánh diều
- Lý thuyết Toán 11 - Cánh diều
- Giải sbt Toán 11 – Cánh diều
- Giải sgk Tiếng Anh 11 – ilearn Smart World
- Giải sbt Tiếng Anh 11 - ilearn Smart World
- Trọn bộ Từ vựng Tiếng Anh 11 ilearn Smart World đầy đủ nhất
- Giải sgk Vật lí 11 – Cánh diều
- Lý thuyết Vật lí 11 – Cánh diều
- Giải sbt Vật lí 11 – Cánh diều
- Giải Chuyên đề học tập Vật lí 11 – Cánh diều
- Giải sgk Hóa học 11 – Cánh diều
- Giải Chuyên đề học tập Hóa học 11 – Cánh diều
- Lý thuyết Hóa 11 - Cánh diều
- Giải sbt Hóa học 11 – Cánh diều
- Giải sgk Sinh học 11 – Cánh diều
- Lý thuyết Sinh học 11 – Cánh diều
- Giải Chuyên đề học tập Sinh học 11 – Cánh diều
- Giải sbt Sinh học 11 – Cánh diều
- Giải sgk Giáo dục Kinh tế và Pháp luật 11 – Cánh diều
- Giải Chuyên đề học tập Kinh tế pháp luật 11 – Cánh diều
- Lý thuyết Kinh tế pháp luật 11 – Cánh diều
- Giải sbt Kinh tế pháp luật 11 – Cánh diều
- Giải sgk Lịch sử 11 – Cánh diều
- Giải Chuyên đề học tập Lịch sử 11 – Cánh diều
- Lý thuyết Lịch sử 11 - Cánh diều
- Giải sbt Lịch sử 11 – Cánh diều
- Giải sgk Địa lí 11 – Cánh diều
- Giải Chuyên đề học tập Địa lí 11 – Cánh diều
- Lý thuyết Địa lí 11 - Cánh diều
- Giải sbt Địa lí 11 – Cánh diều
- Giải sgk Công nghệ 11 – Cánh diều
- Lý thuyết Công nghệ 11 - Cánh diều
- Giải sbt Công nghệ 11 – Cánh diều
- Giải sgk Giáo dục quốc phòng an ninh 11 – Cánh diều
- Lý thuyết Giáo dục quốc phòng 11 – Cánh diều
- Giải sbt Giáo dục quốc phòng 11 – Cánh diều
- Giải sgk Hoạt động trải nghiệm 11 – Cánh diều