Your SlideShare is downloading. ×
0
Cơ sở thuật toán
Cơ sở thuật toán
Cơ sở thuật toán
Cơ sở thuật toán
Cơ sở thuật toán
Cơ sở thuật toán
Cơ sở thuật toán
Cơ sở thuật toán
Cơ sở thuật toán
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Cơ sở thuật toán

1,865

Published on

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,865
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
94
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Chương I: Cơ sở toán học của lý thuyết thuật toán
    • Đánh giá độ phức tạp tính toán của chương trình theo ký hiệu O
    • Máy Turing. Các lớp P, NP-khó và NP-đầy đủ (làm tiểu luận theo nhóm)
  • 2. 1. Đánh giá độ phức tạp tính toán của chương trình theo ký hiệu O
    • Một số vấn đề trong việc phân tích thuật toán
    • Phân tích thời gian thực hiện thuật toán
  • 3. Một số vấn đề trong việc phân tích thuật toán
    • Tính đúng đắn
    • Tính đơn giản
    • Tính tối ưu:
      • Không gian nhớ
      • Thời gian
  • 4. Phân tích thời gian thực hiện thuật toán
    • Phụ thuộc vào nhiều yếu tố:
    • Phần cứng
    • Chương trình dịch
    • Kích thước dữ liệu vào: Nếu gọi n là kích thước dữ liệu vào thì thời gian thực hiện một thuật toán, ký hiệu là T(n).
    • Độ phức tạp tính toán của thuật toán
  • 5. Độ phức tạp tính toán của thuật toán
    • Ví dụ: Nếu thời gian thực hiện một thuật toán là T(n) = Cn 2 (C: hằng dương), thì độ phức tạp tính toán của thuật toán này ký hiệu: T(n) = O(n 2 ).
    • Tổng quát: Nếu  C>0 và n 0 sao cho:
    • T(n)  Cg(n) khi n  n 0
    • thì độ phức tạp của thuật toán:
    • T(n) = O(g(n))
  • 6. Xác định độ phức tạp của thuật toán
    • Quy tắc tổng :
    • Nếu T 1 (n) = O(g 1 (n)) và T 2 (n) = O(g 2 (n)) là độ phức tạp của P 1 và P 2 , thì độ phức tạp của “chạy P 1 xong chạy P 2 ”:
    • T(n) = T 1 (n)+T 2 (n) = O(max(g 1 (n), g 2 (n)))
    • Tính chất: Nếu g 1 (n)  g 2 (n),  n  n 0 thì:
    • O(g 1 (n) + g 2 (n)) = O(g 2 (n))
  • 7.
    • Quy tắc nhân :
    • Nếu T 1 (n) = O(g 1 (n)) và T 2 (n) = O(g 2 (n)) là độ phức tạp của P 1 và P 2 , thì độ phức tạp của “P 1 lồng P 2 ”:
    • T(n) = T 1 (n)T 2 (n) = O(g 1 (n)g 2 (n))
    • Tính chất:
    • O(Cg(n)) = O(g(n)), với C là hằng
  • 8. Phép toán tích cực
    • Là một phép toán trong thuật toán mà thời gian thực hiện nó không ít hơn thời gian thực hiện các phép khác.
    • Một phương pháp xác định độ phức tạp tính toán của một thuật toán:
      • Xác định một phép toán tích cực
      • Xác định g(n): số lần thực hiện của phép đó
      • Kết luận: O(g(n)) là độ phức tạp tính toán của thuật toán.
  • 9. T(n) phụ thuộc vào đặc điểm của dữ liệu
    • T(n) trong trường hợp thuận lợi nhất: T tốt
    • T(n) trong trường hợp xấu nhất: T xấu
    • T(n) trung bình: T tb

×