Giáo án ppt chuyên đề KHMT 12 kết nối: Bài 4 Kiểu dữ liệu hàng đợi
Giáo án ppt chuyên đề Tin học khoa học máy tính 12 kết nối tri thức: Bài 4 Kiểu dữ liệu hàng đợi. Bài giảng thiết kế hiện đại, sáng tạo giúp tiết học thêm phần thú vị, giúp giáo viên tiết kiệm thời gian nhưng vẫn có thể ứng dụng công nghệ vào công tác giảng dạy.
Nội dung chi tiết











... Còn nữa ...
BÀI 4: KIỂU DỮ LIỆU HÀNG ĐỢI
Chào mừng các em đến với bài học ngày hôm nay!
A. KHỞI ĐỘNG
Từ các bài học trước, em đã biết viết chương trình đơn giản để sử dụng các hàm cơ bản của ngăn xếp được cài đặt bằng danh sách (kiểu list của Python). Em hãy trả lời các câu hỏi sau:
a) Có thể cài đặt hàng đợi bằng mảng một chiều tương tự như ngăn xếp được không?
b) Khi cài đặt hàng đợi bằng mảng một chiều, cần có thông tin nào để thực hiện phép toán thêm vào và lấy ra?
B. HÌNH THÀNH KIẾN THỨC
Hoạt động 1. Dùng kiểu dữ liệu mảng để biểu diễn hàng đợi
Theo em, hàng đợi được cài đặt bằng một danh sách (kiểu list của Python) có những trường hợp nào?
Dự kiến sản phẩm:
1. Biểu diễn hàng đợi bằng mảng một chiều
Hàng đợi được cài đặt bằng một danh sách (kiểu list của Python) có các trường hợp sau:
a) Khởi tạo hàng đợi Q là rỗng; nghĩa là Q là danh sách rỗng.
![]()
Hình 4.1a. Hàng đợi rỗng
b) Phép toán enqueue(Q,x):
- Dùng để thêm x vào đuôi (back) của hàng đợi Q, nghĩa là thêm x vào cuối danh sách.
- Đầu (front) của hàng đợi là phần tử đầu tiên và đuôi (back, rear, tail) của hàng đợi là phần tử cuối của danh sách.
Ví dụ: Hình 4.1b cho thấy quá trình thêm các giá trị 5, 2, –4, 10, –8, 11 vào hàng đợi.

Hình 4.1b. Hàng đợi với phép toán
thêm vào
c) Phép toán dequeue(Q) dùng để lấy ra và trả về phần tử ở đầu (front) của hàng đợi Q, nghĩa là lấy ra phần tử đầu tiên của danh sách.
Ví dụ: Hình 4.1c cho thấy hàng đợi sau khi lấy ra một phần tử.

Hình 4.1c. Hàng đợi với phép toán lấy ra
Có thể biểu diễn hàng đợi bằng list của Python:

Lưu ý: Dùng kiểu dữ liệu danh sách (list) của Python để biểu diễn hàng đợi chỉ là một cách và không phải là cách duy nhất. Có nhiều cách biểu diễn khác nhưng trong phạm vi Bài 4 chỉ học cách này.
Hoạt động 2. Tìm hiểu các hàm của kiểu dữ liệu hàng đợi
Đọc, trao đổi để biết các hàm cơ bản của hàng đợi được cài đặt bằng danh sách (kiểu list của Python).
Dự kiến sản phẩm:
2. Tìm hiểu các hàm của kiểu dữ liệu hàng đợi
Một số hàm cơ bản của hàng đợi được cài đặt bằng danh sách (kiểu list của Python):
* Đầu (front) của hàng đợi Q là phần tử đầu tiên của danh sách, nghĩa là biến front = 0. Đuôi (rear) của hàng đợi Q là phần tử cuối của danh sách, nghĩa là biến rear = len(Q)-1. Do đó, không cần các biến front và rear.
a) Hàm Queue() dùng để tạo hàng đợi rỗng, hàm trả về danh sách rỗng:

Lệnh tạo hàng đợi Q rỗng (Q là danh sách rỗng):
![]()
b) Hàm enqueue(Q,x) dùng để thêm x vào đuôi (rear) của hàng đợi Q, nghĩa là thêm x vào cuối danh sách Q bằng hàm append():

Lệnh gọi hàm:
![]()
c) Hàm isEmptyQueue(Q):
- Trả về True nếu hàng đợi Q rỗng.
- Ngược lại trả về False.

d) Hàm dequeue(Q):
- Lấy ra phần tử tại đầu (front) của hàng đợi Q (phần tử đầu tiên của danh sách Q) và trả về phần tử này.
- Nếu Q rỗng thì hàm báo lỗi ngoại lệ ValueError và dừng chương trình.

