1. Trang chủ
  2. » Tất cả

3 phân tích độ phức tạp chuong 1 phan tich do phuc tap cua giai thuat

26 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 0,97 MB

Nội dung

Cấu trúc liệu & Giải thuật (Data Structures and Algorithms) Phân tích độ phức tạp giải thuật Nguyễn Tri Tuấn Khoa CNTT – ĐH.KHTN.Tp.HCM Email: nttuan@fit.hcmus.edu.vn LOGO Thuật ngữ  Chi phí (cost)  Độ phức tạp (complexity)  Phân tích độ phức tạp (complexity analysis) 2/38 Nội dung Chi phí giải thuật Độ phức tạp giải thuật Big-O, Big-, Big- www.themegallery.com Chi phí giải thuật (1)  Tính tổng n số nguyên: sum = 0; for (i = 0; i < n; i++) sum += i;  Giải thuật Bubble sort: for (i = n-1; i > 0; i ) for (j = 1; j a[j]) { temp = a[j-1]; a[j-1] = a[j]; a[j] = temp; } Chi phí giải thuật (2)  Cùng vấn đề, giải nhiều giải thuật khác  VD Sắp xếp mảng  Bubble sort, Heap sort, Quick sort,…  Mỗi giải thuật có chi phí (cost) khác  Chi phí thường tính dựa trên:  thời gian (time)  nhớ (space/memory)  Chi phí “thời gian” thường quan tâm nhiều Chi phí giải thuật (3)  Tuy nhiên, việc dùng khái niệm “thời gian” theo nghĩa đen (vd giải thuật A chạy 10s) khơng ổn, vì:  tuỳ thuộc vào loại máy tính (vd máy Dual-Core chạy nhanh Pentium II)  tuỳ thuộc ngơn ngữ lập trình (vd Giải thuật viết C/Pascal chạy nhanh gấp 20 lần viết Basic/LISP)  Do đó, người ta thường dùng “đơn vị đo logic” (vd số phép tính sở) thay cho đơn vị đo “thời gian thật” (mili-giây, giây,…)  VD Chi phí để xếp mảng n phần tử giải thuật Bubble sort n2 (phép tính sở) Nội dung Chi phí giải thuật Độ phức tạp giải thuật Big-O, Big-, Big- 7/38 Độ phức tạp giải thuật (1) VD Tính độ phức tạp giải thuật sau sum = 0; for (i=0; i

Ngày đăng: 25/03/2023, 13:10

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w