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

Cấu trúc dữ liệu và giải thuật 1

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 (43.2 KB, 4 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

1
ĐẠI HỌC ĐÀ LẠT


<i>Khoa: Tốn - Tin </i>


<b>ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN </b>



1. Tên học phần: <b>CẤU TRÚC DỮ LIỆU VAØ GIẢI THUẬT 1</b> Mã số: TH
2. Số đơn vị học trình: 5 (3 LT + 2 TH)


3. Trình độ: dành cho sinh viên năm thứ 2
4. Phân bố thời gian:


- Lên lớp: 3 tín chỉ


- Thực hành phịng máy: 2 tín chỉ
5. Điều kiện tiên quyết: Nhập mơn lập trình
6. Mơ tả vắn tắt nội dung học phần:


Giới thiệu cho học viên các kiến thức căn bản về các cấu trúc dữ liệu cơ bản
tĩnh cũng như động (thông qua danh sách liên kết và cây). Trên cơ sở đó, cung
cấp cho học viên các kiến thức về các thuật toán cơ bản gắn liền với các cấu
trúc dữ liệu đó như sắp xếp và tìm kiếm ở bộ nhớ trong cũng như so sánh độ
phức tạp của các thuật tốn này. Ngơn ngữ lập trình được chọn để minh họa
các kiến thức trên là C++.


7. Nhiệm vụ của sinh viên: học viên cần tham dự đầy đủ các buổi
- Lên lớp: lý thuyết và giải bài tập trên lớp


- Bài tập: thực hành tại phòng máy
8. Tài liệu học tập:



- Sách, giáo trình chính: giáo trình “Cấu trúc dữ liệu và thuật toán 1”
- Sách tham khảo:


[1] NIKLAUS WIRTH: Cấu trúc dữ liệu + Giải thuật = Chương trình
(Nguyễn Quốc Cường dịch). NXB ĐH và THCN – 1991


[2] LARRY N. HOFF, SANFORD LEESTMA: Lập trình nâng cao bằng
Pascal với các cấu trúc dữ liệu. Bản dịch của Lê Minh Trung. Công ty Scitec
- 1991.


[3] NGUYỄN TRUNG TRỰC: Cấu trúc dữ liệu. Trung tâm điện toán, trường
ĐH Bách khoa TP. HCM – 1992.


[4] ĐỖ XUÂN LÔI: Cấu trúc dữ liệu và thuật toán. NXB KHKT - 1995.
[5] TRẦN HẠNH NHI & DƯƠNG ANH ĐỨC: Nhập môn cấu trúc dữ liệu và
thuật tốn. Khoa Cơng nghệ thông tin, ĐH KHTN TP HCM – 2000.


[6] DONALD KNUTH:The Art of Programming. (vol. 1: Fundamental
Algorithms, vol. 3: Sorting and Searching). Addition Wesley Puplishing
Company - 1973.


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

2
9. Tiêu chuẩn đánh giá sinh viên


- Thi thực hành giữa hoặc cuối học kỳ
- Thi viết cuối học kỳ


- Khác: đối với các sinh viên khá - giỏi có thể đăng ký với giáo viên để làm
tiểu luận (bài tập lớn), giáo viên sẽ đánh giá trực tiếp sinh viên cả về mặt lý


thuyết lẫn thực hành trên máy thông qua tiểu luận này.


10. Thang điểm:


- Đối với sinh viên bình thường:


. Điểm thi thực hành giữa hoặc cuối học kỳ: khoảng 30 - 40%
. Điểm thi viết cuối học kỳ: khoảng 70 - 60%


- Đối với sinh viên làm tiểu luận hay bài tập lớn: sinh viên không phải thi cuối
kỳ và lấy điểm tiểu luận làm điểm kết quả cuối cùng của học phần.


11. Mục tiêu của học phần


Giáo trình này nhằm cung cấp cho sinh viên các kiến thức căn bản về các cấu
trúc dữ liệu cơ sở có cấu trúc tĩnh và động (thông qua danh sách liên kết và
cây, chủ yếu là cây nhị phân) cũng như các thuật toán cơ bản liên quan đến
chúng như sắp xếp, tìm kiếm ở bộ nhớ trong. Để có thể nắm bắt các kiến thức
trình bày học phần này, sinh viên cần nắm được các kiến thức về tin học đại
cương, nhập mơn lập trình. Các kiến thức này sẽ tạo điều kiện cho học viên
tiếp tục dễ dàng nắm bắt các kiến thức các học phần tin học về sau như: cấu
trúc dữ liệu và thuật toán nâng cao, thiết kế và đánh giá thuật tốn, đồ hoạ, hệ
điều hành, trí tuệ nhân tạo, ...


12. Nội dung chi tiết học phần:


<b>Chương I </b>


<b>GIỚI THIỆU CẤU TRÚC DỮ LIỆU </b>
<b>VÀ PHÂN TÍCH THUẬT TOÁN </b>


I.1. Quan hệ giữa cấu trúc dữ liệu và thuật tốn


I.2. Thiết kế và phân tích thuật toán


I.2.1. Thiết kế thuật toán theo phương pháp Top-Down
I.2.2. Phân tích thuật tốn và độ phức tạp của thuật tốn


<b>Chương II </b>


<b>TÌM KIẾM VAØ SẮP XẾP </b>
II.1. Giới thiệu về sắp xếp và tìm kiếm


II.1.1. Định nghóa sắp xếp


II.1.2. Định nghóa phép tìm kiếm
II.2. Phương pháp tìm kiếm trong


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

3
II.3.1. Các phương pháp sắp xếp chọn và HeapSort


II.3.2. Các phương pháp chèn và ShellSort
II.3.3. Các phương pháp đổi chỗ và QuickSort
II.3.4. Các Phương pháp sắp xếp trộn và theo cơ số
II.3.5. So sánh các phương pháp sắp xếp


<b>Chương III </b>


<b>CẤU TRÚC DANH SÁCH LIÊN KẾT </b>
III.1. Giới thiệu đối tượng dữ liệu con trỏ



III.1.1. So sánh cấu trúc dữ liệu tĩnh và cấu trúc dữ liệu động
III.1.2. Định nghĩa


III.1.3. Khai baùo


III.1.4. Cấp phát và thu hồi vùng nhớ
III.2. Danh sách liên kết (DSLK)


III.2.1. Định nghóa DSLK
III.2.2. Cài đặt DSLK


III.2.3. DSLK khơng có nút câm
III.3. Vài ứng dụng của DSLK


III.3.1. Ngăn xếp


a. Định nghóa và cài đặt ngăn xếp


b. Các phép toán cơ bản trên ngăn xếp
c. Một số ứng dụng của ngăn xếp


III.3.2. Hàng đợi


a. Định nghĩa và cài đặt hàng đợi
b. Các phép toán cơ bản trên hàng đợi
c. Ứng dụng của hàng đợi


III.4. Các loại DSLK khác
III.4.1. DSLK có nút câm
III.4.2. DSLK vịng


III.4.3. DSLK đối xứng
III.4.4. DS đa liên kết


III.4.5. Một số ứng dụng khác của DSLK
a. DS có thứ tự và DS tổ chức lại
b. Cài đặt tập hợp bằng DSLK


c. Cài đặt đa thức rời rạc bằng DSLK
d. Cài đặt ma trận thưa bằng DSLK
e. Sắp xếp topology


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

4
IV.1.1. Định nghóa cây


IV.1.2. Các khái niệm khác
IV.2. Cây nhị phân


IV.2.1. Định nghóa


IV.2.2. Vài tính chất của cây nhị phân
IV.2.3. Biểu diễn cây nhị phân


IV.2.4. Duyệt cây nhị phân


IV.2.5. Một cách biểu diễn khác của cây nhị phân
IV.2.6. Biểu diễn cây n - phân bằng cây nhị phân
IV.2.7. Xây dựng cây nhị phân cân bằng hoàn toàn
IV.3. Cây nhị phân tìm kiếm


IV.3.1. Định nghĩa cây nhị phân tìm kiếm


IV.3.2. Tìm kiếm một phần tử trên cây BST


IV.3.3. Chèn một phần tử vào cây BST, xây dựng cây BST
IV.3.4. Phương pháp sắp xếp bằng cây BST


IV.3.5. Xóa một phần tử khỏi cây BST, hủy cây BST
IV.4. Cây nhị phân tìm kiếm cân bằng


IV.4.1. Định nghóa


IV.4.2. Chiều cao của cây cân bằng
IV.4.3. Chỉ số cân bằng của cây AVL
IV.4.4. Chèn một phần tử vào cây AVL
IV.4.5. Xóa một phần tử khỏi cây AVL


Đà Lạt, ngày 12 tháng 05 năm 2006
Người biên soạn




</div>

<!--links-->

×