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

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

Đang tải... (xem toàn văn)

Thông tin tài liệu

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] http://courses.cs.hcmuns.edu.vn/ctdl1/Ctdl1/index.html [12] http://www.cs.ualberta.ca/~holte/T26/top.realTop.html [13] http://ciips.ee.uwa.edu.au/~morris/Year2/PLDS210/ds_ToC.html Trang 8 . 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. 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

Ngày đăng: 30/09/2013, 01:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan