Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trường ĐH Công nghệ Thông tin
lượt xem 5
download
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 giới thiệu nội dung về Tổng quan cấu trúc dữ liệu và giải thuật; Nội dung các chương trong môn học, hình thức kiểm tra, câu hỏi và bài tập cuối chương. Mời các bạn tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trường ĐH Công nghệ Thông tin
- TRƢỜNG ĐH CÔNG NGHỆ THÔNG TIN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Số tiết lý thuyết: 45 Số tiết thực hành: 30 1
- Tài Liệu Tham Khảo Trần Hạnh Nhi, Dương Anh Đức. Giáo trình Cấu Trúc Dữ Liệu 1, ĐHQG Tp. HCM, 2000. Robert Sedgewick. Cẩm nang thuật toán (bản dịch của nhóm tác giả ĐH KHTN), NXB Khoa học kỹ thuật, 1994. CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 P. S. Deshpande, O. G. Kakde. C & Data Structures, 2004. Dr. Dobb's. Algorithms and Data Structures, 1999 A.V. Aho, J.E Hopcroft, J.D Ullman. Data structures and Algorithms, Addison Wesley, 1983. 2
- Nội Dung Chƣơng Trình Buổi 1: Tổng quan về Giải thuật và Cấu trúc dữ liệu. Buổi 2: Nhu cầu tìm kiếm, sắp xếp dữ liệu. Các giải thuật tìm kiếm nội. Buổi 3: Các giải thuật sắp xếp nội: định nghĩa bài toán, một số phương pháp thông dụng như CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Selection Sort, Insertion Sort. Buổi 4: Các giải thuật sắp xếp nội: Interchange Sort, Bubble Sort, Heap Sort, Shell Sort. Buổi 5: Các giải thuật sắp xếp nội: Quick Sort, Merge Sort, Radix Sort. 3
- Nội Dung Chƣơng Trình Buổi 6: Giới thiệu Cấu trúc dữ liệu động. Buổi 7: Danh sách liên kết đơn. Buổi 8: Các cấu trúc đặc biệt của danh sách đơn, danh sách liên kết kép, hàng đợi hai đầu, danh sách liên kết có thứ tự. CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Buổi 9: Danh sách liên kết vòng, danh sách có nhiều mối liên kết, danh sách tổng quát. Buổi 10: Giới thiệu cấu trúc cây, cây nhị phân. 4
- Nội Dung Chƣơng Trình Buổi 11: Cây nhị phân tìm kiếm, cây nhị phân cân bằng, cây nhị phân cân bằng hoàn toàn. Buổi 12: Cây B-Tree, cây tìm kiếm nhiều nhánh, cây nhiều nhánh cân bằng. Buổi 13: Cây đỏ đen. CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Buổi 14: Bảng băm (Hash Table). Buổi 15: Giới thiệu một số kỹ thuật nâng cao hiệu quả thuật toán. Ôn tập. 5
- Hình Thức Đánh Giá Thi thực hành: 30% Thi lý thuyết giữa kỳ: 15% Bài tập cá nhân: 15% CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Thi lý thuyết cuối kỳ: 40% 6
- CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 CHƢƠNG 1 TỔNG QUAN VỀ CTDL VÀ THUẬT TOÁN 7
- Nội Dung Tổng quan về CTDL và thuật toán Các tiêu chuẩn của CTDL Vai trò của CTDL Độ phức tạp của thuật toán CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Thực hiện và hiệu chỉnh chương trình Tiêu chuẩn của chương trình 8
- Khái Niệm Về CTDL Và Thuật Toán Niklaus Wirth: CTDL + Thuật toán = Chương trình Cần nghiên cứu về thuật toán và CTDL! CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 9
- Sự Cần Thiết Của Thuật Toán Tại sao sử dụng máy tính để xử lý dữ liệu? Nhanh hơn. Nhiều hơn. Giải quyết những bài toán mà con người không thể hoàn thành được. Làm sao đạt được những mục tiêu đó? CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Nhờ vào sự tiến bộ của kỹ thuật: tăng cấu hình máy chi phí cao Nhờ vào các thuật toán hiệu quả: thông minh và chi phí thấp “Một máy tính siêu hạng vẫn không thể cứu vãn một thuật toán tồi!” 10
- Thuật Toán Thuật toán: Một dãy hữu hạn các chỉ thị có thể thi hành để đạt mục tiêu đề ra nào đó. Ví dụ: Thuật toán tính tổng tất cả các số nguyên dương nhỏ hơn n gồm các bước sau: Bước 1: S=0, i=1; Bước 2: nếu i
- Các Tiêu Chuẩn Của Thuật Toán Xác định Hữu hạn Đúng Tính hiệu quả CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Tính tổng quát 12
- Biễu Diễn Thuật Toán Dạng ngôn ngữ tự nhiên Dạng lưu đồ (sơ đồ khối) Dạng mã giả Ngôn ngữ lập trình CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 13
- Biểu Diễn Bằng Ngôn Ngữ Tự Nhiên NN tự nhiên thông qua các bước được tuần tự liệt kê để biễu diễn thuật toán. Ưu điểm: Đơn giản, không cần kiến thức về về cách biểu diễn (mã giả, lưu đồ,...) CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Nhược điểm: Dài dòng, không cấu trúc. Đôi lúc khó hiểu, không diễn đạt được thuật toán. 14
- Lƣu Đồ Là hệ thống các nút, cung hình dạng khác nhau thể hiện các chức năng khác nhau. A A CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Thực hiện A Gọi hàm A Vào / Ra dữ liệu Đúng B Begin End Sai Nút giới hạn bắt đầu / Điều kiện rẻ nhánh B kết thúc chƣơng trình 15
- Biểu Diễn Bằng Lƣu Đồ Bắt đầu amax = a0 Tìm phần tử mang giá trị lớn nhất i= 1 trong mảng S amax là lớn nhất Kết thúc CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 i
- Biểu Diễn Bằng Mã Giả Ngôn ngữ tựa ngôn ngữ lập trình: Dùng cấu trúc chuẩn hóa, chẳng hạn tựa Pascal, C. Dùng các ký hiệu toán học, biến, hàm. Ưu điểm: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Đỡ cồng kềnh hơn lưu đồ khối. Nhược điểm: Không trực quan bằng lưu đồ khối. 17
- Biểu Diễn Bằng Mã Giả Một số quy ƣớc 1. Các biểu thức toán học 2. Lệnh gán: “=” (AB) 3. So sánh: “==”, “!=” 4. Khai báo hàm (thuật toán) CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Thuật toán () Input: Output: End 18
- Biểu Diễn Bằng Mã Giả 5. Các cấu trúc: Cấu trúc chọn: if … then … [else …] fi Vòng lặp: while … do CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 do … while (…) for … do … od 6. Một số câu lệnh khác: Trả giá trị về: return [giá trị] Lời gọi hàm: (tham số) 19
- Biểu Diễn Bằng Mã Giả Ví dụ: Tìm phần tử lớn nhất trong mảng một chiều. amax=a0; i=1; CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 while (i
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cấu trúc dữ liệu 1: Chương 1 - Lương Trần Hy Hiến
7 p | 163 | 9
-
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 8: Cấu trúc dữ liệu ngăn xếp
28 p | 82 | 9
-
Bài giảng Cấu trúc dữ liệu giải thuật: Các kiểu dữ liệu trừu tượng cơ bản - Cấu trúc dữ liệu tuyến tính
92 p | 118 | 9
-
Bài giảng Cấu trúc dữ liệu và giải thuật – Bài 17: Cấu trúc dữ liệu dạng cây
21 p | 77 | 8
-
Bài giảng Cấu trúc dữ liệu: Chương Giới thiệu - Nguyễn Xuân Vinh
8 p | 112 | 7
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Các cấu trúc dữ liệu
193 p | 63 | 7
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trần Minh Thái (2016)
62 p | 94 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - Trần Minh Thái (Trường Đại học Hồng Bàng )
62 p | 177 | 6
-
Bài giảng Cấu trúc dữ liệu - Chương 3: Cấu trúc cây
65 p | 59 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 – Trần Minh Thái (2017)
67 p | 107 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 9: Cấu trúc dữ liệu hàng đợi
12 p | 61 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 6 - Ngô Quang Thạch
41 p | 106 | 4
-
Bài giảng Cấu trúc dữ liệu: Chương 1 - ThS. Thiều Quang Trung (2018)
44 p | 46 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Bài 1b - Hoàng Thị Điệp (2014)
29 p | 30 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Th.S Thiều Quang Trung
41 p | 70 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 5 - Ngô Quang Thạch
24 p | 59 | 3
-
Bài giảng Cấu trúc dữ liệu giải thuật: Cấu trúc dữ liệu
17 p | 53 | 2
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Bài 1a - Hoàng Thị Điệp (2014)
12 p | 59 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn