Lý thuyết trọng tâm tin học 11 - Định hướng Khoa học máy tính kết nối bài 30: Thiết lập thư viện cho chương trình
Tổng hợp kiến thức trọng tâm Tin học 11 - Định hướng Khoa học máy tính kết nối tri thức bài 30: Thiết lập thư viện cho chương trình. Tài liệu nhằm củng cố, ôn tập lại nội dung kiến thức bài học cho học sinh dễ nhớ, dễ ôn luyện. Kéo xuống để tham khảo
Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây
1. THIẾT LẬP THƯ VIỆN CHO CHƯƠNG TRÌNH
a) Một số hàm của thư viện math
- math là một thư viện các hàm chuẩn của Python liên quan đến các tính toán toán học.
Ví dụ:
- sqrt() - hàm tính căn bậc hai
- floor() - làm tròn xuống
- ceil() - làm tròn lên.
- Để đưa thư viện vào bộ nhớ có thể dùng lệnh import hoặc from <thư viện> import <các hàm> như sau:
import math # đưa toàn bộ thư viện math vào bộ nhớ
hoặc
from math import sqrt, floor, ceil # chỉ đưa vào bộ nhớ ba hàm
Ví dụ:
>>> from math import sqrt, floor, ceil
>>> sqrt(5)
2.23606797749979
>>> floor(8.7)
8
>>> ceil(7.1)
8
b) Tự thiết lập thư viện
- Cách thiết lập: Đưa các hàm chuẩn vào một tệp chương trình và đặt tên của tệp này chính là tên thư viện muốn lưu trữ.
- Ví dụ: Tệp chương trình lib.py đóng vai trò như một thư viện. Thư viện này có hai hàm như sau:
lib.py
1 def NhapDL():
2 S = input("Nhập dãy số nguyên cách nhau bởi dấu cách")
3 A = [int(x) for x in S.split()]
4 return A
5 def InsertionSort(A):
6 n = len(A)
7 for i in range(1,n):
8 value = A[i]
9 j = i-1
10 while j >= 0 and A[j] > value:
11 A[j+1] = A[j]
12 j = j-1
13 A[j+1] = value
Chương trình sử dụng thư viện có thể như sau (đặt tệp chương trình này cùng thư mục với tệp thư viện lib.py
1 from lib import *# Đưa tất cả các hàm của thư viện lib vào bộ nhớ
2 A = NhapDL()
3 InsertionSort(A)
4 print(A)
Kết luận: Thư viện chương trình là tập hợp các hàm được đặt trong các mô đun độc lập để dùng chung cho nhiều chương trình khác nhau. Các thư viện này có thể được dùng nhiều lần và có thể cập nhật, nâng cấp bất cứ lúc nào. Trong Python, lệnh import có chức năng đưa thư viện vào bộ nhớ để sẵn sàng sử dụng.
2. CẤU TRÚC DANH SÁCH LIÊN KẾT
2. Cấu trúc danh sách liên kết
- Mỗi danh sách liên kết sẽ bao gồm hai cấu trúc dữ liệu:
- Cấu trúc Node mô tả các phần tử độc lập của danh sách. Tối thiểu mỗi node cần có thông tin dữ liệu key (khóa) và thuộc tính next dùng để kết nối sang phần tử tiếp theo trong danh sách.
- Cấu trúc LL (Linked list) sẽ có thông tin head (đầu) sẽ luôn chỉ vào node đầu tiên của danh sách liên kết.
- Một số lệnh, thao tác chính với kiểu dữ liệu danh sách liên kết:
- Khởi tạo một danh sách liên kết mới.
- Bổ sung một phần tử với khóa k cho trước vào danh sách.
- Tìm kiếm phần tử có khóa k trong danh sách cho trước.
- Xóa phần tử có khóa k trong danh sách.
- Thiết lập một số hàm là các thao tác chuẩn trên dữ liệu danh sách liên kết.
1. Hàm insert(L,k) sẽ bổ sung (chèn) node với khóa k vào đầu của danh sách L.
Chương trình như sau:
1 def insert(L,k):
2 node = Node(k)
3 node.next = L.head
4 L.head = node
2. Hàm delete_first(L) sẽ xóa node đầu tiên của danh sách (nếu danh sách không rỗng).
Chương trình như sau:
1 def delete_first(L,k):
2 if L.head != None:
3 L.head = L.head.next
3. Hàm tìm kiếm phần tử có khóa k trong danh sách L. Nếu tìm thấy sẽ trả về phần tử (node) tương ứng, nếu không tìm thấy trả về None.
Việc tìm kiếm bắt đầu từ node đầu tiên của danh sách (dòng 2). Lần lượt duyệt theo từng phàn tử của danh sách cho đến khi nào tìm thấy phần tử có khóa k hoặc đi đến cuối danh sách thì dừng (các lệnh dòng 3,4).
1 def search(L,k):
2 x = L.head
3 while x != None and x.key != k:
4 x = x.next
5 return x
4. Hàm xóa phần tử có khóa k trong danh sách L.
- Nếu phần tử cần tìm là node đầu tiên của danh sách thì cách xóa giống hàm delete_first().
- Trong trường hợp tổng quát cần duyệt để tìm phần tử của danh sách có khóa k. Trong quá trình tìm luôn lưu trữ biến z là node trước của biến y cần xóa (lệnh x.next = y.next).
5. Hàm show(L) có tính năng hiển thị toàn bộ thông tin của danh sách liên kết.
1 def show(L):
2 x = L.head
3 while x != None:
4 print(x.key, end = " ")
5 x = x.next
6 print()
- Toàn bộ thư viện chuẩn của cấu trúc danh sách liên kết (Đính kèm dưới hoạt động)
- Một số ví dụ thiết lập cấu trúc dữ liệu Linked List:
a) Thiết lập một danh sách rỗng
L = LL()
b) Thiết lập một danh sách bao gồm hai node có khóa là 5, 2.
L = LL()
insert(L,5)
insert(L,2)
c) Thiết lập một danh sách bao gồm các phần tử lấy từ dãy A cho trước
A = [5,2,8,10,0,3]
L = LL()
for k in A:
insert(L,k)
Kết luận:
- Danh sách liên kết là cấu trúc dữ liệu bao gồm:
- Cấu trúc node mô tả các phần tử của danh sách. Mỗi node sẽ có dữ liệu khoá (key) là thông tin chính và thông tin next để kết nối sang phần tử tiếp theo của danh sách.
- Cấu trúc head là đầu của mỗi danh sách liên kết. Head luôn chỉ vào node đầu tiên của danh sách.
- Node cuối cùng của danh sách sẽ có thông tin next = None (dữ liệu rỗng).
- Có thể thiết lập các hàm tìm kiếm, bổ sung hoặc xóa thông tin trên danh sách liên kết.
Nếu chưa hiểu - hãy xem: => Lời giải chi tiết ở đây
Nội dung quan tâm khác
Thêm kiến thức môn học
Giải bài tập những môn khác
Giải sgk lớp 11 KNTT
Giải sgk lớp 11 CTST
Giải sgk lớp 11 cánh diều
Giải SBT lớp 11 kết nối tri thức
Giải SBT lớp 11 chân trời sáng tạo
Giải SBT lớp 11 cánh diều
Giải chuyên đề học tập lớp 11 kết nối tri thức
Giải chuyên đề toán 11 kết nối tri thức
Giải chuyên đề ngữ văn 11 kết nối tri thức
Giải chuyên đề vật lí 11 kết nối tri thức
Giải chuyên đề hóa học 11 kết nối tri thức
Giải chuyên đề sinh học 11 kết nối tri thức
Giải chuyên đề kinh tế pháp luật 11 kết nối tri thức
Giải chuyên đề lịch sử 11 kết nối tri thức
Giải chuyên đề địa lí 11 kết nối tri thức
Giải chuyên đề mĩ thuật 11 kết nối tri thức
Giải chuyên đề âm nhạc 11 kết nối tri thức
Giải chuyên đề công nghệ chăn nuôi 11 kết nối tri thức
Giải chuyên đề công nghệ cơ khí 11 kết nối tri thức
Giải chuyên đề tin học 11 định hướng Khoa học máy tính kết nối tri thức
Giải chuyên đề tin học 11 định hướng Tin học ứng dụng kết nối tri thức
Giải chuyên đề quốc phòng an ninh 11 kết nối tri thức
Giải chuyên đề hoạt động trải nghiệm hướng nghiệp 11 kết nối tri thức
Giải chuyên đề học tập lớp 11 chân trời sáng tạo
Giải chuyên đề học tập lớp 11 cánh diều
Trắc nghiệm 11 Kết nối tri thức
Trắc nghiệm 11 Chân trời sáng tạo
Trắc nghiệm 11 Cánh diều
Bộ đề thi, đề kiểm tra lớp 11 kết nối tri thức
Đề thi Toán 11 Kết nối tri thức
Đề thi ngữ văn 11 Kết nối tri thức
Đề thi vật lí 11 Kết nối tri thức
Đề thi sinh học 11 Kết nối tri thức
Đề thi hóa học 11 Kết nối tri thức
Đề thi lịch sử 11 Kết nối tri thức
Đề thi địa lí 11 Kết nối tri thức
Đề thi kinh tế pháp luật 11 Kết nối tri thức
Đề thi công nghệ cơ khí 11 Kết nối tri thức
Đề thi công nghệ chăn nuôi 11 Kết nối tri thức
Đề thi tin học ứng dụng 11 Kết nối tri thức
Đề thi khoa học máy tính 11 Kết nối tri thức
Bộ đề thi, đề kiểm tra lớp 11 chân trời sáng tạo
Bộ đề thi, đề kiểm tra lớp 11 cánh diều
Đề thi Toán 11 Cánh diều
Đề thi ngữ văn 11 Cánh diều
Đề thi vật lí 11 Cánh diều
Đề thi sinh học 11 Cánh diều
Đề thi hóa học 11 Cánh diều
Đề thi lịch sử 11 Cánh diều
Đề thi địa lí 11 Cánh diều
Đề thi kinh tế pháp luật 11 Cánh diều
Đề thi công nghệ cơ khí 11 Cánh diều
Đề thi công nghệ chăn nuôi 11 Cánh diều
Đề thi tin học ứng dụng 11 Cánh diều
Đề thi khoa học máy tính 11 Cánh diều
Bình luận