Soạn giáo án Khoa học máy tính 11 cánh diều Chủ đề F(CS) Bài 15: Cấu trúc dữ liệu danh sách liên kết và ứng dụng

Soạn chi tiết đầy đủ giáo án Khoa học máy tính 11 Chủ đề F(CS) 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. Giáo án soạn chuẩn theo Công văn 5512 để các thầy cô tham khảo lên kế hoạch bài dạy tốt. Tài liệu có file tải về và chỉnh sửa được. Hi vọng, mẫu giáo án này mang đến sự hữu ích và tham khảo cần thiết. Mời thầy cô tham khảo

Cùng hệ thống với: Kenhgiaovien.com - Zalo hỗ trợ: Fidutech - nhấn vào đây

Ngày soạn:…/…/…

Ngày dạy:…/…/…

BÀI 15. CẤU TRÚC DỮ LIỆU DANH SÁCH LIÊN KẾT VÀ ỨNG DỤNG

I. MỤC TIÊU

1. Về kiến thức

Sau bài học này, HS sẽ:

-      

Trình bày được cấu trúc dữ liệu danh sách liên kết và ứng dụng.

2. Năng lực

Năng lực chung:

-      

Năng lực tự chủ: Biết lựa chọn các nguồn tài liệu học tập phù hợp.

-      

Năng lực giải quyết vấn đề và sáng tạo: Xác định và tìm hiểu được các thông tin liên quan đến vấn đề, đề xuất giải pháp giải quyết vấn đề trong bài học.

-      

Năng lực giao tiếp và hợp tác: Thực hiện tốt nhiệm vụ trong hoạt động nhóm.

Năng lực tin học:

-      

Hình thành, phát triển năng lực tin học giải quyết vấn đề với sự hỗ trợ của công nghệ thông tin và truyền thông.

-      

Ứng dụng công nghệ thông tin và truyền thông trong học và tự học.

-      

Khả năng tư duy logic và mô hình hóa.

3. Phẩm chất

-      

Hình thành ý thức trách nhiệm, tính cẩn thận, chăm chỉ trong học tập và công việc.

-      

Có ý thức vận dụng kiến thức, kĩ năng đã học ở nhà trường vào thực tiễn.

II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU

1. Đối với giáo viên

-      

SGK, SGV, Giáo án;

-      

Máy tính và máy chiếu;

-      

Tài liệu hướng dẫn sử dụng máy tính (tivi, điện thoại,...) (nếu có).

2. Đối với học sinh: SGK, SBT, vở ghi.

III. TIẾN TRÌNH DẠY HỌC

A. HOẠT ĐỘNG KHỞI ĐỘNG

a. Mục tiêu: Tạo tâm thế vui vẻ, hứng khởi cho HS trước khi vào bài học mới; kích thích sự tò mò cho người học.

b. Nội dung: HS vận dụng kiến thức đã học để trả lời câu hỏi Khởi động SGK trang 146.

c. Sản phẩm học tập: Câu trả lời của HS cho câu hỏi Khởi động SGK trang 146.

d. Tổ chức thực hiện:

Bước 1: GV chuyển giao nhiệm vụ học tập

- GV yêu cầu HS vận dụng kiến thức đã học, trả lời câu hỏi Khởi động tr.146 SGK:

          Em hãy nêu nhược điểm của danh sách mảng.

Bước 2: HS thực hiện nhiệm vụ học tập

- HS lắng nghe, suy nghĩ và đưa ra câu trả lời dựa trên những hiểu biết của bản thân.

Bước 3: Báo cáo kết quả hoạt động và thảo luận

- GV mời 1 - 2 HS trả lời câu hỏi:

+ Không thể thay đổi kích thước của mảng khi chương trình đang thực hiện.

- GV ghi nhận tất cả các câu trả lời của HS.

Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập

- GV nhận xét, đánh giá, dẫn dắt vào nội dung bài mới: - Bài 15. Cấu trúc dữ liệu danh sách liên kết và ứng dụng.

B. HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC

Hoạt động 1: Cấu trúc danh sách liên kết

a. Mục tiêu: Trình bày được cấu trúc dữ liệu danh sách liên kết.

b. Nội dung: GV giao nhiệm vụ, hướng dẫn; HS đọc hiểu mục 1, quan sát Hình 1 - Hình 4 SGK trang 146 - 148.

c. Sản phẩm học tập: Cấu trúc danh sách liên kết.