Lệnh gọi hàm:
![]()
e) Hàm front(Q):
- Trả về phần tử tại đầu (front) của hàng đợi Q (phần tử đầu tiên của danh sách) và phần tử này vẫn còn trong hàng đợi Q (hàng đợi Q không bị thay đổi).
- Nếu Q rỗng thì hàm báo lỗi ngoại lệ ValueError và dừng chương trình.

Lệnh gọi hàm:
C. LUYỆN TẬP
Khoanh tròn vào chữ cái đứng trước câu trả lời đúng nhất:
Câu 1. Biến rear của hàng đợi Q có chỉ số là
A. 0.
B. 1.
C. len(Q) – 1.
D. len(Q).
Câu 2. Lệnh gọi hàm thêm x vào đuôi của hàng đợi Q là
A. Q.append(x).
B. def enqueue(Q,x).
C. dequeue(Q,x).
D. enqueue(Q,x).
Câu 3. Hàm front(Q) có độ phức tạp thời gian là
A. O(1).
B. O(n).
C. O(n2).
D. O(n!).
Câu 4. Hàm dequeue(Q) được dùng để làm gì?
A. Lấy ra phần tử tại đuôi (rear) của hàng đợi Q và trả về phần tử này.
B. Trả về phần tử tại đầu (font) của hàng đợi Q và phần tử này vẫn còn trong hàng đợi Q.
C. Lấy ra phần tử tại đầu (font) của hàng đợi Q và trả về phần tử này.
D. Trả về phần tử tại đầu (rear) của hàng đợi Q và phần tử này vẫn còn trong hàng đợi Q.
Câu 5. Giá trị của phần tử ở đuôi (rear) sau khi thực hiện tuần tự các phép toán enqueue(Q,1); enqueue(Q,2); enqueue (Q,7); dequeue(Q); dequeue(Q); enqueue(Q,5); dequeue(Q); enqueue(Q,9) là
A. 5.
B. 9.
C. 1.
D. 7.
Gợi ý trả lời:
Câu 1 | Câu 2 | Câu 3 | Câu 4 | Câu 5 |
C | D | A | C | B |
D. VẬN DỤNG
Câu 1. Hãy giải thích vì sao lệnh dequeue(Q) lại có độ phức tạp thời gian là O(n), với n là độ dài của hàng đợi hiện thời.
Câu 2. Cho trước mảng T gồm N phần tử T[0], T[1], ..., T[N-1]. Hãy viết hàm thiết lập hàng đợi và các thao tác cơ bản với hàng đợi từ mảng T.
Hướng dẫn về nhà:
- Xem lại kiến thức đã học ở Bài 4.
- Xem trước nội dung Bài 5: Thực hành kiểu dữ liệu ngăn xếp và hàng đợi.
Xin trận trọng cảm ơn sự quan tâm theo dõi của các em, hẹn gặp lại!
Tài liệu cùng môn học
- Trắc nghiệm khoa học máy tính 12 kết nối tri thức
- Giáo án word tin học khoa học máy tính 12 kết nối tri thức
- Giáo án ppt tin học khoa học máy tính 12 kết nối tri thức
- Giáo án chuyên đề tin học khoa học máy tính 12 kết nối tri thức
- Giáo án ppt chuyên đề tin học khoa học máy tính 12 kết nối tri thức
- Giải tin học khoa học máy tính 12 kết nối tri thức
- Giải chuyên đề khoa học máy tính 12 kết nối tri thức
- Lý thuyết khoa học máy tính 12 kết nối tri thức
- Bài tập củng cố Khoa học máy tính 12 kết nối tri thức
- Trắc nghiệm đúng sai khoa học máy tính 12 kết nối tri thức
- Trắc nghiệm trả lời ngắn khoa học máy tính 12 kết nối tri thức
- Đề thi tin học khoa học máy tính 12 kết nối tri thức
- Ppt trò chơi AI Tin học 12 Khoa học máy tính Kết nối tri thức
- Video AI mở đầu Tin học 12 Khoa học máy tính kết nối tri thức
Tài liệu khác
- Trắc nghiệm văn 12 kết nối tri thức
- Trắc nghiệm địa lí 12 kết nối tri thức
- Trắc nghiệm hóa học 12 kết nối tri thức
- Trắc nghiệm KTPL 12 kết nối tri thức
- Trắc nghiệm lịch sử 12 kết nối tri thức
- Trắc nghiệm sinh học 12 kết nối tri thức
- Trắc nghiệm toán 12 kết nối tri thức
- Trắc nghiệm quốc phòng 12 kết nối tri thức
- => Xem nhiều môn hơn