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 Đệ Quy TS Lê Nguyên Khôi Trường Đại Học Công Nghệ - ĐHQGHN Nội Dung Thuật toán đệ quy Phương pháp: Phân tích tốn học (mathematical tool) Thay (substitution) Cây đệ quy (recurrence tree) Định lý tổng quát (master theorem) Sắp Xếp Gộp – Mã Giả MergeSort (, 1, ) if = return MergeSort (, 1, /2 ) MergeSort (, /2 + 1, ) Merge (, 1, /2 , /2 + 1, ) Hàm: Merge Gộp dãy xếp làm ∈ () để gộp phần tử (thời gian tuyến tính) Sắp Xếp Gộp – Phân Tích Thuật Tốn MergeSort (, 1, ) (1) (/2) (/2) () if = return MergeSort (, 1, /2 ) MergeSort (, /2 + 1, ) Merge (, 1, /2 , /2 + 1, ) Sắp Xếp Gộp – Phân Tích Thời Gian Thơng thường bỏ qua trường hợp thời gian chạy nhỏ, không làm ảnh hưởng đến kết tiệm cận = /2 + nếu = nếu > Tính = /2 + , với số > PP Phân Tích Tốn Học Tính = /2 + , với số > = /2 + = 2 + = × 2 + + + + ⋮ = × ⋯ × + + + … + = + log ∈ log PP Thay Thế Phương pháp phổ biến Dự đốn bậc tăng Chứng minh quy nạp Ví dụ : = /2 + Giả sử: ∈ Dự đoán: (" ) (cần chứng minh #- $-) Giả sử: % ≤ % " với % < Chứng minh quy nạp ≤ " PP Thay Thế = /2 + " ≤ 4 /2 + " = /2 + " " = − ( /2 − ) ≤ " Khi /2 " − ≥ Ví dụ, với ≥ ≥ Tuy nhiên chặn không chặt PP Thay Thế Chứng minh ≤ Giả sử % ≤ % với % < : = /2 + ≤ 4 /2 + = + ≤ sai phải chứng minh quy nạp = − (−) ≤ khơng có > PP Thay Thế Làm chặt giả thiết: Bằng cách trừ bậc thấp Giả sử % ≤ % − % với % < = /2 + ≤ 4( /2 − (/2)) + = − 2 + = − − ( − ) ≤ − ≥ Chọn đủ lớn để thỏa mãn trường hợp Định Lý Tổng Quát = * /+ + ,() Xét trường hợp đặc biệt, , = 0: = * /+ 02 phương pháp: Phân tích tốn học Thay thay ∈ -./0 13 Định Lý Tổng Quát = * /+ = * /+ = * * = * + + " =* " =⋯=* =⋯ + + -./0 -./ =* = (1) ∈ -./0 14 Định Lý Tổng Quát = * /+ + ,() Trường hợp , > 0, cần so sánh độ tăng * /+ ,(): ,() tăng chậm * /+ ∈ # -./0 ,() tăng * /+ ∈ -./0 ,() tăng nhanh * /+ ∈ $ -./0 15 Định Lý Tổng Quát = * /+ + ,() So sánh ,() với -./0 : , ∈ #(-./0 134 ) với số > ,() tăng chậm -./0 với hệ số 4 đó: -./ ( ) ∈ (bỏ bậc thấp, bậc tăng chậm) 16 Định Lý Tổng Quát = * /+ + ,() So sánh ,() với -./0 : , ∈ (-./0 ) ,() tăng -./0 đó: ∈ -./ ( log ) 17 Định Lý Tổng Quát = * /+ + ,() So sánh ,() với -./0 : , ∈ $(-./0 164 ) với số > ,() tăng nhanh -./0 với hệ số 4 , thỏa mãn *, /+ ≤ ,() với < đó: ∈ (,()) 18 Định Lý Tổng Quát Cho số * ≥ 1, + ≥ 1, hàm ,() = * /+ + ,() Tiệm cận : Nếu , ∈ 7(-./0 134 ) với số > ∈ (-./0 ) Nếu , ∈ 8(-./0 ) ∈ (-./0 log ) Nếu , ∈ 9(-./0 164 ) với số > , thỏa mãn *, /+ ≤ ,() với < ∈ (,()) Chứng minh: xem 4.6 tr 97-106 19 Định Lý Tổng Quát – Bài Tập \ = /2 + () = 4(/2) + () = 4(/2) + " () = 4(/2) + log 20 Định Lý Tổng Quát – Bài Tập = /2 + * = 4, + = ⇒ -./0 = ; ,() = Trường hợp 1: , ∈ < -./0 134 =