d. Tổ chức hoạt động:

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 chia lớp thành các nhóm, mỗi nhóm 3 - 4 HS.

- GV yêu cầu các nhóm HS đọc hiểu mục 1, quan sát Hình 1 - 4 tr.146 - 148 SGK, thảo luận hoàn thành Phiếu học tập sau:

PHIẾU HỌC TẬP

Cấu trúc danh sách liên kết

Câu 1. Danh sách liên kết là gì? Trình bày cấu trúc của một danh sách liên kết.

.................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. ..................................................

Câu 2. Nêu sự khác nhau giữa danh sách liên kết và mảng.

.................................................. .................................................. .................................................. .................................................. ..................................................

Câu 3. Trình bày thao tác thêm nút và gỡ bỏ nút trong danh sách liên kết.

.................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. ..................................................

Câu 4. Dựa vào kiến thức đã học, hãy cho biết thời gian thực hiện các phép toán của danh sách liên kết.

.................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................. .................................................

Bước 2: HS thực hiện nhiệm vụ học tập

- Nhóm HS đọc hiểu mục 1, quan sát Hình 1 - Hình 4 tr.146 - 148 SGK và thực hiện nhiệm vụ.

- GV hướng dẫn, theo dõi, hỗ trợ HS khi cần.

Bước 3: Báo cáo kết quả hoạt động và thảo luận

- GV mời một số nhóm báo cáo kết quả thảo luận.

- HS nhóm khác nhận xét, bổ sung.

Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập

- GV nhận xét kết quả thảo luận của các nhóm.

- GV chú ý HS: Nếu muốn hướng đến việc triển khai lập trình thực hiện danh sách liên kết bằng Python, cần phân biệt rành mạch ở mức giống như lập trình sử dụng con trỏ. Cần phân biệt một nút với phần Data chứa dữ liệu trong nút, phân biệt Data với chính dữ liệu chứa trong nó,... Do đó, cần dùng các kí hiệu khác nhau. Để dễ hiểu các ý tưởng qua hình minh họa, các chữ cái A, B, C, D vừa được dùng làm tên gọi nút, vừa thể hiện Data của nút.

- GV kết luận và yêu cầu HS ghi chép đầy đủ vào vở.

1. Cấu trúc danh sách liên kết

- Danh sách liên kết (linked list) là một chuỗi nhiều nút (node) lưu trữ rải rác không liền kề trong bộ nhớ.

- Một nút có hai thành phần:

+ Phần Data chứa dữ liệu;

+ Phần liên kết gọi là Next.

- Phần Next trong một nút là con trỏ Next, kí hiệu mũi tên “→”.

- Về bản chất, kí hiệu mũi tên “→” để thể hiện một kiểu dữ liệu kiểu đặc biệt, gọi là kiểu con trỏ. Cho phép truy cập trực tiếp đến một địa chỉ ô nhớ cụ thể.

- Đuôi danh sách là nút cuối cùng trong danh sách, không có nút nào đứng sau.

+ Được thể hiện bằng hình vẽ Next trỏ đến Null và được hiểu rằng “không trỏ đến đâu cả, không đi tiếp được nữa”.

+ Con trỏ Tail trỏ đến nút đuôi danh sách.

- Đầu danh sách được minh họa bằng mũi tên Head trỏ đến nút đầu tiên trong danh sách.

 

- Khi lập trình, cần phân biệt một nút với phần Data chứa dữ liệu trong nút đó, phân biệt phần Data với chính dữ liệu trong nút đó.

Sự khác nhau giữa danh sách liên kết và mảng

So với mảng, danh sách liên kết có những điểm khác biệt sau:

- Các nút danh sách liên kết không được lưu trữ thành một khối liên tục liền kề mà có thể nằm rải rác, tách rời nhau trong bộ nhớ.

- Không có chỉ số nên trông truy cập bằng chỉ số được.

- Cần duyệt tuần tự các nút, so sánh dữ liệu chứa trong nút với yêu cầu tìm kiếm đề tìm đúng nút phải truy cập xử lí dữ liệu.

* Phép lặp duyệt tuần tự từng nút của danh sách liên kết sử dụng một con trỏ curr (current) chỉ vào nút đang xét, thực hiện như sau:

+ curr = Head bắt đầu từ Head để truy cập nút A;

+ curr = A.Next để truy cập nút B; curr = B.Next để truy cập nút C;...

