Issuu on Google+

ĐH Bách khoa – ĐHQG Tp.HCM Khoa: Khoa Học và Kỹ Thuật Máy Tính Bộ môn: Khoa Hoc Máy Tính

Tp.HCM, ngày 30 tháng 9 năm 2008

Đề cương Môn học Đại học

CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Data Structures and Algorithms Mã số MH: 503001 - Số tín chỉ - Số tiết

: 4(3.2.8) TCHP: - Tổng: 75 LT: 45 BT: 15 TH: 10 ĐA: 0 BTL/TL: 5 (Ghi chú rõ nếu có hình thức khác như TT ngoài trường, tham quan, ... các môn này có thể dùng đơn vị "buổi", "tuần" thay cho số tiết – đính kèm dự trù chi tiết định mức chi phí thực hành TN đặc biệt là khi đi thực tập bên ngoài để dễ dàng cho xét duyệt kinh phí sau này) - Đánh giá : Kiểm tra: 50% Thi viết trong 60' + Đồ án + Bài tập + Thực hành Thang điểm 10/10 Thi cuối kỳ: 50% Thi viết trong 120' - Môn tiên quyết : Không có MS: - Môn học trước : Kỹ thuật lập trình MS: 501127 - Môn song hành : Không có MS: - CTĐT ngành : Khoa học máy tính thuộc chương trình đào tạo khóa 2006. - Trình độ : Dự kiến sẽ giảng dạy vào khoảng năm thứ hai của hệ Đại học bằng 1 (khối kiến thức-KT) Thuộc khối KT: Cơ sở ngành khoa học máy tính - Ghi chú khác :

1. Mục tiêu của môn học: Môn học nhằm giới thiệu các định nghĩa và cách sử dụng các cấu trúc dữ liệu nền tảng, và cung cấp một phương pháp luận căn bản để thiết kế, hiện thực, và phân tích các giải thuật.

2. Nội dung tóm tắt môn học: Căn bản về độ phức tạp tính toán. Danh sách liên kết. Chồng và hàng. Giải thuật đệ qui. Cây tìm kiếm nhị phân và AVL. Cây đa nhánh. Đồ thị. Sắp xếp. Bảng băm.

3. Tài liệu học tập: [1]. R.F.Gilberg, B.A. Forouzan, 2001, Data Structures: a Pseudocode Approach with C++, Thomson Learning Inc. [2]. A. Drozdek, 2005, Data Structures and Algorithms in C++, Thomson Learning Inc.

PĐT, Mẫu 2008-ĐC

Tr.1/4


Đề cương MH :original.file

PĐT, Mẫu 2008-ĐC

4. Các hiểu biết, các kỹ năng cần đạt được sau khi học môn học Khi hoàn tất môn học, người học sẽ có khả năng: (1) Ước lượng độ phức tạp tính toán của các giải thuật; (2) Áp dụng các cấu trúc dữ liệu thích hợp cho từng bài toán cụ thể; (3) Thiết kế và viết giải thuật bằng mã giả; và (4) Hiện thực giải thuật bằng C++.

5. Hướng dẫn cách học - chi tiết cách đánh giá môn học: Thi viết giữa kỳ, được xem tài liệu, trong 60’ (15%), đồ án lập trình (25%), bài tập trên lớp (5%), thực hành (5%), thi viết cuối kỳ, được xem tài liệu, trong 120’ (50%).

6. Danh sách Cán bộ tham gia giảng dạy: • •

PGS. TS. Dương Tuấn Anh Th.S. Cao Duy Trường (trợ giảng)

- Khoa KH&KT Máy Tính

7. Nội dung chi tiết: Tuần 1 Chương 1.

Nội dung Giới thiệu

1.1

Mã giả

1.2

Kiểu dữ liệu trừu tượng

1.3

Độ phức tạp tính toán

Chương 2.

Tài liệu [1] ,[2]

Ghi chú

[1]

Bài tập trên lớp về độ phức tạp tính toán

[1]

Bài tập trên lớp về danh sách liên kết, chồng, hàng Thực hành về danh sách liên kết Thực hành về chồng, hàng,

Danh sách liên kết

2.1

Danh sách tuyến tính

