V Hệ điều hành đa xử lý 108 *
CHƯƠNG TRÌNH MÔN HỌC CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
Mã số môn học : MH19
Thời gian môn học: 60h (Lý thuyết: 40h; Thực hành: 20h) I. VỊ TRÍ, TÍNH CHẤT CỦA MÔN HỌC:
- Vị trí của môn học: Môn học được bố trí sau khi sinh viên học xong môn học, mô đun: Lập trình C, Cơ sở Dữ liệu.
- Tính chất của môn học: Là môn học chuyên ngành bắt buộc II. MỤC TIÊU MÔN HỌC
- Hiểu được dữ liệu là gì? giải thuật là gì? Mối quan hệ mật thiết giữa cấu trúc dữ liệu và giải thuật.
- Phân tích được đâu là dữ liệu, đâu là giải thuật
- Biết cách tổ chức dữ liệu hợp lý, khoa học cho một chương trình đơn giản. - Biết áp dụng thuật toán hợp lý nhất đối với cấu trúc dữ liệu tương thích để giải quyết bài toán tối ưu nhất.
- Biết và áp dụng được các phương pháp sắp xếp, tìm kiếm từ đơn giản. III. NỘI DUNG MÔN HỌC
1. Nội dung tổng quát và phân phối thời gian:
TT Tổngsố thuyếtLý Thực hànhBài tập
Kiểm tra*
(LThoặcTH) hoặcTH)
I Tổng quan về Cấu trúc dữ liệu và giải thuật
5 5 0
II Đệ qui và giải thuật đệ qui 10 5 5
III Danh sách 22 15 7 * IV Các phương pháp sắp xếp cơ bản 15 10 5 * V Tìm kiếm 8 5 3 * Cộng 60 40 20
* Ghi chú: Thời gian kiểm tra lý thuyết được tính vào giờ lý thuyết, kiểm tra thực hành được tính vào giờ thực hành.
2. Nội dung chi tiết:
Chương 1: Tổng quan về Cấu trúc dữ liệu và giải thuật
Mục tiêu:
- Hiểu được nội dung của: dữ liệu, giải thuật, mối quan hệ giữa cấu trúc dữ liệu và giải thuật.
- Ghi nhớ được các kiểu dữ liệu (cơ bản, có cấu trúc, kiểu con trỏ) và đánh giá được độ phức tạp của thuật toán.
Nội dung: Thời gian: 5h (LT: 5h; TH: 0h)
1. Mối quan hệ giữa CTDL và giải thuật Thời gian: 0.5h
2. Các tiêu chuẩn đánh giá CTDL Thời gian: 0.5h
3. Các kiểu dữ liệu cơ bản Thời gian: 1h
4. Các kiểu dữ liệu có cấu trúc Thời gian: 1h
5. Kiểu con trỏ Thời gian: 1h
6. Đánh giá độ phức tạp giải thuật Thời gian: 1h
Chương 2: Đệ qui và giải thuật đệ qui
Mục tiêu:
- Khái niệm được đệ quy.
- Trình bày được giải thuật và chương trình sử dụng giải thuật đệ quy.
- So sánh giải thuật đệ quy với các giải thuật khác để rút ra tính ưu việt hoặc nhược điểm của giải thuật
- Thực hành (lập trình và biên dịch) được với các bài toán đệ quy đơn giản.
Nội dung: Thời gian: 10h (LT: 5h; TH: 5h)
1. Khái niệm đệ qui Thời gian: 2h
2. Giải thuật đệ qui và chương trình đệ qui Thời gian: 4h
3. Ưu và nhược điểm của giải thuật đệ qui Thời gian: 1h
4. Các bài toán đệ qui căn bản Thời gian: 3h
Chương 3: Danh sách
- Định nghĩa được danh sách liên kết.
- Khai thác được các loại danh sách liên kết: liên kết đơn; kép; ngăn xếp; hàng đợi (về cách tổ chức và các thao tác xử lý cơ bản trên danh sách liên kết).
- Giải các bài toán sử dụng danh sách liên kết, ngăn xếp, hàng đợi
Nội dung: Thời gian: 22h (LT: 15h; TH: 7h)
1. Danh sách liên kết đơn Thời gian: 7h
2. Danh sách liên kết kép Thời gian: 9h
3. Stack (ngăn xếp) Thời gian: 3h
4. Queue (Hàng đợi) Thời gian: 3h
Chương 4: Các phương pháp sắp xếp cơ bản
Mục tiêu:
- Định nghĩa được bài toán sắp xếp.
- Hiểu được giải thuật, cách cài đặt, cách đánh giá giải thuật của một số phương pháp sắp xếp cơ bản.
- Giải được với các bài toán sắp xếp sử dụng các phương pháp sắp xếp đã khảo sát.
Nội dung: Thời gian: 15h (LT: 10h; TH: 5h)
1. Định nghĩa bài toán sắp xếp Thời gian: 1h
2. Phương pháp chọn trực tiếp (Selection sort) Thời gian: 2h
3. Phương pháp chèn trực tiếp (Insertion sort) Thời gian: 2h
4. Phương pháp sắp xếp chèn nhị phân (Binary Insertion sort) Thời gian: 1h
5. Phương pháp đổi chỗ trực tiếp (Interchange sort) Thời gian: 2h
6. Phương pháp nổi bọt (Bubble sort) Thời gian: 2h
7. Phương pháp sắp xếp nhanh (Quick sort) Thời gian: 3h
8. Phương pháp sắp xếp trộn (Merge sort) Thời gian: 3h
Chương 5: Tìm kiếm
Mục tiêu:
- Hiểu được giải thuật, cài đặt được gải thuật và đánh giá được độ phức tạp của giải thuật tìm kiếm tuyến tính, tìm kiếm nhị phân.
- Giải được với các bài toán sử dụng giải thuật tìm kiếm tuyến tính, tìm kiếm nhị phân.
Nội dung: Thời gian: 8h (LT: 5h; TH: 3h)
1. Tìm kiếm tuyến tính Thời gian: 5h
2. Tìm kiếm nhị phân Thời gian: 3h
IV. ĐIỀU KIỆN THỰC HIỆN CHƯƠNG TRÌNH
* Dụng cụ và trang thiết bị:
- Phấn, bảng đen - Máy chiếu Projector - Máy tính
- Phần mềm: Hệ điều hành, Ngôn ngữ C hoặc Pascal
* Học liệu
- Các slide bài giảng.
- Giáo trình Cấu trúc dữ liệu và giải thuật.
* Nguồn lực khác
- Phòng học lý thuyết và phòng thực hành đủ điều kiện thực hiện môn học V. PHƯƠNG PHÁP VÀ NỘI DUNG ĐÁNH GIÁ:
* Về kiến thức:
Được đánh giá kiến thức qua bài kiểm tra viết, trắc nghiệm đạt được các yêu cầu sau:
- Hiểu được mối quan hệ mật thiết giữa cấu trúc dữ liệu và giải thuật.
- Phân tích được đâu là dữ liệu, đâu là giải thuật, sự kết hợp chúng để tạo thành một chương trình máy tính.
- Biết cách tổ chức dữ liệu hợp lý, khoa học cho một chương trình đơn giản. - Biết áp dụng thuật toán hợp lý nhất đối với cấu trúc dữ liệu tương thích để giải quyết bài toán tối ưu nhất.
- Biết và áp dụng được các phương pháp sắp xếp, tìm kiếm đơn giản.
* Về kỹ năng:
- Đánh giá kỹ năng thực hành của sinh viên :
- Dùng ngôn ngữ lập trình bất kỳ nào đó thể hiện trên máy tính các bài toán cần kiểm nghiệm về: đệ qui, danh sách, sắp xếp, tìm kiếm...
* Về thái độ: Cẩn thận, thao tác nhanh chuẩn xác, tự giác trong học tập. VI. HƯỚNG DẪN CHƯƠNG TRÌNH
1. Phạm vi áp dụng chương trình
Chương trình môn học được sử dụng để giảng dạy cho trình độ Cao đẳng nghề 2. Hướng dẫn một số điểm chính về phương pháp giảng dạy môn học
- Trình bày lý thuyết, ý tưởng giải thuật, cài đặt giải thuật và phương pháp đánh giá độ phức tạp của giải thuật.
- Cho sinh viên thực hành giải các bài toán cơ bản - Cho sinh viên làm các bài tập nhóm (bài tập lớn). 3. Những trọng tâm chương trình cần chú ý
- Giáo viên trước khi giảng dạy cần phải căn cứ vào nội dung của từng bài học chuẩn bị đầy đủ các điều kiện thực hiện bài học để đảm bảo chất lượng giảng dạy. 4. Sách giáo khoa và tài liệu cần tham khảo
- Giáo trình cấu trúc dữ liệu; Biên soạn: Trần Hạnh Nhi (Trường đại học Khoa hoc tự nhiên, tp. Hồ Chí Minh) Năm 2003
- Cấu Trúc Dữ Liệu Và Thuật Toán; PGS. TS. HOÀNG NGHĨA TÝ (Tác giả); Nhà xuất bản: Xây Dựng Năm 2002
- Bài Tập Nâng Cao Cấu Trúc Dữ Liệu Cài Đặt Bằng C; GIA VIỆT(Biên dịch), ESAKOV.J (Tác giả), WEISS T (Tác giả); Nhà xuất bản: Thống kê
- 455 Bài Tập Cấu Trúc Dữ Liệu - Ứng Dụng Và Cài Đặt Bằng C++; MINH TRUNG(Biên dịch), TS. KHUẤT HỮU THANH (Biên dịch), CHU TRỌNG LƯƠNG (Tác giả); Nhà xuất bản: Thống kê
- Cẩm Nang Thuật Toán (Tập1,2) ROBERT SEDGEWICK (Tác giả), TRẦN ĐAN THƯ(Biên dịch), BÙI THỊ NGỌC NGA (Biên dịch); Nhà xuất bản: Khoa học và kỹ thuật
- Giải Một Bài Toán Trên Máy Tính Như Thế Nào; GS. TSKH. HOÀNG KIẾM (Tác giả); Nhà xuất bản: Giáo dục năm 2005