Professional Documents
Culture Documents
02 Cosothuattoan
02 Cosothuattoan
Thuật toán
2. Các phương pháp biểu diễn
3. Độ phức tạp
4. Phân loại bài toán
5. Thuật toán đệ quy
6. Thuật giải
7. Một số thuật toán kinh điển
8. Seminar: thuật toán đổi số La Mã
Xem bài giảng chi tiết >
1. Thuật toán:
- Khái niệm: Là 1 tập các hướng dẫn để thực hiện công việc nào đó
- Tính chất: tính hữu hạn (số bước hữu hạn + dừng), tính xác định (không mập mờ + có thể thực thi), tính đúng.
- Đặc trưng: đầu vào/ra, tính hiệu quả, tính tổng quát.
2. Biểu diễn:
- Ngôn ngữ tự nhiên
- Sơ đồ khối
- Mã giả
3. Độ phức tạp:
- Giới hạn bởi thời gian (thực hiện) & không gian (bộ nhớ)
- Mối liên quan: đầu vào & chi phí thực hiện thuật toán
- Độ phức tạp tăng dần: O(C) < O(logan) < O(n) < O(n.logan) < O(nk) < O(an) < O(n!)
4. Phân loại bài toán:
Xem bài giảng chi tiết >
Xem minh họa >
5. Đệ quy:
- Khái niệm: bước thứ n không được thực hiện ngay trong ngữ cảnh của nó mà phải xác định thông qua
một bước ở cấp độ thấp hơn.
- Bao gồm: phần đệ quy & phần cơ sở (phần dừng)
6. Thuật giải:
- Khái niệm: Các cách giải chấp nhận được nhưng không hoàn toàn đáp ứng đầy đủ các tiêu chuẩn của
thuật toán.
- Thuật giải Heuristic (có nghĩa là “find” or “discover”): Nguyên lý vét cạn thông minh; Nguyên lý
tham lam (Greedy); Nguyên lý thứ tự; Hàm Heuristic
Xem minh họa >
(r l ) số khoảng/giá trị
m l ( x a(l )).
a (r ) a(l )
trong đó: m: vị trí phần tử khảo sát; x: giá trị cần tìm; a(l):giá trị phần tử phía
bên trái dãy; a(r): giá trị phần tử bên phải dãy; r: vị trí bên phải; l: vị trí bên trái
Vd: Tìm số 68 trong dãy: 9 21 32 38 51 59 68 80 91 97 113 119 131 142 149
l=1; a(1) = 9 r=15; a(r)=149
- Độ phức tạp: O(log2log2n); tìm càng nhanh khi các giá trị phân bố càng đều
Seminar: Thuật toán chuyển số La Mã sang số thập phân và ngược
lại. Nhóm thuyết trình gồm 3 người. Thời lượng trình bày: 20-30’
Nội dung:
- Giới thiệu sơ lược về hệ thống số La Mã.
- Lược đồ thuật toán chuyển đổi
- Viết mã giả cho thuật toán
1. Giáo trình “Tin học trong Vật lý kỹ thuật” – Huỳnh
Quang Linh