Giáo án chuyên đề Khoa học máy tính 12 kết nối Bài 14: Kĩ thuật duyệt đồ thị theo chiều sâu
Giáo án giảng dạy theo sách Chuyên đề học tập Tin học 12 - Định hướng Khoa học máy tính bộ sách Kết nối tri thức Bài 14: Kĩ thuật duyệt đồ thị theo chiều sâu. Bộ giáo án giúp giáo viên hướng dẫn học sinh mở rộng kiến thức, phát triển năng lực, nâng cao khả năng định hướng nghề nghiệp cho các em sau này. Thao tác tải về rất đơn giản, tài liệu file word có thể chỉnh sửa dễ dàng. Mời quý thầy cô tham khảo bài soạn.
Xem: => Giáo án Tin học 12 - Định hướng Khoa học máy tính kết nối tri thức
Xem toàn bộ: Giáo án chuyên đề Khoa học máy tính 12 kết nối tri thức đủ cả năm
Ngày soạn:…/…/…
Ngày dạy:…/…/…
BÀI 14: KĨ THUẬT DUYỆT ĐỒ THỊ THEO CHIỀU SÂU
(3 tiết)
I. MỤC TIÊU
1. Kiến thức
Sau bài học này, HS sẽ:
Trình bày được ý tưởng của duyệt đồ thị theo chiều sâu.
Mô phỏng được thuật toán duyệt theo chiều sâu.
2. Năng lực
Năng lực chung:
Tự chủ và tự học: Chủ động học tập, tìm hiểu nội dung bài học.
Giải quyết vấn đề và sáng tạo: Trả lời được các câu hỏi, giải quyết được các vấn đề với sự hỗ trợ của công nghệ thông tin và truyền thông.
Giao tiếp và hợp tác: Biết lựa chọn hình thức làm việc nhóm với quy mô phù hợp với yêu cầu và thực hiện tốt nhiệm vụ.
Năng lực Tin học:
Duyệt được đồ thị theo chiều sâu.
3. Phẩm chất
Chăm chỉ: Tích cực tìm tòi và sáng tạo trong học tập.
Trung thực: Thực hiện đúng phần việc của bản thân và hợp tác làm việc nhóm khi được giao nhiệm vụ. Có ý thức báo cáo kết quả một cách chính xác.
Trách nhiệm: Hoàn thành các bài tập theo yêu cầu của GV thông qua hệ thống câu hỏi, phiếu học tập, thông qua sản phẩm.
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU:
1. Đối với giáo viên:
Máy chiếu, máy tính, màn hình hiển thị, hoặc ti vi.
SGK, SGV Chuyên đề học tập Tin học 12 – Định hướng Khoa học máy tính – Kết nối tri thức.
2. Đối với học sinh:
Các dụng cụ học tập theo yêu cầu của GV; SGK Chuyên đề học tập Tin học 12 – Định hướng Khoa học máy tính – Kết nối tri thức.
III. TIẾN TRÌNH DẠY HỌC
A. HOẠT ĐỘNG KHỞI ĐỘNG
a. Mục tiêu: HS làm quen với bài toán duyệt các đỉnh của đồ thị, có liên hệ với các thuật toán duyệt (tìm kiếm) đã biết trên kiểu dữ liệu mảng (một chiều) và dữ liệu cây.
b. Nội dung: GV tổ chức cho HS hoạt động nhóm và thực hiện phần Khởi động SGK tr.65.
c. Sản phẩm học tập: Các nhóm hoàn thành hoạt động Khởi động SGK tr.65.
d. Tổ chức thực hiện:
Bước 1: GV chuyển giao nhiệm vụ học tập
- GV chia lớp thành các nhóm 3 – 4 HS, yêu cầu các nhóm thảo luận và thực hiện hoạt động Khởi động SGK tr.65:
Chúng ta đã biết bài toán và thuật toán duyệt (tìm kiếm) dữ liệu trên các cấu trúc dữ liệu khác nhau: - Kiểu dữ liệu mảng (một hoặc hai chiều). - Kiểu dữ liệu cây (cây nhị phân và cây tìm kiếm nhị phân). Vậy với dữ liệu của đồ thị, việc duyệt các đỉnh của đồ thị sẽ được thực hiện như thế nào? Quan sát hai đồ thị ở Hình 14.1 và thảo luận với bạn cách thực hiện duyệt trên các đỉnh của đồ thị đó. ![]() |
Bước 2: HS thực hiện nhiệm vụ học tập
- Các nhóm quan sát hình ảnh và thảo luận thực hiện nhiệm vụ.
- GV hướng dẫn, hỗ trợ HS (nếu cần thiết).
Bước 3: Báo cáo kết quả hoạt động và thảo luận
- GV mời đại diện một số nhóm trình bày kết quả thảo luận.
- Các nhóm còn lại chú ý lắng nghe, nhận xét và bổ sung (nếu cần thiết).
Gợi ý trả lời:
Có thể duyệt đồ thị theo các cách sau:
+ Duyệt theo chiều sâu: Bắt đầu từ một đỉnh, tiếp tục đi sâu vào đồ thị theo một nhánh cho đến khi không thể đi xa hơn, sau đó quay lại và tiếp tục với nhánh khác.
+ Duyệt theo chiều rộng: Bắt đầu từ một đỉnh, duyệt tất cả các đỉnh kề với nó trước, sau đó mới chuyển sang duyệt các đỉnh ở mức độ sâu tiếp theo.
Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập
GV đánh giá kết quả của HS, dẫn dắt HS vào bài học mới: Duyệt đồ thị là một bài toán quan trọng trong tin học. Có hai cách duyệt đồ thị chính là duyệt theo chiều sâu và duyệt theo chiều rộng. Hôm nay, chúng ta sẽ cùng nhau tìm hiểu phương pháp đầu tiên qua Bài 14: Kĩ thuật duyệt đồ thị theo chiều sâu.
B. HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC
Hoạt động 1. Tìm hiểu ý tưởng của thuật toán duyệt đồ thị theo chiều sâu
a. Mục tiêu: Thông qua một ví dụ cụ thể HS làm quen và biết được cách duyệt đầu tiên: duyệt theo chiều sâu (DFS).
b. Nội dung: GV giao nhiệm vụ; HS làm việc độc lập, tìm hiểu nội dung mục 1. Bài toán duyệt đồ thị và thực hiện nhiệm vụ.
c. Sản phẩm: Ý tưởng của thuật toán duyệt đồ thị theo chiều sâu.
d. Tổ chức thực hiện:
HOẠT ĐỘNG CỦA GV - HS | DỰ KIẾN SẢN PHẨM | |
Bước 1: GV chuyển giao nhiệm vụ học tập - Từ hoạt động Khởi động, GV yêu cầu HS suy nghĩ và trả lời câu hỏi: + Theo em, bài toán duyệt đồ thị là gì? - GV yêu cầu HS đọc Hoạt động 1 – Tìm hiểu ý tưởng của thuật toán duyệt đồ thị theo chiều sâu SGK tr.65, từ đó dẫn dắt HS tìm hiểu kiến thức. Tìm hiểu ý tưởng của thuật toán duyệt đồ thị theo chiều sâu (DFS – Depth First Search). - GV trình bày ý tưởng của thuật toán duyệt đồ thị theo chiều sâu và hướng dẫn HS cách duyệt thông qua ví dụ cụ thể. - GV yêu cầu HS vận dụng kiến thức vừa tìm hiểu, thực hiện hoạt động Củng cố kiến thức tr.67 SGK: Câu 1. Thứ tự các đỉnh trong danh sách kề có ảnh hưởng đến thứ tự các đỉnh được duyệt của thuật toán DFS không? Câu 2. Mô tả quá trình duyệt theo chiều sâu của đồ thị có hướng trong Hình 14.1b nếu xuất phát từ đỉnh 4. Bước 2: HS thực hiện nhiệm vụ học tập - HS tìm hiểu nội dung mục 1 SGK tr.65 – 67 và thực hiện các nhiệm vụ học tập. - GV quan sát và trợ giúp HS (nếu cần thiết). Bước 3: Báo cáo kết quả hoạt động và thảo luận - HS lần lượt trả lời các câu hỏi. - HS khác lắng nghe và nhận xét, bổ sung cho nhau. Hướng dẫn thực hiện hoạt động Củng cố kiến thức SGK tr.67: Câu 1. Có. Câu 2. Quá trình duyệt theo chiều sâu của đồ thị có hướng trong Hình 14.1b xuất phát từ đỉnh 4: 1. Bắt đầu từ đỉnh 4. Duyệt (đánh dấu) đỉnh 4. 2. Danh sách kề của 4 là [3,5]. Tìm được 3 chưa duyệt. Duyệt đỉnh 3. 3. Danh sách kề của 3 là [6]. Tìm được 6 chưa duyệt. Duyệt đỉnh 6. 4. Danh sách kề của 6 là [1,7]. Tìm được 1 chưa duyệt. Duyệt đỉnh 1. 5. Đỉnh 1 không có đỉnh kề. Quay lại đỉnh 6. 6. Danh sách kề của 6 là [1,7]. Tìm được 7 chưa duyệt. Duyệt đỉnh 7. 7. Danh sách kề của 7 là [2]. Tìm được 2 chưa duyệt. Duyệt đỉnh 2. 8. Danh sách kề của 2 là [3]. Không tìm thấy. Quay lại đỉnh 7. 9. Từ đỉnh 7, không tìm thấy, lần lượt quay lại đỉnh 6, quay lại đỉnh 3, quay lại đỉnh 4. 10. Danh sách kề của 4 là [3,5]. Tìm được 5 chưa duyệt. Duyệt đỉnh 5. 11. Danh sách kề của 5 là [6,7]. Không tìm thấy. Quay lại đỉnh 4. 12. Danh sách kề của 4 là [3,5]. Không tìm thấy. Kết thúc duyệt.
Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập - Từ câu trả lời của HS, GV nhận xét, đánh giá quá trình HS thực hiện nhiệm vụ. - GV chốt kiến thức theo Hộp kiến thức.
| 1. Bài toán duyệt đồ thị - Bài toán duyệt đồ thị là cần duyệt (đánh dấu) tất cả các đỉnh bằng cách đi theo các cạnh của đồ thị. - Ý tưởng của thuật toán duyệt đồ thị theo chiều sâu: Mỗi khi xuất phát từ một đỉnh chưa được duyệt, cần đi dọc theo các cạnh theo hướng “sâu” nhất có thể, tức là luôn cố gắng duyệt theo hướng “ra xa” khỏi đỉnh ban đầu, đi tới đỉnh nào thì đánh dấu (duyệt) đỉnh đó, duyệt cho đến khi không đi được nữa thì quay lại đỉnh trước để tìm cách đi khác, cứ như vậy cho đến khi không tìm được đường đi nào nữa thì dừng lại. Quá trình như vậy lặp lại cho đến khi tất cả các đỉnh của đồ thị đã được đánh dấu. Ví dụ: Thuật toán duyệt đồ thị vô hướng trong Hình 14.1a theo chiều sâu. Giả sử bắt đầu duyệt từ đỉnh 0. Mũi tên màu đỏ chỉ hướng đi theo cạnh. 1. Bắt đầu từ đỉnh 0. Duyệt (đánh dấu) đỉnh 0. 2. Danh sách kề của 0 là [5]. Tìm được 5 chưa duyệt. Duyệt đỉnh 5. 3. Danh sách kề của 5 là [0,1,4,6,7]. 4. Danh sách kề của 1 là [5,6]. Tìm được 6 chưa duyệt. Duyệt đỉnh 6. 5. Danh sách kề của 6 là [1,3,5,7]. 6. Danh sách kề của 3 là [2,4,6]. 7. Danh sách kề của 2 là [3,7]. Tìm thấy 7 chưa duyệt. Duyệt đỉnh 7. 8. Danh sách kề của 7 là [2,5,6]. Không tìm thấy. Quay lại đỉnh 2. 9. Danh sách kề của 2 là [3,7]. 10. Danh sách kề của 3 là [2,4,6]. Tìm thấy 4 chưa duyệt. Duyệt đỉnh 4. 11. Danh sách kề của 4 là [3,5]. Không tìm thấy. Quay lại đỉnh 3. 12. Từ đỉnh 3, không tìm thấy, lần lượt quay lại 6, quay lại 1, quay lại 5, quay lại 0. Hình 14.2. Chi tiết các bước duyệt theo chiều sâu, bắt đầu từ đỉnh 0 Chi tiết các bước của duyệt đồ thị trên được mô tả trong Bảng 14.1. Bảng 14.1. Các bước duyệt đồ thị ![]() Lưu ý:
Thuật toán duyệt như trên được gọi là duyệt theo chiều sâu (DFS – Depth First Search). Thuật toán duyệt này áp dụng cho cả đồ thị vô hướng và có hướng. |
Hoạt động 2. Tìm hiểu thuật toán duyệt DFS
a. Mục tiêu: HS biết và nắm được kĩ thuật cài đặt cụ thể thuật toán duyệt đồ thị theo chiều sâu DFS bằng đệ quy.
b. Nội dung: GV giao nhiệm vụ; HS tìm hiểu nội dung mục 2. Thuật toán duyệt theo chiều sâu DFS và thực hiện nhiệm vụ.
c. Sản phẩm: Thuật toán đệ quy duyệt đồ thị theo chiều sâu.
d. Tổ chức thực hiện:
HOẠT ĐỘNG CỦA GV - HS | DỰ KIẾN SẢN PHẨM | |
Bước 1: GV chuyển giao nhiệm vụ học tập - GV yêu cầu HS đọc Hoạt động 2 – Tìm hiểu thuật toán duyệt DFS SGK tr.68, từ đó dẫn dắt HS tìm hiểu kiến thức. Quan sát, thảo luận và tìm hiểu thuật toán duyệt theo chiều sâu trên đồ thị bất kì. - Dựa vào ý tưởng thuật toán thực hiện trong Hoạt động 1, GV hướng dẫn HS viết mã giả và các hàm tương ứng bằng Python. - GV yêu cầu HS quan sát hàm DFS(Adj,u) và giải thích ý nghĩa của các dòng lệnh. - GV phân tích thời gian của DFS từ đó yêu cầu HS: + Em hãy xác định độ phức tạp thời gian của thuật toán duyệt theo chiều sâu trong cả hai trường hợp đồ thị có hướng và vô hướng. - GV yêu cầu HS vận dụng kiến thức vừa tìm hiểu, thực hiện hoạt động Củng cố kiến thức tr.69 SGK: 1. Nếu đồ thị G chỉ bao gồm các đỉnh biệt lập, không có cạnh nào thì thuật toán duyệt sâu DFS sẽ được thực hiện như thế nào? 2. Chỉnh sửa hàm DFS() bổ sung lệnh in thông tin của các đỉnh khi duyệt. Ví dụ hàm DFS() có thể viết lại như sau: ![]() Sử dụng hàm trên áp dụng duyệt các phần tử của đồ thị Hình 14.1a trong phần khởi động. Kiểm tra thứ tự các đỉnh đã duyệt có trùng khớp với thứ tự các đỉnh đã duyệt (bằng tay) trong Hoạt động 1 hay không. Bước 2: HS thực hiện nhiệm vụ học tập - HS thực hiện nhiệm vụ học tập theo yêu cầu của GV. - GV quan sát và trợ giúp HS (nếu cần thiết). Bước 3: Báo cáo kết quả hoạt động và thảo luận - HS lần lượt trả lời các câu hỏi. - HS khác lắng nghe và nhận xét, bổ sung cho nhau. Hướng dẫn thực hiện hoạt động Củng cố kiến thức SGK tr.69: 1. Nếu đồ thị G chỉ bao gồm các đỉnh biệt lập thì tất cả các lệnh DFS(v) sẽ chỉ đánh dấu đúng một đỉnh v. Do vậy thuật toán duyệt theo chiều sâu DFSTraversal(G) sẽ đánh dấu từng đỉnh của G bằng lời gọi hàm DFS(v), mỗi lệnh như vậy đánh dấu đúng một đỉnh. 2. Nếu kiểm tra thì sẽ thấy kết quả dãy các đỉnh đã được duyệt trùng khớp với kết quả duyệt thủ công trong Hoạt động 1. Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập - Từ câu trả lời của HS, GV nhận xét, đánh giá quá trình HS thực hiện nhiệm vụ. - GV chốt kiến thức theo Hộp kiến thức.
………………… | 2. Thuật toán duyệt theo chiều sâu DFS Cho trước đồ thị G = (V, E) vô hướng hoặc có hướng. Ban đầu, tất cả các đỉnh của đồ thị là chưa đánh dấu. Thuật toán DFS(Adj,u) thực hiện công việc duyệt đồ thị theo chiều sâu bắt đầu từ đỉnh u chưa đánh dấu. - Đoạn mã giả sau thực hiện các công việc:
DFS_Traversal(G): ![]()
DFS(Adj,u): ![]() - Giả sử đồ thị G = (V, E) được biểu diễn bằng danh sách kề Adj. Mảng mark[] dùng để đánh dấu các đỉnh:
+ Hàm đệ quy DFS(Adj,u) trong Python dùng để duyệt đồ thị theo chiều sâu bắt đầu từ đỉnh u chưa đánh dấu như sau: ![]() Giải thích:
+ Hàm DFS_Traversal(V,Adj) sẽ duyệt đồ thị theo chiều sâu với bộ dữ liệu (V, Adj) như sau: ![]() + Chương trình sau đây sẽ tạo đồ thị từ tệp danh sách kề, sau đó duyệt đồ thị này theo chiều sâu dùng hàm DFS_Traversal(): ![]() - Phân tích thời gian của DFS:
…………………………. |
--------------------------------------
--------------------- Còn tiếp ----------------------
Trên chỉ là 1 phần của giáo án. Giáo án khi tải về có đầy đủ nội dung của bài. Đủ nội dung của học kì I + học kì II
Hệ thống có đầy đủ các tài liệu:
- Giáo án word (350k)
- Giáo án Powerpoint (400k)
- Trắc nghiệm theo cấu trúc mới (200k)
- Đề thi cấu trúc mới: ma trận, đáp án, thang điểm..(200k)
- Phiếu trắc nghiệm câu trả lời ngắn (200k)
- Trắc nghiệm đúng sai (200k)
- Lý thuyết bài học và kiến thức trọng tâm (200k)
- File word giải bài tập sgk (150k)
- Phiếu bài tập để học sinh luyện kiến thức (200k)
- .....
Nâng cấp lên VIP đê tải tất cả ở tài liệu trên
- Phí nâng cấp VIP: 900k
=> Chỉ gửi 500k. Tải về dùng thực tế. Nếu hài lòng, 1 ngày sau mới gửi phí còn lại
Cách tải hoặc nâng cấp:
- Bước 1: Chuyển phí vào STK: 1214136868686 - cty Fidutech - MB(QR)
- Bước 2: Nhắn tin tới Zalo Fidutech - nhấn vào đây để thông báo và nhận tài liệu
Xem toàn bộ: Giáo án chuyên đề Khoa học máy tính 12 kết nối tri thức đủ cả năm
ĐẦY ĐỦ GIÁO ÁN CÁC BỘ SÁCH KHÁC
GIÁO ÁN WORD LỚP 12 KẾT NỐI TRI THỨC
Giáo án toán 12 kết nối tri thức
Giáo án đại số 12 kết nối tri thức
Giáo án hình học 12 kết nối tri thức
Giáo án vật lí 12 kết nối tri thức
Giáo án hoá học 12 kết nối tri thức
Giáo án sinh học 12 kết nối tri thức
Giáo án ngữ văn 12 kết nối tri thức
Giáo án lịch sử 12 kết nối tri thức
Giáo án địa lí 12 kết nối tri thức
Giáo án kinh tế pháp luật 12 kết nối tri thức
Giáo án Công nghệ Điện - điện tử 12 kết nối tri thức
Giáo án Công nghệ 12 Lâm nghiệp - Thuỷ sản kết nối tri thức
Giáo án Tin học 12 - Định hướng Khoa học máy tính kết nối tri thức
Giáo án Tin học 12 - Định hướng Tin học ứng dụng kết nối tri thức
Giáo án thể dục 12 bóng rổ kết nối tri thức
Giáo án thể dục 12 cầu lông kết nối tri thức
Giáo án thể dục 12 bóng chuyền kết nối tri thức
Giáo án mĩ thuật 12 kết nối tri thức
Giáo án âm nhạc 12 kết nối tri thức
Giáo án hoạt động trải nghiệm hướng nghiệp 12 kết nối tri thức
GIÁO ÁN POWERPOINT LỚP 12 KẾT NỐI TRI THỨC
Giáo án Powerpoint Toán 12 kết nối tri thức
Giáo án Powerpoint hình học 12 kết nối tri thức
Giáo án Powerpoint đại số 12 kết nối tri thức
Giáo án powerpoint vật lí 12 kết nối tri thức
Giáo án powerpoint ngữ văn 12 kết nối tri thức
Giáo án powerpoint địa lí 12 kết nối tri thức
Giáo án powerpoint lịch sử 12 kết nối tri thức
Giáo án powerpoint địa lí 12 kết nối tri thức
Giáo án Powerpoint Kinh tế pháp luật 12 kết nối tri thức
Giáo án Powerpoint Mĩ thuật 12 kết nối tri thức
Giáo án Powerpoint Tin học 12 - Định hướng Tin học ứng dụng kết nối tri thức
Giáo án Powerpoint Tin học 12 - Định hướng Khoa học máy tính kết nối tri thức
Giáo án powerpoint Công nghệ 12 Điện - điện tử kết nối tri thức
Giáo án powerpoint Công nghệ 12 Lâm nghiệp - Thuỷ sản kết nối tri thức
Giáo án powerpoint hoạt động trải nghiệm hướng nghiệp 12 kết nối tri thức
GIÁO ÁN CHUYÊN ĐỀ LỚP 12 KẾT NỐI TRI THỨC
Giáo án chuyên đề toán 12 kết nối tri thức
Giáo án chuyên đề vật lí 12 kết nối tri thức
Giáo án chuyên đề hoá học 12 kết nối tri thức
Giáo án chuyên đề sinh học 12 kết nối tri thức
Giáo án chuyên đề ngữ văn 12 kết nối tri thức
Giáo án chuyên đề lịch sử 12 kết nối tri thức
Giáo án chuyên đề địa lí 12 kết nối tri thứ
Giáo án chuyên đề kinh tế pháp luật 12 kết nối tri thức
Giáo án chuyên đề Công nghệ 12 Công nghệ điện - điện tử kết nối tri thức
Giáo án chuyên đề Công nghệ 12 Lâm nghiệp - Thuỷ sản kết nối tri thức
Giáo án chuyên đề Tin học 12 - Định hướng Khoa học máy tính kết nối tri thức
Giáo án chuyên đề Tin học 12 - Định hướng Tin học ứng dụng kết nối tri thức
GIÁO ÁN POWERPOINT CHUYÊN ĐỀ LỚP 12 KẾT NỐI TRI THỨC
Giáo án powerpoint chuyên đề ngữ văn 12 kết nối tri thức
Giáo án Powerpoint chuyên đề Kinh tế pháp luật 12 kết nối tri thức
GIÁO ÁN DẠY THÊM LỚP 12 KẾT NỐI TRI THỨC
Giáo án dạy thêm ngữ văn 12 kết nối tri thức
Giáo án powerpoint dạy thêm ngữ văn 12 kết nối tri thức
Giáo án dạy thêm toán 12 kết nối tri thức
Giáo án powerpoint dạy thêm toán 12 kết nối tri thức