+ Kết thúc khi gặp curr = Null tức là tình huống curr = D.Next.

Thêm nút và gỡ bỏ nút

●    

Thêm nút có ba trường hợp:

a) Thêm nút vào đầu danh sách

Nút mới thêm thành nút đầu tiên, gọi là E. Thao tác theo hai bước sau:

- Cho E.Next trỏ đến nút A: gán E.Next = Head.

- Cho Head trỏ đến nút E: Head → E.

 

*Thời gian thực hiện phép thêm nút vào đầu danh sách là O(1), không phụ thuộc độ dài danh sách.

b) Thêm nút vào cuối danh sách

- Nối thêm nút mới vào cuối danh sách, nó trở thành nút cuối cùng.

- Con trỏ Tail trỏ đến nút cuối cùng của danh sách → sửa lại cho Tail trỏ vào E.

 

* Thời gian thực hiện phép thêm nút vào cuối danh sách là O(1), không phụ thuộc độ dài danh sách.

c) Thêm nút vào giữa danh sách

Tình huống minh họa: curr → B. Thêm nút vào sau nút B.

 

* Thời gian thực hiện phép thêm nút vào giữa danh sách là O(1), không phụ thuộc độ dài danh sách.

●    

Gỡ bỏ nút:

Tình huống minh họa: curr → B. Gỡ bỏ nút sau nút B.

 

- Ghi lưu con trỏ để truy cập nút C: tmp = B.Next, tức là tmp → C.

- Cho B.Next trỏ đến nút đứng sau C (là nút D): B.Next = C.Next.

- Sử dụng tmp để giải phóng phần bộ nhớ dành cho C.

*Thao tác gỡ bỏ nút đầu danh sách hay cuối danh sách chỉ khác chút ít. Thời gian thực hiện gỡ bỏ là O(1), không phụ thuộc vào độ dài danh sách.

Danh sách liên kết kép

- Nếu mỗi nút có thêm một con trỏ nữa là Prev trỏ đến nút đứng kề ngay trước thì ta sẽ có danh sách nối kép.

 

Thời gian thực hiện các phép toán của danh sách liên kết

- Phép tìm kiếm: Tìm nút chứa dữ liệu X (Data = X) để xử lí. Phải thực hiện tìm kiếm tuần tự từ đầu danh sách.

→ Độ phức tạp của phép tìm kiếm là O(n) với n là số nút của danh sách.

- Các thao tác thêm nút, gỡ bỏ nút của danh sách liên kết dù ở bất cứ vị trí nào thì thời gian thực hiện đều là O(1).

→ Điểm ưu việt hơn danh sách mảng.

- Danh sách liên kết tốn thêm chỗ để lưu trữ thành phần Next.

→ Đây là nhược điểm so với danh sách mảng.

THÔNG TIN GIÁO ÁN

  • Giáo án word: Trình bày mạch lạc, chi tiết, rõ ràng
  • Giáo án điện tử: Sinh động, hiện đại, đẹp mắt để tạo hứng thú học cho học sinh
  • Giáo án word và PPT đồng bộ, thống nhất với nhau

Khi đặt nhận giáo án ngay và luôn:

  • Giáo án word: Nhận đủ cả năm
  • Giáo án điện tử: Nhận đủ cả năm

PHÍ GIÁO ÁN:

  • Giáo án word: 300k/học kì - 400k/cả năm
  • Giáo án Powerpoint: 400k/học kì - 450k/cả năm
  • Trọn bộ word + PPT: 500k/học kì - 600k/cả năm

CÁCH ĐẶT: 

  • Bước 1: gửi phí vào tk: 10711017 - Chu Văn Trí - Ngân hàng ACB (QR)
  • Bước 2: Nhắn tin tới Zalo Fidutech - nhấn vào đây để thông báo và nhận giáo án

Từ khóa tìm kiếm: Giáo án Khoa học máy tính 11 cánh diều Chủ đề F(CS) Bài 15: Cấu trúc dữ liệu danh sách liên kết và ứng dụng, Tải giáo án trọn bộ Khoa học máy tính 11 cánh diều, Giáo án word Khoa học máy tính 11 cánh diều Chủ đề F(CS) Bài 15: Cấu trúc dữ liệu danh sách liên kết và ứng dụng

Xem thêm giáo án khác

GIÁO ÁN TỰ NHIÊN 11 CÁNH DIỀU

 

GIÁO ÁN XÃ HỘI 11 CÁNH DIỀU