Vận dụng hợp lý các cấu trúc dữ liệu như mảng, danh sách liên kết, ngăn xếp, hàng đợi, cây nhị phân tìm kiếm để giải quyết bài toán cụ thể.. Vận dụng được các thuật toán tìm kiếm và sắp [r]
(1)CẤU TRÚC DỮ LIỆU
1 Tên mã học phần: Cấu trúc liệu giải thuật (2101409) 2 Số tín chỉ: (3, 2, 8)
Tổng số tín chỉ: Lý thuyết: Thực hành: Tự học: 8 3 Giảng viên phụ trách
ThS Võ Thị Xuân Thiều 4 Tài liệu học tập
Sách, giáo trình chính
[1] Trần Hạnh Nhi, Dương Anh Đức: Nhập môn cấu trúc liệu thuật tốn Khoa Cơng nghệ thông tin, ĐH KHTN TP HCM, 2010 [ 005.73 TRA-N]
Tài liệu tham khảo
[2] Nguyễn Ngơ Bảo Trân, Giáo trình cấu trúc liệu giải thuật – Trường Đại học Bách Khoa TP.HCM, 2005 [006.68 NGU-T]
5 Thông tin học phần a Mục tiêu học phần
Sau học xong học phần này, sinh viên trang bị kiến thức giải thuật và cách tổ chức liệu chương trình máy tính Củng cố phát triển kỹ năng lập trình Nắm vững cài đặt kiểu liệu cấu trúc Vận dụng hợp lý cấu trúc dữ liệu mảng, danh sách liên kết, ngăn xếp, hàng đợi, nhị phân tìm kiếm để giải tốn cụ thể Vận dụng thuật tốn tìm kiếm xếp để giải quyết toán cụ thể Xác định độ phức tạp thời gian thuật toán sử dụng các cấu trúc lặp rẽ nhánh Phát triển kỹ làm việc nhóm Ngồi mơn học này còn cung cấp kiến thức, kỹ tảng cho môn học sau.
b Mô tả vắn tắt học phần
Các giải thuật tìm kiếm xếp mảng Cấu trúc liệu động Danh sách liên kết. Ngăn xếp hàng đợi Cấu trúc cây: nhị phân, nhị phân tìm kiếm, nhị phân tìm kiếm cân (AVL).
c Học phần học trước (A), tiên (B), song hành (C) Kỹ thuật lập trình (2101405) (B)
d Yêu cầu khác Không
6 Chuẩn đầu học phần a Chuẩn đầu môn học.
Khi hồn thành mơn học, người học có khả năng:
1 Hiện thực thuật tốn tìm kiếm xếp để giải toán cụ thể. 2 Vận dụng hợp lý cấu trúc liệu mảng, danh sách liên kết, ngăn xếp,
hàng đợi, nhị phân tìm kiếm để giải tốn cụ thể.
3 Xác định đợ phức tạp thời gian thuật toán sử dụng cấu trúc lặp và rẽ nhánh.
(2)b Ma trận tích hợp chuẩn đầu mơn học chuẩn đầu chương trình đào tạo
7 Nội dung học phần kế hoạch giảng dạy
N i dung gi ng d yộ ả ạ S ti tố ếCLOs
Phương pháp gi ngả d yạ CHƯƠNG T ng quan v c u trúc dổ ề ấ ữ
li u gi i thu tệ ả ậ
1.1 Vai trò c a c u trúc d li u m tủ ấ ữ ệ ộ
đ án tin h cề ọ
1.2 Các tiêu chu n đánh giá c u trúc dẩ ấ ữ
li uệ
1.3 Ki u d li uể ữ ệ
1.4 Đánh giá đ ph c t p c a gi i thu tộ ứ ạ ủ ả ậ
3 L, D
CHƯƠNG Tìm ki m s p x pế ắ ế 2.1 Gi i thi u v tìm ki m s p x pớ ệ ề ế ắ ế
2.1.1. Bài toán s p x pắ ế
2.1.2. Bài tốn tìm ki mế
2.2 Phương pháp tìm ki m trongế
2.2.1. Phương pháp tìm ki m nế ế
tính
2.2.2. Phương pháp tìm ki m nhế ị
phân
2.3 Phương pháp s p x p trongắ ế
2.3.1. Phương pháp SelectionSort 2.3.2. Phương pháp InsertionSort và
ShellSort
2.3.3. Phương pháp InterchangeSort 2.3.4. Phương pháp Bublesort và
ShakerSort
2.3.5. Phương pháp QuickSort 2.3.6. Phương pháp HeapSort 2.3.7. Phương pháp MergeSort 2.3.8. Phương pháp RadixSort
2.3.9. So sánh phương pháp s pắ
x pế
9 L, D, P
(3)3.1 Gi i thi u đ i tớ ệ ố ượng d li u trữ ệ ỏ
3.2 Danh sách liên k t (DSLK)ế
3.2.1. Đ nh nghĩa DSLK ị
3.2.2. Các hình th c t ch c DSLKứ ổ ứ
3.3 DSLK đ nơ
3.3.1. T ch c DSLK đ n theo cáchổ ứ ơ
c p phát liên k t ấ ế
3.3.2. Các thao tác c b n DSLKơ ả
đ nơ
3.3.3. S p x p danh sáchắ ế
3.4 M t s DSLK khácộ ố
3.4.1. DSLK kép 3.4.2. DSLK vòng
CHƯƠNG Ngăn x p hàng đ i ế ợ 4.1 Ngăn x p (Stack)ế
4.1.1. Khái ni m ngăn x pệ ế
4.1.2. Các thao tác ngăn x pế
4.1.3. Ứng d ng ngăn x pụ ế
4.2 Hàng đ iợ
4.2.1. Khái ni m hàng đ iệ ợ
4.2.2. Các thao tác hàng đ i ợ
4.2.3. Ứng d ng c a hàng đ iụ ủ ợ
6 L, D, P
CHƯƠNG C u trúc câyấ 5.1 C u trúc câyấ
5.1.1. M t s khái ni m c b nộ ố ệ ơ ả
5.1.2. M t s ví d v đ i tộ ố ụ ề ố ượng các c u trúc d ng câyấ ạ
5.2 Cây nh phân ị
5.2.1. M t s tính ch t c a nhộ ố ấ ủ ị
phân
5.2.2. Bi u di n nh phânể ễ ị
5.2.3. Chuy n t t ng quát sangể ừ ổ
cây nh phânị
5.2.4. Duy t nh phânệ ị
5.3 Cây nh phân tìm ki m BSTị ế
5.3.1. Đ nh nghĩa nh phân tìmị ị
ki mế
5.3.2. Tìm ki m m t ph n t trênế ộ ầ ử
cây BST
5.3.3. Chèn m t ph n t vào BST,ộ ầ ử
xây d ng BSTự
5.3.4. Xóa m t ph n t kh i BST,ộ ầ ử ỏ
h y BSTủ
5.3.5. Phương pháp s p x p b ngắ ế ằ
(4)cây BST
5.4 Cây nh phân tìm ki m cân b ng AVL ị ế ằ
5.4.1. Đ nh nghĩaị
5.4.2. Chi u cao c a cân b ngề ủ ằ
5.4.3. Ch s cân b ng c a AVLỉ ố ằ ủ
5.4.4. Chèn m t ph n t vào AVLộ ầ ử
5.4.5. Xóa m t ph n t kh i AVộ ầ ử ỏ 8 Phương pháp đánh giá
a Phương pháp đánh giá chuẩn đầu học phần
CLOs Phương pháp đánh giá Tỷ trọng
%
Cuối kỳ (tự luận) 25
Cuối kỳ (tự luận) 50
Cuối kỳ (tự luận) 25
4 Bài tập nhóm 100
b Các thành phần đánh giá
Phương pháp đánh giá
Tỷ tr ọ n g %
Lý thuyết Đánh giá thường xuyên 20
Bài kiểm tra thường xuyên 7
Tham gia giảng 6
Bài kiểm tra thường xuyên 7
Kiểm tra kỳ 30
Kiểm tra cuối kỳ 50
Thực hành Bài tập nhóm 100
c Thang điểm đánh giá: Theo học chế tín chỉ. Ngày biên soạn: 04 tháng 03 năm 2018
(5)Data Structures And Algorithms
1 Course number and name: Data Structures and Algorithms 2 Credits and contact hours: credits, 45 contact hours (3LT + 1TH) 3 Instructor’s or course coordinator’s name:
Vo Thi Xuan Thieu 4 Textbooks, title, author, and year:
Tran Hanh Nhi, Duong Anh Duc, Introduction to data structures and algorithms, Vietnam National University of Ho Chi Minh city, 2010
5 Specific Course Information a Catalog description:
Concepts of data type, and data structure Linked data structures and dynamic data types Link lists Stacks and queues Binary trees, non-binary trees, binary search trees The complexity of algorithms Linear search and binary search in arrays Sorting algorithms in arrays: interchange sort, selection sort, insertion sort, bubble sort and quick sort b Prerequisites or co-requisites: 2101409 .
c Type of course: Required. 6 Specific goals for the course
Upon successful completion, students will be able to:
1 Implement sorting and searching algorithms (in arrays) to solve problems.
2 Aply data structures such as arrays, linked lists, stacks, queues, and trees (binary search trees, AVL) to solve problems.
3 Estimates the time complexity of the simple algorithms. 4 Develop teamwork skills.
Mapping:
7 Brief list of topics to be covered:
Chapter 1: Overview of Data Structures and Algorithms 1. The role of data structures in an informatics project 2. The criteria for evaluating the data structures 3. Data types
(6)Chapter 2: Searching and Sorting Algorithms 1 Searching (Linear Search, Binary Search)
2 Sorting (Interchange Sort, Selection Sort, Insertion Sort, Bubble Sort, Quick Sort) Chapter 3: Linked List
1. Introduction to Dynamic Data Types 2. Introduction to Linked Lists
3 Singly Linked Lists (creating, updating, searching, sorting, deleting) 4 Other Linked Lists (Doubly Linked Lists, Cyclic Linked Lists) Chapter 4: Stacks and Queues
1. Stacks (Linked stacks, stacks using arrays) 2. Queues (Linked Queues, queues using arrays) Chapter 5: Trees
1 Introduction to Trees 2 Binary Trees