Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

DCMH.CO2003.2.

Đại Học Quốc Gia TP.HCM Vietnam National University - HCMC


Trường Đại Học Bách Khoa Ho Chi Minh City University of Technology
Khoa Khoa học và Kỹ thuật Máy tính Faculty of Computer Science and Engineering

Đề cương môn học


CO2003 - Cấu trúc dữ liệu và giải thuật
( CO2003 - Data Structures and Algorithms )

* Thông tin tổng quan

Số tín chỉ 4 ETCS 6 Mã số môn học CO2003 Học kỳ áp dụng 20202


Tổng tiết TKB Tổng giờ học tập / làm việc LT BT / TH TNg TQ BTL / TL DA TTNT DC / TLTN / LVTN SVTH
Số tiết / giờ
60 168.33 30 0 30 0 45 0 0 0 135
Tỉ lệ đánh giá Thi 50% KT 10% 0% 10% 0% 30% 0%
Tự luận
- Bài tập lớn (BTL): Tiểu luận / Thuyết trình Kiểm tra
80 phút
Hình thức đánh giá - Kiểm tra giữa kỳ (KT)
Trắc nghiệm và tự luận
- Thí nghiệm (TNg) Thi
120 phút
Môn tiên quyết --
Môn Song hành --
CO1007 - Cấu trúc rời rạc cho khoa học máy tính
Môn học trước
CO1027 - Kỹ thuật lập trình
CTĐT ngành + NG_KHM - CTDT Khoa KHOA HỌC & KỸ THUẬT MÁY TÍNH - Ngành Khoa học Máy tính
Trình độ đào tạo DH - Đại học
Ghi chú khác --
* Xin xem hướng dẫn ở cuối đề cương
* Mục tiêu môn học
Nội dung tiếng việt :

Môn học nhằm cung cấp cho sinh viên khả năng sử dụng các cấu trúc dữ liệu nền tảng. Môn học cũng hướng
dẫn sinh viên hiểu, phân tích và đánh giá được các giải thuật làm việc với các cấu trúc dữ liệu đó.

* Nội dung tóm tắt môn học

Nội dung tiếng việt :

● Ôn lại về lập trình, các kiểu dữ liệu trong C/C++, đặc biệt là cấu trúc và con trỏ.
● Giới thiệu về độ phức tạp tính toán
● Rèn luyện kỹ thuật lập trình đệ quy.
● Các cấu trúc dữ liệu: danh sách; chồng và hàng; cây nhị phân, cây nhị phân tìm kiếm, AVL và đa phân; heap;
giải thuật sắp xếp; bảng băm; và đồ thị.
● Các giải thuật sắp xếp; tìm kiếm; và các thao tác trên cây, đồ thị.

* Tài liệu học tập


Nội dung tiếng việt :

Sách, Giáo trình chính:


[1]. “Data Structures and Algorithm Analysis”, Clifford A. Shaffer, Dover Publications, 2013. (Free Ebook)

Sách tham khảo:


[1] “Data Structures and Algorithms in C++”, A. Drozdek, Thomson Learning Inc., 2005.
[2] “C/C++: How to Program”, 7th Ed. – Paul Deitel and Harvey Deitel, Prentice Hall, 2012.
[3] “Data Structures: a Pseudocode Approach with C++”, R.F.Gilberg and B.A. Forouzan, Thomson Learning
Inc., 2001.

* Hướng dẫn cách học

Nội dung tiếng việt :

● Tài liệu học tập bao gồm: đề cương môn học, video bài giảng, slide bài giảng, bài tập, bài thí nghiệm, và bài
tập lớn được lưu trữ trên máy chủ quản lý tư liệu học tập của khoa (trường) . Sinh viên xem trước video bài
giảng ở nhà, tải slides về, in ra và mang theo khi lên lớp học.
● Sinh viên cần làm thêm các bài tập và các bài thực hành. Sinh viên nên tham gia làm bài tập online trên hệ
thống máy chủ nói trên, cũng như sử dụng hệ thống này để trao đổi với sinh viên khác, TA, và giảng viên.
● Sinh viên nên đi học đầy đủ và làm bài tập trong quá trình học sẽ giúp tiết kiệm thời gian trong quá trình ôn
thi giữa kỳ và cuối kỳ.
● Đối với phần thực hành và bài tập, sinh viên tham gia đầy đủ các buổi thí nghiệm và nộp lại báo cáo thí
nghiệm ngay cuối giờ thí nghiệm.

