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

Giáo án 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 Tin học 11 Khoa học máy tính cánh diều. Được thiết kế theo công văn 5512, chi tiết, đầy đủ. Giáo án là bản word, có thể tải về và dễ dàng chỉnh sửa. Bộ giáo án có đầy đủ các bài trong học kì 1 + học kì 2 của Tin học 11 KHMT cánh diều. Kéo xuống dưới để tham khảo chi tiết.

Xem: => Giáo án tin học 11 theo định hướng khoa học máy tính cánh diều

Xem video về mẫu 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

Các tài liệu bổ trợ khác

Xem toàn bộ: Giáo án khoa học máy tính 11 cánh diều đủ cả năm

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.

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 (250k)
  • 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)
  • ...

Có thể chọn nâng cấp lên VIP đê tải tất cả ở tài liệu trên

  • Phí nâng cấp VIP: 700k/năm

=> Chỉ gửi 450k. Tải về dùng thực tế. Nếu hài lòng, 7 ngày sau mới gửi phí còn lại

Cách 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 khoa học máy tính 11 cánh diều đủ cả năm

ĐẦY ĐỦ GIÁO ÁN CÁC BỘ SÁCH KHÁC

GIÁO ÁN WORD LỚP 11 CÁNH DIỀU

GIÁO ÁN POWERPOINT LỚP 11 CÁNH DIỀU

 
 

GIÁO ÁN CHUYÊN ĐỀ LỚP 11 CÁNH DIỀU

GIÁO ÁN DẠY THÊM LỚP 11 CÁNH DIỀU

Giáo án dạy thêm toán 11 cánh diều đủ cả năm
Giáo án dạy thêm ngữ văn 11 cánh diều đủ cả năm

CÁCH ĐẶT MUA:

Liên hệ Zalo: Fidutech - nhấn vào đây

Tài liệu giảng dạy

Xem thêm các bài khác

I. GIÁO ÁN WORD KHOA HỌC MÁY TÍNH 11 CÁNH DIỀU

GIÁO ÁN WORD CHỦ ĐỀ A. MÁY TÍNH VÀ XÃ HỘI TRI THỨC

GIÁO ÁN WORD CHỦ ĐỀ C. TỔ CHỨC LƯU TRỮ, TÌM KIẾM VÀ TRAO ĐỔI THÔNG TIN

GIÁO ÁN WORD CHỦ ĐỀ D. ĐẠO ĐỨC, PHÁP LUẬT VÀ VĂN HÓA TRONG MÔI TRƯỜNG SỐ

GIÁO ÁN WORD CHỦ ĐỀ F. GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH

GIÁO ÁN WORD CHỦ ĐỀ G. HƯỚNG NGHIỆP VỚI TIN HỌC

GIÁO ÁN WORD CHỦ ĐỀ F(CS). GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH (KĨ THUẬT LẬP TRÌNH)

II. GIÁO ÁN POWERPOINT KHOA HỌC MÁY TÍNH 11 CÁNH DIỀU

GIÁO ÁN POWERPOINT CHỦ ĐỀ A. MÁY TÍNH VÀ XÃ HỘI TRI THỨC

GIÁO ÁN POWERPOINT CHỦ ĐỀ C. TỔ CHỨC LƯU TRỮ, TÌM KIẾM VÀ TRAO ĐỔI THÔNG TIN

GIÁO ÁN POWERPOINT CHỦ ĐỀ D. ĐẠO ĐỨC, PHÁP LUẬT VÀ VĂN HÓA TRONG MÔI TRƯỜNG SỐ

GIÁO ÁN POWERPOINT CHỦ ĐỀ F. GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH

GIÁO ÁN POWERPOINT CHỦ ĐỀ G. HƯỚNG NGHIỆP VỚI TIN HỌC

Giáo án điện tử Khoa học máy tính 11 cánh diều Chủ đề G Bài: Nghề quản trị cơ sở dữ liệu

GIÁO ÁN POWERPOINT CHỦ ĐỀ F(CS). GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH (KĨ THUẬT LẬP TRÌNH)

III. GIÁO ÁN CHUYÊN ĐỀ KHOA HỌC MÁY TÍNH 11 CÁNH DIỀU

GIÁO ÁN CHUYÊN ĐỀ 1. THỰC HÀNH THIẾT KẾ THUẬT TOÁN THEO KĨ THUẬT ĐỆ QUY

GIÁO ÁN CHUYÊN ĐỀ 2. THỰC HÀNH THIẾT KẾ THUẬT TOÁN THEO KĨ THUẬT CHIA ĐỂ TRỊ

GIÁO ÁN CHUYÊN ĐỀ 3. THỰC HÀNH THIẾT KẾ THUẬT TOÁN THEO KĨ THUẬT DUYỆT

Chat hỗ trợ
Chat ngay