Trong lĩnh vực Công Nghệ Thông Tin nói riêng, yêu cầu quan trọng nhất của người học đó chính là thực hành. Có thực hành thì người học mới có thể tự mình lĩnh hội và hiểu biết sâu sắc với lý thuyết. Với ngành mạng máy tính, nhu cầu thực hành được đặt lên hàng đầu. Tuy nhiên, trong điều kiện còn thiếu thốn về trang bị như hiện nay, người học đặc biệt là sinh viên ít có điều kiện thực hành. Đặc biệt là với các thiết bị đắt tiền như Router, Switch chuyên dụng
Thiết Kế & Đánh Giá Thuật Tốn Phân Tích Thuật Tốn TS Lê Ngun Khơi Trường Đại Học Cơng Nghệ - ĐHQGHN Nội Dung Thuật toán Bài toán xếp Sắp xếp chèn Phân tích thời gian chạy xếp chèn Thuật Toán Một thủ tục tính tốn định nghĩa rõ ràng Một chuỗi bước tính tốn Nhận tập giá trị đầu vào Trả tập giá trị đầu Tính đắn: với tất tập giá trị đầu vào, thuật toán đưa tập giá trị đầu Bài Toán Sắp xếp Tìm kiếm Mạng Internet (Định tuyến liệu) Thương mại điện tử Doanh nghiệp sản xuất Đường ngắn Chuỗi chung dài Vân vân … Một Số Vấn Đề Khác Cấu trúc liệu Hiệu quả: Cách lưu trữ tổ chức liệu tạo điều kiện truy cập thay đổi cách dễ dàng P: thuật tốn chạy thời gian đa thức NP-complete: chạy khoảng thời gian hợp lý Song song: Nhiều phép tính giây nhiều lõi Bài Tốn Sắp Xếp Input: dãy số , , … , Output: tổ hợp dãy , , … , cho ≤ ≤ ⋯ ≤ Ví dụ: Input: Output: Hiệu quả: Thời gian chạy thuật toán xếp dãy số? Thuật toán tốt (chạy nhanh nhất)? Thuật Toán Sắp Xếp Sắp xếp chèn (Insertion sort): Sắp xếp trộn (Merge sort): log Với = 2; = 50; = 10.000.000 Sắp xếp chèn: é í é í/"#â% = 20.000 giây ≈ 5,5 giờ Sắp xếp trộn: * +," é í é í/"#â% ≈ 1.163 giây < 20 phút Khi s.x chèn nhanh s.x trộn? Sắp Xếp Chèn – Minh Họa 9 9 6 Sắp Xếp Chèn – Mã Giả InsertionSort (5) for ← to 9:;:? ← 5[7] B ←7−1 while B > and B > >:? 5 B + ← 5[B] B ←B−1 B + ← >:? Mã giả xem tr.18, tr.20 – 22 Sắp Xếp Chèn – Tính Đúng Đắn Khái niệm tính bất biến (loop invariant): Bắt đầu vòng lặp for dãy 5[1 … − 1] dãy ban đầu xếp Khởi tạo: trước vòng for lặp bắt đầu Duy trì: trước lần lặp trước lần lặp Kết thúc: tính bất biến giúp chứng minh thuật tốn Sắp Xếp Chèn – Mã Giả InsertionSort (5) for ← to 9:;:? ← 5[7] B ←7−1 while B > and B > >:? 5 B + ← 5[B] B ←B−1 B + ← >:? Mã giả xem tr.18, tr.20 – 22 14 Sắp Xếp Chèn – Phân Tích Thời Gian InsertionSort (5) G H −1 −1 I and B > >:? * I