Tải bản đầy đủ (.pdf) (3 trang)

Tổng quan tài liệu cấu trúc dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (257.61 KB, 3 trang )

Cấu trúc dữ liệu Phần tổng quan

PHẦN TỔNG QUAN
1.
Mục đích yêu cầu

Môn học cấu trúc dữ liệu cung cấp cho sinh viên một khối lượng lớn các kiến thức cơ bản
về các kiểu dữ liệu trừu tượng và các phép toán trên kiểu dữ liệu đó. Sau khi học xong
môn này, sinh viên cần phải:
- Nắm vững khái niệm kiểu dữ liệu, kiểu dữ liệu trừu tượng.
- Nắm vững và cài đặt được các kiểu dữ liệu trừu tượng cơ bản như danh sách,
ngăn xếp, hàng đợi, cây, tập hợp, bảng băm, đồ thị bằng một ngôn ngữ lập
trình căn bản.
- Vận dụng được các kiểu dữ liệu trừu tượng để giải quyết bài toán đơn giản
trong thực tế.
2.
Đối tượng sử dụng

Môn học cấu trúc dữ liệu được dùng để giảng dạy cho các sinh viên sau:
- Sinh viên năm thứ 2 chuyên ngành Tin học (môn bắt buộc )
- Sinh viên năm thứ 2 chuyên ngành Toán tin, Lý tin (môn bắt buộc)
- Sinh viên năm thứ hai chuyên ngành Điện tử - Viễn thông và tự động hóa (môn
tự chọn)
3.
Nội dung cốt lõi

Nội dung giáo trình gồm 5 chương và đuợc trình bày trong 60 tiết cho sinh viên, trong đó
có khoảng 40 tiết lý thuyết và 20 tiết bài tập mà giáo viên sẽ hướng dẫn cho sinh viên trên
lớp. Bên cạnh tài liệu này còn có tài liệu thực hành cấu trúc dữ liệu, do vậy nội dung giáo
trình hơi chú trọng về các cấu trúc dữ liệu và các giải thuật trên các cấu trúc dữ liệu đó
hơn là các chương trình hoàn chỉnh trong ngôn ngữ lập trình C.


Chương 1: Trình bày cách tiếp cận từ một bài toán đến chương trình, nó bao gồm mô
hình hoá bài toán, thiết lập cấu trúc dữ liệu theo mô hình bài toán, viết giải thuật giải
quyết bài toán và các bước tinh chế giải thuật đưa đến cài đặt cụ thể trong một ngôn ngữ
lập trình
Chương 2: Trình bày kiểu dữ liệu trừu tượng danh sách, các cấu trúc dữ liệu để cài đặt
danh sách. Ngăn xếp và hàng đợi cũng được trình bày trong chương này như là hai cấu
trúc danh sách đăc biệt. Ở đây chúng tôi cũng muốn trình bày việc ứng dụng ngăn xếp để
khử đệ qui của chương trình và nêu một số ứng dụng của hàng đợi. Cuối chương, chúng
tôi trình bày cấu trúc danh sách liên kết kép cho những bài toán cần duyệt danh sách theo
hai chiều xuôi, ngược một cách thuận lợi. Chương này có nhiều cài đặt tương đối chi tiết

Trang
6
Cấu trúc dữ liệu Phần tổng quan

để các bạn sinh viên mới tiếp cận với lập trình có cơ hội nâng cao khả năng lập trình
trong ngôn ngữ C đồng thời cũng nhằm minh hoạ việc cài đặt một kiểu dữ liệu trừu tượng
trong một ngôn ngữ lập trình cụ thể.
Chương 3: Chương này giới thiệu về kiểu dữ liệu trừu tượng cây, khái niệm cây tổng
quát, các phép duyệt cây tổng quát và cài đặt cây tổng quát. Kế đến chúng tôi trình bày về
cây nhị phân, các cách cài đặt cây nhị phân và ứng dụng cây nhị phân để xây dựng mã
Huffman. Cuối cùng, chúng tôi trình bày cây tìm kiếm nhị phân như là một ứng dụng của
cây nhị phân để lưu trữ và tìm kiếm dữ liệu.
Chương 4: Chương này dành để nói về kiểu dữ liệu trừu tượng tập hợp, các cách đơn
giản để cài đặt tập hợp như cài đặt bằng vectơ bít hay bằng danh sách có hoặc không có
thứ tự. Phần chính của chương này trình bày cấu trúc dữ liệu tự điển, đó là tập hợp với ba
phép toán thêm, xoá và tìm kiếm phần tử, cùng với các cấu trúc thích hợp cho nó như là
bảng băm và hàng ưu tiên.
Chương 5: Trình bày kiểu dữ liệu trừu tượng đồ thị, các cách biểu diễn đồ thị hay là cài
đặt đồ thị. Ở đây chúng tôi cũng trình bày các phép duyệt đồ thị bao gồm duyệt theo

chiều rộng và duyệt theo chiều sâu một đồ thị. Do hạn chế về thời lượng lên lớp nên
chúng tôi không tách riêng ra để trình bày đồ thị có hướng, đồ thị vô hướng nhưng chúng
tôi sẽ phân biệt nó ở những chổ cần thiết. Chương này đề cập một số bài toán thường gặp
trên đồ thị như là bài toán tìm đường đi ngắn nhất, bài toán tìm cây phủ tối
thiểu.…Chương này được giới thiệu để sinh viên tham khảo thêm về cách cài đặt đồ thị
và các bài toán trên đồ thị.
4.
Kiến thức tiên quyết

Để học tốt môn học cấu trúc dữ liệu này, sinh viên cần phải có các kiến thức cơ bản sau:
- Kiến thức và kỹ năng lập trình căn bản.
- Kiến thức toán rời rạc.
5.
Danh mục tài liệu tham khảo

[1] Aho, A. V. , J. E. Hopcroft, J. D. Ullman. "Data Structure and Algorihtms", Addison–
Wesley; 1983
[2]
Đỗ Xuân Lôi . "Cấu trúc dữ liệu và giải thuật". Nhà xuất bản khoa học và kỹ thuật. Hà
nội, 1995.
[3] N. Wirth " Cấu trúc dữ liệu + giải thuật= Chương trình", 1983.
[4] Nguyễn Trung Trực, "Cấu trúc dữ liệu". BK tp HCM, 1990.
[5] Lê Minh Trung ; “Lập trình nâng cao bằng Pascal với các cấu trúc dữ liệu “; 1997
Trang

7
Cấu trúc dữ liệu Phần tổng quan

[6] Ngô Trung Việt, “Ngôn ngữ lập trình C và C++ Bài giảng- Bài tập – Lời giải mẫu”;
NXB Giao thông vận tải, 2000.

[7] Nguyễn Đình Tê, Hoàng Đức Hải, “ Giáo trình lý thuyết và bài tập ngôn ngữ C” ,
NXB Giáo dục; 1998.
[8] Lê Xuân Trường, “ Giáo trình cấu trúc dữ liệu bằng ngôn ngữ C++”; NXB thống kê;
1999.
[9] Nguyễn Thanh Thủy, Nguyễn Quang Huy ,” Bài tập lập trình ngôn ngữ C”, NXB
Khoa học kỹ thuật, 1999.
[10] Michel T. Goodrich, Roberto Tamassia, David Mount, “Data Structures and
Algorithms in C++”. Weley International Edition; 2004.
[11]
/>[12] />[13] />

Trang

8

×