BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CẦN THƠ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN Tên học phần: Cấu trúc liệu – Toán TK (Data Structures - Statistics Mathematics) - Mã số học phần : TN185 - Số tín học phần : 03 tín - Số tiết học phần : 30 tiết lý thuyết, 30 tiết thực hành 90 tiết tự học Đơn vị phụ trách học phần: - Bộ môn: Tin Học Ứng Dụng - Khoa/Viện/Trung tâm/Bộ môn: Khoa Học Tự Nhiên Điều kiện tiên quyết: TN035 Mục tiêu học phần: Môn học giúp sinh viên thực hiểu tầm quan trọng giải thuật cách tổ chức liệu, hai thành tố quan trọng cho chương trình Ngồi ra, giai đoạn cịn giúp sinh viên củng cố phát triển kỹ lập trình vừa học mơn lập trình giai đoạn trước 4.1 Kiến thức: sinh viên phải nắm ứng dụng kiến thức sau 4.1.1 Hiểu kiểu liệu, kiểu liệu trừu tượng, cấu trúc liệu tiêu chí đánh giá cấu trúc liệu Giải thuật gì? Đánh giá độ phức tạp giải thuật Ứng dụng giải tập tính tốn độ phức tạp giải thuật 4.1.2 Kiểu liệu trừu tượng danh sách Các khái niệm bản, cách cài đặt: cài đặt mảng, cài đặt trỏ, cài đặt nháy 4.1.3 Khái niệm kiểu danh sách đặc biệt ngăn xếp, hàng đợi; cách cài đặt khai báo sử dụng Danh sách liên kết kép 4.1.4 Kiểu liệu trừu tượng Các thuật ngữ liên quan cách cài đặt tổng quát, nhị phân nhị phân tìm kiếm 4.1.5 Kiểu liệu tập hợp, từ điển, bảng băm 4.1.6 Các giải thuật tìm kiếm xếp nội 4.1.7 Một số kỹ thuật thiết kế giải thuật, tối ưu hóa giải thuật thơng qua việc tinh chỉnh mã lệnh 4.1.8 Ứng dụng kiến thức học giải tập theo yêu cầu giáo viên tập buổi thực hành từ 1->6 Trang 4.2 Kỹ năng: 4.2.1 Kỹ cứng - Nắm kiểu liệu trừu tượng danh sách, ngăn xếp, hàng đợi, cây,… - Có khả lựa chọn cấu trúc liệu phù hợp giải toán theo yêu cầu - Nắm kỹ thuật thiết kế giải thuật chia để trị, tham ăn, qui hoạch động,… vận dụng để giải toán thực tế toán người giao hàng, tốn ba lơ, - Hiểu ứng dụng giải thuật tìm kiếm xếp nội - Biết tính độ phức tạp giải thuật cho Vận dụng kiến thức học để phân tích, so sánh chọn lựa giải thuật tối ưu trình lập trình 4.2.2 Kỹ mềm - Có khả vận dụng kiến thức học để giải vấn đề thực tế - Có khả làm việc nhóm, thảo luận, lắng nghe phê bình - Kỹ đọc tài liệu công nghệ thông tin, tài liệu liên quan đến kỹ thuật lập trình - Phát triển khả tư suy luận logic 4.3 Thái độ: 4.3.1 Nghiêm túc học tập, thực qui định trường lóp Biết giúp đỡ, chia kiến thức, kinh nghiệm với bạn bè 4.3.2 Trung thực, xác tinh thần trách nhiệm cao công tác, tinh thần làm việc hợp tác tốt với đồng nghiệp cộng đồng 4.3.3 Thể trách nhiệm công dân, thái độ đạo đức nghề nghiệp đắn; tinh thần ý thức kỷ luật, tác phong công nghiệp; khả làm việc khoa học hợp tác nhóm 4.3.4 Có phương pháp suy nghĩ làm việc khoa học, đầu tư sáng tạo tứng dụng Công nghệ thông tin phục vụ đời sống 4.3.5 Có ý thức học tập học tập suốt đời Mơ tả tóm tắt nội dung học phần: Môn học cung cấp cho sinh viên hai mảng kiến thức quan trọng là: - Cấu trúc liệu: cung cấp kiến thức kiểu liệu trừu tượng (danh sách, ngăn xếp, hàng đợi, cây, ) phép toán kiểu liệu trừu tượng Cấu trúc liệu phép toán cài đặt minh họa ngơn ngữ lập trình C (C++) Trang - Giải thuật: giới thiệu đến sinh viên nội dung kỹ thuật phân tích thuật tốn kỹ thuật thiết kế thuật tốn Kỹ thuật phân tích thuật tốn đề cập đến kiến thức kỹ đánh giá để đánh giá thuật tốn, giúp lập trình viên chọn đâu giải thuật tốt Bên cạnh kỹ để tạo thuật tốn truyền tải đến sinh viên thơng qua nội dung phần kỹ thuật thiết kế giải thuật Các kỹ thuật trình bày nội dung ý tưởng kỹ thuật ví dụ minh họa Cấu trúc nội dung học phần: 6.1 Lý thuyết Nội dung Số tiết Mục tiêu Lời giới thiệu Lời tựa Mu ̣c lu ̣c Danh sách chữ viết tắt - thuật ngữ - Quy ước Danh sách đồ thi,̣ bảng và hiǹ h ảnh Chương 1: Tổng quan cấu trúc liệu giải thuật Mục tiêu Nội dung 1.1 Từ tốn đến chương trình 1.2 Khái niệm kiểu liệu, kiểu liệu trừu tượng, cấu trúc liệu 1.3 Các tiêu chí đánh giá CTDL 1.4 Khái niệm giải thuật, đánh giá độ phức tạp giải thuật Câu hỏi ôn tập Chương 2: Các kiểu liệu trừu tượng Mục tiêu Nội dung 2.1 Kiểu liệu trừu tượng "Danh sách" (List) 2.2 Ngăn xếp (Stack) 2.3 Hàng đợi (Queue) 2.4 Danh sách liên kết kép (Double List) Câu hỏi ôn tập 4.1.1; 4.2; 4.3 ½ ½ 4.1.1; 4.2; 4.3 4.1.1; 4.2; 4.3 4.1.1; 4.2; 4.3 4.1.1; 4.2; 4.3 12 4 2 4.1.2; 4.2; 4.3 4.1.3; 4.2; 4.3 4.1.3; 4.2; 4.3 4.1.3; 4.2; 4.3 Chương 3: Cấu trúc (Tree) 4.1.4; 4.2; 4.3 Mục tiêu Nội dung 3.1 Các thuật ngữ ½ 4.1.4; 4.2; 4.3 Trang 3.2 Kiểu liệu trừu tượng 3.3 Cài đặt 3.4 Cây nhị phân 3.5 Cây nhị phân tìm kiếm Câu hỏi ơn tập Bài tập Chương 4: Tập hợp Mục tiêu Nội dung 4.1 Khái niệm 4.2 Các phép toán tập họp 4.3 Cài đặt tập hợp 4.4.Từ điển 4.5 Bảng băm Câu hỏi ơn tập Bài tập Chương 5: Tìm kiếm xếp Mục tiêu Nội dung 5.1 Các giải thuật tìm kiếm nội: Tìm kiếm tuyến tính, tìm kiếm nhị phân 5.2 Các giải thuật xếp nội: Chọn trực tiếp, chèn trực tiếp, quicksort, heapsort,… Câu hỏi ôn tập Bài tập Chương 6: Kỹ thuật thiết kế giải thuật Mục tiêu Nội dung 6.1 Kỹ thuật chia để trị 6.2 Kỹ thuật qui hoạch động 6.3 Kỹ thuật tham ăn 6.4 Kỹ thuật quay lui 6.5 Tinh chỉnh mã Câu hỏi ôn tập, Bài tập 1.5 4.1.4; 4.2; 4.3 4.1.4; 4.2; 4.3 4.1.5; 4.2; 4.3 ẳ ắ 1 4.1.5; 4.2; 4.3 4.1.5; 4.2; 4.3 4.1.5; 4.2; 4.3 4.1.5; 4.2; 4.3 4.1.5; 4.2; 4.3 4.1.5; 4.2; 4.3 4.1.6; 4.2; 4.3 4.1.6; 4.2; 4.3 4.1.6; 4.2; 4.3 4.1.6; 4.2; 4.3 4.1.6; 4.2; 4.3 4.1.6; 4.2; 4.3 11 4.1.7; 4.2; 4.3 2 4.1.7; 4.2; 4.3 4.1.7; 4.2; 4.3 4.1.7; 4.2; 4.3 4.1.7; 4.2; 4.3 4.1.7; 4.2; 4.3 4.1; 4.2; 4.3 6.2 Thực hành Trang Sinh viên bố trí buổi thực hành, buổi phải thực tối đa tập theo yêu cầu giáo viên Nội dung Buổi 1: Bài tập cài đặt danh sách Số tiết Buổi 2: Danh sách đặc biệt: ngăn xếp, hàng đợi Buổi 3: Bài tập cài đặt tổng quát, nhị phân nhị phân tìm kiếm Buổi 4: Cài đặt giải thuật tìm kiếm nội xếp nội Buổi 5: Cài đặt chương trình minh họa kỹ thuật chia để trị, qui hoạch động, tham lam, quay lui Buổi 6: Bài tập tổng hợp Ôn tập Mục tiêu 4.1.1; 4.1.2; 4.1.3; 4.2; 4.3 4.1.1-> 4.1.4; 4.2; 4.3 4.1.1->4.1.5; 4.2; 4.3 4.1; 4.2; 4.3 4.1; 4.2; 4.3 Phương pháp giảng dạy: - Kết hợp phương pháp đặt vấn đề diễn giảng lớp - Thực hành minh họa thuật tốn máy tính - Phân nhóm làm tập lớn Nhiệm vụ sinh viên: Sinh viên phải thực nhiệm vụ sau: - Tham dự tối thiểu 80% số tiết học lý thuyết - Tham gia đầy đủ 100% thực hành có nộp kết làm sau buổi - Sinh viên lên bảng sửa tập nộp tập theo yêu cầu giáo viên - Tham dự kiểm tra học kỳ - Tham dự thi kết thúc học phần - Chủ động tổ chức thực tự học Đánh giá kết học tập sinh viên: 9.1 Cách đánh giá Sinh viên đánh giá tích lũy học phần sau: TT Điểm thành phần Điểm kiểm tra kỳ máy Quy định - Tham gia 100% buổi thực hành Có cộng thêm điểm chuyên cần cho sinh viên tích cực (đi học đầy đủ, lên bảng làm tập, ) Trọng số 30% Mục tiêu 4.1; 4.2; 4.3 Trang - Điểm thi kết thúc học phần - Bắt buộc dự thi Thi viết/ trắc nghiệm (sẽ thơng báo học theo tình hình riêng lớp) Tham dự đủ 80% tiết lý thuyết 100% buổi thực hành Bắt buộc dự thi 70% 4.1; 4.2; 4.3 9.2 Cách tính điểm - Điểm đánh giá thành phần điểm thi kết thúc học phần chấm theo thang điểm 10 (từ đến 10), làm tròn đến chữ số thập phân Điểm học phần tổng điểm tất điểm đánh giá thành phần học phần nhân với trọng số tương ứng Điểm học phần theo thang điểm 10 làm tròn đến chữ số thập phân, sau quy đổi sang điểm chữ điểm số theo thang điểm theo quy định công tác học vụ Trường 10 Tài liệu học tập: Thông tin tài liệu Số đăng ký cá biệt [1] Alfred V AHO, John E Hopcroft, Jeffrey D Ullman; Data structures and algorithms; Addison-Wesley, 1987 [2] Nguyễn Văn Linh, Trần Cao Đệ et al; Giáo trình Cấu trúc liệu; ĐHCT; 2003 [3] Trần Cao Đệ; Cấu trúc liệu; NXB Đại học Cần Thơ;2010 [4] Trần Hạnh Nhi, Nhập môn cấu trúc liệu thuật toán, Trường ĐH KHTN, Tp HCM, 2003 [5] Nguyễn Văn Linh, Phân tích thiết kế thuật toán, NXB Đại học Cần Thơ, 2010 [6] Lê Hữu Lập, Nguyễn Duy Phương; Giáo trình Kỹ thuật lập trình; NXB Bưu Điện; 2002 [7] Trương Thị Thanh Tuyền et al; Bài giảng thực hành cấu trúc liệu (Ngôn ngữ C); ĐHCT; 2006 Tuần 11 Hướng dẫn sinh viên tự học: (tiết) Thực hành (tiết) Lý Nội dung Chương 1: Tổng quan 1.1 Từ toán 1.2 Kiểu liệu thuyết Nhiệm vụ sinh viên Nghiên cứu trước: Đọc trước lý thuyết - Xem lại cách viết chương trình ngơn ngữ C (học phần TN195) Trang 1.3 Các tiêu chí 1.4 Khái niệm giải thuật Chương 2: Các kiểu liệu 2.1 Danh sách Bài tập danh sách Chương 2: Các kiểu liệu 2.2 Ngăn xếp Bài tập ngăn xếp 2.5 Chương 2: Các kiểu liệu 2.3 Hàng đợi Bài tập hàng đợi 2.4 Danh sách liên kết kép 2.5 Chương 3: Cây 3.1 Các thuật ngữ 3.2 ADT Cây 3.3 Cài đặt 3.4 Cây nhị phân Chương 3: Cây 3.5 Cây tìm kiếm nhị phân Bài tập Chương 4: Tập hợp 4.1 Khái niệm 4.2 Các phép toán TH 4.3 Cài đặt tập hợp 4.4 Từ điển Bài tập Chương 4: Tập hợp 4.4 Bảng băm Bài tập Chương 5: Tìm kiếm 5.1 Các GT tìm kiếm nội 2.5 2.5 2 - Tài liệu [1]: nội dung từ mục 1.1 đến 1.7, chapter 1; mục 9.1->9.4; chapter - Tài liệu [2]: chương - Tài liệu [5]: chương - Làm tập: + Tài liệu [5]: tập chương + Tài liệu [1]: tập chapter - Đọc trước tài liệu + Tài liệu [1]: nội dung từ mục 2.1 đến 2.2, chapter + Tài liệu [2]: mục 2.1 - Làm tập buổi thực hành số - Đọc trước tài liệu + Tài liệu [1]: mục 2.3, chapter + Tài liệu [2]: mục 2.2, chương - Làm tập: + Bài 1, 2, buổi TH số + Xem thêm tập tài liệu [1] trang 72->74 - Đọc trước tài liệu + Tài liệu [1]: mục 2.4, chapter + Tài liệu [2]: mục 2.3, 2.4; chương - Làm tập 4, 5, buổi TH số - Đọc trước tài liệu + Tài liệu [1]: chapter + Tài liệu [2]: mục 3.1->3.4; chương - Làm tập 1, 2, buổi TH số - Đọc trước tài liệu + Tài liệu [1]: chapter + Tài liệu [2]: mục 3.5; chương + Tài liệu [2]: mục 4.1->4.3; chương - Nộp tập theo yêu cầu GV - Làm tập 4, 5, buổi TH số - Đọc trước tài liệu + Tài liệu [1]: 4.7, 4.8; chapter 4; + Tài liệu [2]: mục 4.4; chương + Tài liệu [4]: mục 2.1; chương Trang Bài tập Chương 5: Tìm kiếm 5.2 Các giải thuật xếp nội 4 Chương 6: Kỹ thuật Kiểm tra giửa kỳ Bài tập xếp 6.1 Chia để trị 6.2 Qui hoạch động 2.5 10 Chương 6: Kỹ thuật 6.3 Kỹ thuật tham ăn 6.4 Kỹ thuật quay lui Bài tập 2.5 11 Chương 6: Kỹ thuật 6.4 Kỹ thuật quay lui (tt) Bài tập 6.5 Tinh chỉnh mã 12 Ôn tập giải đáp thắc mắc - Ôn tập kiến thức học từ đầu - Làm tập 1,2 buổi TH số - Đọc trước tài liệu + Tài liệu [1]: 4.1->4.6; chapter + Tài liệu [2]: mục 3.5; chương + Tài liệu [4]: mục 2.2; chương + Tài liệu [5]: chương - Làm tập 3, 4, buổi TH số - Đọc trước tài liệu + Tài liệu [1]: nội dung mục 10.1, 10.2, 10.3; chapter 10 + Tài liệu [5]: mục 3.1, 3.2, 3.4; chương - Làm tập 1, 2, buổi TH số - Đọc trước tài liệu + Tài liệu [1]: nội dung mục 10.4, 10.5; chapter 10 + Tài liệu [5]: mục 3.3, 3.5; chương - Bài tập làm 4, buổi TH số + Chuẩn bị buổi TH số + Bài tập tài liệu [5] từ trang 93->98 - Đọc trước tài liệu + Tài liệu [1]: nội dung mục 10.4, 10.5; chapter 10 + Tài liệu [5]: 3.3, 3.5; chương - Nộp tập theo yêu cầu GV - Làm tập buổi TH số - Ôn tập, tổng hợp lại kiến thức học Cần Thơ, ngày 23 tháng 03 năm 2014 TL HIỆU TRƯỞNG TRƯỞNG KHOA/GIÁM ĐỐC VIỆN/ GIÁM ĐỐC TRUNG TÂM TRƯỞNG BỘ MÔN Trang