Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 - ThS. Nguyễn Thị Khiêm Hòa (ĐH Ngân hàng TP.HCM)
lượt xem 10
download
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 1 Tổng quan nhằm trình bày về cấu trúc dữ liệu và thuật toán, thuật toán và các đặc trưng của thuật toán, diễn đạt thuật toán, kiểu dữ liệu, ADT, cấu trúc dữ liệu, phân tích và thiết kế thuật toán, thiết kế thuật toán, phân tích thuật toán và một số lớp các thuật toán.
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 - ThS. Nguyễn Thị Khiêm Hòa (ĐH Ngân hàng TP.HCM)
- Chương 1: Tổng quan Giảng viên: Ths. Nguyễn Thị Khiêm Hòa Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM
- Nội dung Cấu trúc dữ liệu và thuật toán Thuật toán và các đặc trưng của thuật toán Diễn đạt thuật toán Kiểu dữ liệu, ADT, cấu trúc dữ liệu Phân tích và thiết kế thuật toán Thiết kế thuật toán Phân tích thuật toán Một số lớp các thuật toán Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 2
- Mục tiêu Tìm hiểu các nội dung: Thiết kế và phân tích được thuật toán. Hiểu rõ về kiểu dữ liệu, kiểu dữ liệu trừu tượng, cấu trúc dữ liệu. Đánh giá độ phức tạp của thuật toán. Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 3
- Giải bài toán bằng máy tính Giải quyết một bài toán: Mục tiêu Phương pháp Giải quyết bài toán tin học cần phải: Tổ chức biểu diễn các đối tượng thực tế Xây dựng trình tự các thao tác xử lý trên các đối tượng dữ liệu đó Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 4
- Giải bài toán bằng máy tính Cấu trúc dữ liệu + Thuật toán Chương trình Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 5
- Kiểu dữ liệu trừu tượng _ADT Kiểu dữ liệu Kiểu dữ liệu trừu tượng ADT - abstract data type Kiểu dữ liệu trừu tượng: T = V: Values - miền giá trị O: Operators – các thao tác Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 6
- Cấu trúc dữ liệu Cấu trúc dữ liệu (Data structure): Cách tổ chức dữ liệu cho bài toán Có một số cấu trúc dữ liệu riêng của ngôn ngữ lập trình được gọi là CTDL tiền định. Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 7
- Đánh giá cấu trúc dữ liệu Phản ánh đúng thực tế Phù hợp với thao tác Tiết kiệm tài nguyên hệ thống Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 8
- Cấu trúc lưu trữ (trong/ngoài) Cách biểu diễn tối ưu của cấu trúc dữ liệu trên bộ nhớ (trong/ngoài) của máy tính được gọi là cấu trúc lưu trữ. Có nhiều cấu trúc lưu trữ khác nhau cho cùng một cấu trúc dữ liệu Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 9
- Thuật toán Định nghĩa Lý thuyết thuật toán quan tâm đến những vấn đề sau: Giải được bằng thuật toán Tối ưu hóa thuật toán Triển khai thuật toán Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 10
- Thuật toán Đặc trưng của thuật toán Tính xác định Tính hữu hạn (Tính dừng) Tính đúng đắn Tính phổ dụng Tính khả thi Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 11
- Diễn đạt thuật toán Dạng lưu đồ (sơ đồ khối) Dạng ngôn ngữ tự nhiên (Ngôn ngữ liệt kê từng bước) Ngôn ngữ lập trình Dạng mã giả Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 12
- Diễn đạt thuật toán Các ký hiệu biểu diễn thuật toán bằng sơ đồ khối Nút thao tác Nút điều khiển: trong đó ghi điều kiện cần kiểm tra trong quá trình tính toán. Nút khởi đầu ,kết thúc Cung Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 13
- Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 14
- Diễn đạt thuật toán Ví dụ 1: Thuật toán xác định n là số nguyên tố Bước 1: Nhập n Bước 2: Nếu n ≤ 1 n ko nguyên tố dừng Bước 3: Nếu n ≥ 2, gán i 2 Bước 4: Nếu i ≥ √n hay n chia hết cho i bước 6 Bước 5: Gán i i+1, trở lại bước 4 Bước 6: Nếu i > √n n nguyên tố dừng Ngược lại, n không là nguyên tố dừng Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 15
- Diễn đạt thuật toán Ví dụ 2: Thuật toán tìm phần tử thứ n của dãy số Fibonacci Bước 1: Nhập n Bước 2: Nếu n=1 hay n=2 fn=1 dừng Bước 3: Nếu n > 2, gán a1, b1, i1 Bước 4: Gán ca+b, ab, bc Bước 5: Nếu i = n - 2 fn=c dừng Ngược lại i i+1, quay lại bước 4 Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 16
- Diễn đạt thuật toán Ví dụ 3: Tìm phần tử lớn nhất trong mảng A Thuật toán Tim_max(A, n) Input: Mảng A, gồm n số nguyên Output: Giá trị lớn nhất của A Max A[0] for i 1 to n 1 do if A[i] Max then Max A[i] return Max Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 17
- Mối quan hệ giữa Cấu trúc dữ liệu và thuật toán Đối tượng xử lý của thuật toán chính là dữ liệu Với một cấu trúc dữ liệu, sẽ có những thuật toán tương ứng. Thuật toán thường thay đổi khi cấu trúc dữ liệu thay đổi. Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 18
- Thiết kế thuật toán Từ bài toán đến chương trình Thiết kế Lập trình #include Bài toán … thực tế Giải thuật Chương trình Kỹ thuật thiết kế giải •Ngôn ngữ lập thuật: Chia để trị, quy trình: hoạch động, back •PASCAL, C/C++, tracking v.v… JAVA, … Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 19
- Thiết kế thuật toán Module hoá và việc giải quyết bài toán Chiến thuật chia để trị (divide-conquer): Để thực hiện chiến thuật này, thường có hai cách thiết kế: Từ trên xuống (Top-Down Design). Tinh chỉnh từng bước Khoa Công Nghệ Thông Tin - Trường Đại học Ngân hàng TP.HCM 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cấu trúc dữ liệu - Bài 1:Tổng quan về cấu trúc dữ liệu và giải thuật
47 p | 175 | 17
-
Bài giảng Cấu trúc dữ liệu 1: Chương 1 - Lương Trần Hy Hiến
7 p | 162 | 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 | 77 | 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 | 116 | 9
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây đỏ đen - Bùi Tiến Lên
25 p | 81 | 8
-
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 và giải thuật: Các cấu trúc dữ liệu
193 p | 58 | 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 | 159 | 6
-
Bài giảng Cấu trúc dữ liệu - Chương 3: Cấu trúc cây
65 p | 58 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây AA - Bùi Tiến Lên
30 p | 35 | 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 | 106 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây - Bùi Tiến Lên
68 p | 40 | 4
-
Bài giảng Cấu trúc dữ liệu: Chương 1 - ThS. Thiều Quang Trung (2018)
44 p | 43 | 4
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây AVL - Bùi Tiến Lên
38 p | 47 | 4
-
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 | 58 | 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 | 68 | 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 | 50 | 2
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