* Hiểu biết, kỹ năng, thái độ cần đạt được sau khi học môn học

L.O - CDR MH CDIO

L.O.1 - Xác định được độ phức tạp của các giải thuật đơn giản (độ phức tạp đa thức trên vòng lặp lồng
nhau - không đệ quy)
L.O.1.1 - Nêu định nghĩa về độ phức tạp “Big O” của giải thuật.
L.O.1.2 - Xác định độ phức tạp của các giải thuật đơn giản có thời gian tính toán đa thức
L.O.2 - Thao tác được các cấu trúc dữ liệu cơ bản như danh sách, cây, đồ thị.
L.O.2.1 - Nêu định nghĩa và biểu diễn được các cấu trúc dữ liệu cơ bản như: mảng, danh sách liên
kết, chồng, hàng đợi, cây, đồ thị.
L.O.2.2 - Hiện thực được các phương thức cần thiết cho từng cấu trúc dữ liệu như: mảng, danh
sách liên kết, chồng, hàng đợi, cây, đồ thị.
L.O.3 - Cài đặt được các giải thuật cơ bản như sắp xếp, tìm kiếm
L.O.3.1 - Minh họa được hoạt động của các giải thuật tìm kiếm trên cấu trúc dữ liệu như: mảng,
danh sách liên kết, chồng, hàng đợi, cây, đồ thị.
L.O.3.2 - Minh họa được từng bước hoạt động của các giải thuật sắp xếp trên một danh sách.
L.O.3.3 - Hiện thực được các phương thức cần thiết và giải thuật đề xuất trên một cấu trúc dữ liệu
cho sẵn để giải quyết bài toán

L.O - CDR MH ABET

L.O.1 - Xác định được độ phức tạp của các giải thuật đơn giản (độ phức tạp đa thức trên vòng lặp lồng
nhau - không đệ quy)
L.O.2 - Thao tác được các cấu trúc dữ liệu cơ bản như danh sách, cây, đồ thị.
L.O.3 - Cài đặt được các giải thuật cơ bản như sắp xếp, tìm kiếm

* Danh mục các hoạt động đánh giá

Loại hoạt động Tên loại hoạt động Nội dung


TES A.O.1 - Kiểm tra giữa kì Chưa có
EXM A.O.2 - Kiểm tra cuối kì Chưa có
IHW A.O.5 - Bài tập lớn Chưa có
AIC A.O.4 - Bài tập trên lớp Chưa có
AIC A.O.6 - Thí nghiệm Chưa có

* Ma trận CDR - HDDG

Chuẩn đầu ra Hoạt động đánh giá


