Lesson 51 — Đánh đổi độ phức tạp
Ba module tương tác: Time vs Space (điểm hoà vốn precompute theo số query), Trade-off picker (chọn ngữ cảnh → gợi ý cấu trúc), và Break-even chart (đồ thị tổng chi phí của 2 cách theo số query).
Module 1 — Time vs Space: điểm hoà vốn precompute
Bài range-sum trên mảng kích thước n. So sánh Naive (mỗi query O(n), không tốn space) với Prefix sum (build O(n) một lần, mỗi query O(1), tốn O(n) space). Kéo số query và n để xem cách nào thắng — và vì sao.
Space phụ: Naive = O(1), Prefix = O(n). Prefix đổi space lấy time — và chỉ hời khi q đủ lớn để build cost được amortize.
Module 2 — Trade-off picker: ngữ cảnh → cấu trúc
Trả lời 5 câu hỏi về ngữ cảnh. Công cụ gợi ý đánh đổi/cấu trúc phù hợp theo khung quyết định (mục 11 trong README).
Gợi ý
Module 3 — Break-even chart
Đồ thị tổng chi phí theo số query q (với n cố định). Đường Naive = q·n (dốc, tuyến tính theo q). Đường Prefix = n + q (gần như phẳng — build cost cố định + 1/query). Giao điểm là điểm hoà vốn.