2.2

Danh sách liên kết

2.3

Danh sách liên kết phức

Các yêu cầu tự học đ/v sinh viên 8 giờ 2

Chương 3.

Chồng và hàng

3.1

Các tác vụ cơ bản trên chồng

3.2

Hiện thực chồng bằng danh sách liên kết và mảng

3.3

Các ứng dụng của chồng

3.4

Các tác vụ cơ bản trên hàng

3.5

Hiện thực hàng bằng danh sách liên kết và mảng

3.6

Các ứng dụng của hàng

Các yêu cầu tự học đ/v sinh viên 8 giờ 3

Hiện thực các giải thuật trên danh sách liên kết dùng C++ Các yêu cầu tự học đ/v sinh viên 8 giờ

4

Hiện thực các giải thuật trên chồng và hàng dùng C++

[1]

Các yêu cầu tự học đ/v sinh viên 8 giờ 5

Chương 4.

Đệ qui

[1]

Tr.2/4


Đề cương MH :original.file

Tuần

PĐT, Mẫu 2008-ĐC

4.1

Nội dung Hiện thực chương trình con

4.2

Khái niệm đệ qui

4.3

Thiết kế giải thuật đệ qui

4.4

Khử đệ qui

4.5

Quay lui

Tài liệu

Ghi chú đệ qui

Các yêu cầu tự học đ/v sinh viên 8 giờ 6, 7

Chương 5.

Cây nhị phân

5.1

Các khái niệm căn bản về cây

5.2

Cây tìm kiếm nhị phân

5.3

Cây AVL

5.4

Đống

[1]

Bài tập trên lớp về cây nhị phân Thực hành về cây nhị phân

Các yêu cầu tự học đ/v sinh viên 16 giờ 8

Hiện thực các giải thuật trên cây nhị phân dùng C++

[1]

Bài tập trên lớp về cây nhị phân

[1],[2]

Thực hành về cây nhị phân

[1],[2]

Bài tập trên lớp về đồ thị

Các yêu cầu tự học đ/v sinh viên 8 giờ 9

Chương 6.

Cây đa nhánh

6.1

Cây M-nhánh

6.2

Cây-B

Các yêu cầu tự học đ/v sinh viên 8 giờ 10,11 Chương 7.

Đồ thị

7.1

Cấu trúc lưu trữ

7.2

Các tác vụ cơ bản

7.3

Cây phủ tối thiểu

7.4

Đường dẫn ngắn nhất

7.5

Các bài toán ứng dụng trên đồ thị

Thực hành về đồ thị

Các yêu cầu tự học đ/v sinh viên 16 giờ 12

Hiện thực các giải thuật trên đồ thị dùng C++

[1]

Bài tập trên lớp về đồ thị

[1]

Thực hành về đồ thị

[1]

Bài tập trên lớp về sắp xếp và bảng băm

Các yêu cầu tự học đ/v sinh viên 8 giờ 13

Chương 8.

Sắp xếp

8.1

Các giải thuật chèn

8.2

Các giải thuật chọn

8.3

Các giải thuật trao đổi

8.4

Sắp xếp ngoài

Các yêu cầu tự học đ/v sinh viên 8 giờ 14

Chương 9. 9.1

Bảng băm Các hàm băm

Tr.3/4


Đề cương MH :original.file

Tuần 9.2

Nội dung Giải quyết đụng độ bằng địa chỉ mở

9.3

Giải quyết đụng độ bằng danh sách liên kết

9.4

Giải quyết đụng độ bằng băm gói

PĐT, Mẫu 2008-ĐC

Tài liệu

Ghi chú

Các yêu cầu tự học đ/v sinh viên 8 giờ 15

Tuần dự trữ

**

Nội dung giới hạn cho kiểm tra giữa kỳ (tập trung) Đến hết chương 5. (ước tính số giờ SV cần để chuẩn bị kiểm tra: 8) Nội dung thi cuối kỳ (tập trung) Từ chương 6 đến chương 9 (ước tính số giờ SV cần để chuẩn bị cho kỳ thi: 12)

**

Thực hành về sắp xếp

Tr.4/4


14 5003001 data structure and algorithms eng