L.O.1.1-Nêu định nghĩa về độ phức tạp “Big O” A.O.2-Kiểm tra cuối kì
của giải thuật. A.O.4-Bài tập trên lớp
A.O.1-Kiểm tra giữa kì
A.O.2-Kiểm tra cuối kì
L.O.1.2-Xác định độ phức tạp của các giải thuật
A.O.4-Bài tập trên lớp
đơn giản có thời gian tính toán đa thức
A.O.5-Bài tập lớn
A.O.6-Thí nghiệm
A.O.1-Kiểm tra giữa kì
L.O.2.1- Nêu định nghĩa và biểu diễn được các A.O.2-Kiểm tra cuối kì
cấu trúc dữ liệu cơ bản như: mảng, danh sách A.O.4-Bài tập trên lớp
liên kết, chồng, hàng đợi, cây, đồ thị. A.O.5-Bài tập lớn
A.O.6-Thí nghiệm
A.O.1-Kiểm tra giữa kì
L.O.2.2- Hiện thực được các phương thức cần A.O.2-Kiểm tra cuối kì
thiết cho từng cấu trúc dữ liệu như: mảng, danh A.O.4-Bài tập trên lớp
sách liên kết, chồng, hàng đợi, cây, đồ thị. A.O.5-Bài tập lớn
A.O.6-Thí nghiệm
A.O.1-Kiểm tra giữa kì
L.O.3.1-Minh họa được hoạt động của các giải A.O.2-Kiểm tra cuối kì
thuật tìm kiếm trên cấu trúc dữ liệu như: mảng, A.O.4-Bài tập trên lớp
danh sách liên kết, chồng, hàng đợi, cây, đồ thị. A.O.5-Bài tập lớn
A.O.6-Thí nghiệm
L.O.3.2- Minh họa được từng bước hoạt động A.O.2-Kiểm tra cuối kì
của các giải thuật sắp xếp trên một danh sách. A.O.4-Bài tập trên lớp
A.O.1-Kiểm tra giữa kì
L.O.3.3- Hiện thực được các phương thức cần A.O.2-Kiểm tra cuối kì
thiết và giải thuật đề xuất trên một cấu trúc dữ A.O.4-Bài tập trên lớp
liệu cho sẵn để giải quyết bài toán A.O.5-Bài tập lớn
A.O.6-Thí nghiệm
* Dự kiến danh sách cán bộ tham gia giảng dạy

STT Mã Cán Bộ Họ Và Tên


1 001733 Nguyễn Hứa Phùng
2 003682 Nguyễn Đức Dũng
3 001995 Lê Thành Sách
4 003778 Trần Tuấn Anh
5 003045 Huỳnh Tường Nguyên
6 002715 Trần Giang Sơn
7 003444 Vương Bá Thịnh
8 003971 Lưu Quang Huân
9 003904 Trần Ngọc Bảo Duy

* Nội dung chi tiết

Chuẩn đầu ra chi Hoạt động dạy và học Hoạt động đánh
Buổi Nội dung
tiết Giảng viên Sinh Viên giá
1. Giới thiệu · Giới
thiệu về môn học ·
Các khái niệm: dữ
liệu, kiểu dữ liệu,
kiểu dữ liệu trừu
tượng, cấu trúc dữ
1
liệu, giải thuật. ·
Ôn tập về con trỏ,
mảng, struct, và
class. · Bài tập Yêu
cầu tự học đ/v sinh
viên: 8 giờ
2. Độ phức tạp giải L.O.1.1 - Nêu định A.O.4- Bài tập trên
thuật · Khái niệm - Giảng lý thuyết - - Làm bài tập cá
nghĩa về độ phức lớp
độ phức tạp · Ký Cho bài tập trên lớp nhân và nhóm trên
tạp “Big O” của A.O.2- Kiểm tra
hiệu Big-O và các và giải thích lớp
giải thuật. cuối kì
trường hợp · Các
1 bài toán và các độ
L.O.1.2 - Xác định
phức tạp thường A.O.4- Bài tập trên
độ phức tạp của các - Giảng lý thuyết - - Làm bài tập cá
gặp · Giới thiệu về lớp
giải thuật đơn giản Cho bài tập trên lớp nhân và nhóm trên
P và NP · Bài tập A.O.2- Kiểm tra
có thời gian tính và giải thích lớp
Yêu cầu tự học đ/v cuối kì
toán đa thức
sinh viên: 7 giờ
2 3. Danh sách · Khái A.O.4- Bài tập trên
L.O.1.2 - Xác định
niệm và ứng dụng · lớp
độ phức tạp của các - Giảng lý thuyết - - Làm bài tập cá
Hiện thực bằng A.O.6- Thí nghiệm
giải thuật đơn giản Cho bài tập trên lớp nhân và nhóm trên
mảng (array) · Hiện A.O.2- Kiểm tra
có thời gian tính và giải thích lớp
thực bằng liên kết cuối kì
toán đa thức
đơn · Các dạng liên A.O.5- Bài tập lớn
kết phức tạp khác ·
Đánh giá các dạng
hiện thực · Bài tập
Yêu cầu tự học đ/v
sinh viên: 8
Chuẩn đầu ra chi Hoạt động dạy và học Hoạt động đánh
Buổi Nội dung
tiết Giảng viên Sinh Viên giá
L.O.2.1 - Nêu định
nghĩa và biểu diễn A.O.4- Bài tập trên
được các cấu trúc lớp
- Giảng lý thuyết - - Làm bài tập cá
dữ liệu cơ bản như: A.O.6- Thí nghiệm
Cho bài tập trên lớp nhân và nhóm trên
mảng, danh sách A.O.2- Kiểm tra
và giải thích lớp
liên kết, chồng, cuối kì
hàng đợi, cây, đồ A.O.5- Bài tập lớn
thị.
L.O.2.2 - Hiện thực
được các phương A.O.4- Bài tập trên
thức cần thiết cho lớp
- Giảng lý thuyết - - Làm bài tập cá
từng cấu trúc dữ A.O.6- Thí nghiệm
Cho bài tập trên lớp nhân và nhóm trên
liệu như: mảng, A.O.2- Kiểm tra
và giải thích lớp
danh sách liên kết, cuối kì
chồng, hàng đợi, A.O.5- Bài tập lớn
cây, đồ thị.
L.O.3.1 - Minh họa
được hoạt động của A.O.4- Bài tập trên
các giải thuật tìm lớp
- Giảng lý thuyết - - Làm bài tập cá
kiếm trên cấu trúc A.O.6- Thí nghiệm
Cho bài tập trên lớp nhân và nhóm trên
dữ liệu như: mảng, A.O.2- Kiểm tra
và giải thích lớp
danh sách liên kết, cuối kì
chồng, hàng đợi, A.O.5- Bài tập lớn
cây, đồ thị.
L.O.3.3 - Hiện thực
A.O.4- Bài tập trên
được các phương
lớp
thức cần thiết và - Giảng lý thuyết - - Làm bài tập cá
A.O.6- Thí nghiệm
giải thuật đề xuất Cho bài tập trên lớp nhân và nhóm trên
A.O.2- Kiểm tra
trên một cấu trúc và giải thích lớp
cuối kì
dữ liệu cho sẵn để
A.O.5- Bài tập lớn
giải quyết bài toán
3 4. Chồng và Hàng · L.O.1.2 - Xác định
A.O.1- Kiểm tra
Các ứng dụng của độ phức tạp của các - Giảng lý thuyết - - Làm bài tập cá
giữa kì
chồng & hàng · giải thuật đơn giản Cho bài tập trên lớp nhân và nhóm trên
A.O.2- Kiểm tra
Các tác vụ cơ bản có thời gian tính và giải thích lớp
cuối kì
trên chồng · Hiện toán đa thức
thực chồng bằng L.O.2.1 - Nêu định
danh sách liên kết nghĩa và biểu diễn
và mảng · Các tác được các cấu trúc A.O.1- Kiểm tra
vụ cơ bản trên hàng - Giảng lý thuyết - - Làm bài tập cá
dữ liệu cơ bản như: giữa kì
· Hiện thực hàng Cho bài tập trên lớp nhân và nhóm trên
mảng, danh sách A.O.2- Kiểm tra
bằng danh sách liên và giải thích lớp
liên kết, chồng, cuối kì
kết và mảng · Bài hàng đợi, cây, đồ
tập Yêu cầu tự học thị.
đ/v sinh viên: 8 giờ
L.O.2.2 - Hiện thực
được các phương
thức cần thiết cho A.O.1- Kiểm tra
- Giảng lý thuyết - - Làm bài tập cá
từng cấu trúc dữ giữa kì
Cho bài tập trên lớp nhân và nhóm trên
liệu như: mảng, A.O.2- Kiểm tra
và giải thích lớp
danh sách liên kết, cuối kì
chồng, hàng đợi,
cây, đồ thị.
Chuẩn đầu ra chi Hoạt động dạy và học Hoạt động đánh
Buổi Nội dung
tiết Giảng viên Sinh Viên giá
L.O.3.1 - Minh họa
được hoạt động của
các giải thuật tìm A.O.1- Kiểm tra
- Giảng lý thuyết - - Làm bài tập cá
kiếm trên cấu trúc giữa kì
Cho bài tập trên lớp nhân và nhóm trên
dữ liệu như: mảng, A.O.2- Kiểm tra
và giải thích lớp
danh sách liên kết, cuối kì
chồng, hàng đợi,
cây, đồ thị.
L.O.3.3 - Hiện thực
được các phương
A.O.1- Kiểm tra
thức cần thiết và - Giảng lý thuyết - - Làm bài tập cá
giữa kì
giải thuật đề xuất Cho bài tập trên lớp nhân và nhóm trên
A.O.2- Kiểm tra
trên một cấu trúc và giải thích lớp
cuối kì
dữ liệu cho sẵn để
giải quyết bài toán
5. Cây nhị phân ·
Các khái niệm căn
bản về cây và ứng
dụng · Cây nhị
phân · Cấu trúc lưu
4 trữ và các phương
thức · Cây nhị phân
tìm kiếm · Cây biểu
thức · Bài tập Yêu
cầu tự học đ/v sinh
viên: 8 giờ
6. Cấu trúc cây
nâng cao · Cây
AVL · Cây đa phân
4-5 · Cây B-Tree · Bài
tập Yêu cầu tự học
đ/v sinh viên: 16
giờ
7. Heap · Khái
niệm và ứng dụng ·
Cấu trúc lưu trữ và
5
các phép toán · Bài
tập Yêu cầu tự học
đ/v sinh viên: 4 giờ
8. Sắp xếp · Khái
niệm và ứng dụng ·
Các giải thuật chèn
· Các giải thuật
chọn · Các giải
6-7
thuật trao đổi · Các
giải thuật sắp xếp
ngoài · Bài tập Yêu
cầu tự học đ/v sinh
viên: 12 giờ
Chuẩn đầu ra chi Hoạt động dạy và học Hoạt động đánh
Buổi Nội dung
tiết Giảng viên Sinh Viên giá
Đồ thị · Khái niệm L.O.2.1 - Nêu định
và ứng dụng · Cấu nghĩa và biểu diễn
trúc lưu trữ và các được các cấu trúc A.O.2- Kiểm tra
- Giảng lý thuyết - - Làm bài tập cá
phương thức · Các dữ liệu cơ bản như: cuối kì
8-9 Cho bài tập trên lớp nhân và nhóm trên
bài toán ứng dụng mảng, danh sách A.O.4- Bài tập trên
và giải thích lớp
trên đồ thị · Bài tập liên kết, chồng, lớp
Yêu cầu tự học đ/v hàng đợi, cây, đồ
sinh viên: 8 giờ thị.
10. Tìm kiếm · Giải
thuật tìm kiếm trên
danh sách không và L.O.3.2 - Minh họa
A.O.2- Kiểm tra
có thứ tự · Danh được từng bước - Giảng lý thuyết -
Làm bài tập cá cuối kì
10 sách tự tổ chức · hoạt động của các Cho bài tập trên lớp
nhân và theo nhóm A.O.4- Bài tập trên
Giải thuật băm · giải thuật sắp xếp và giải thích
lớp
Bài tập Yêu cầu tự trên một danh sách.
học đ/v sinh viên: 8
giờ

* Giải thích thuật ngữ

Giải thích các thuật ngữ --

* Thông Tin liên hệ

Bộ môn / Khoa phụ trách Khoa Học Máy Tính - Khoa Khoa học và Kỹ thuật Máy tính
Văn phòng Khoa Khoa học và Kỹ thuật Máy tính
Điện thoại 5847
Giảng viên phụ trách Huỳnh Tường Nguyên
E-mail htnguyen@hcmut.edu.vn

Thành phố Hồ Chí Minh , ngày 22 tháng 6 năm 2021

TRƯỞNG KHOA CHỦ NHIỆM BỘ MÔN CB PHỤ TRÁCH LẬP ĐỀ CƯƠNG

You might also like