Học tập
Miễn phí
4.8 · 458 lượt mua

Đánh giá độ phức tạp thuật toán và đề xuất phương án tối ưu

Bản đánh giá độ phức tạp Big O kèm giải pháp tái cấu trúc mã nguồn để tăng hiệu năng.
Prompt sẽ làm gì
Prompt phân tích đoạn mã nguồn có sẵn để đo lường hiệu năng về thời gian và bộ nhớ. Kết quả trả về bảng phân tích Big O, chỉ ra điểm nghẽn và cung cấp mã nguồn tối ưu hóa.

Nội dung đầy đủ

Tôi là chuyên gia tối ưu hiệu năng hệ thống và giải thuật nâng cao với hơn 15 năm kinh nghiệm trong việc phân tích độ phức tạp thuật toán, tái cấu trúc mã nguồn và xử lý dữ liệu quy mô lớn. Nhiệm vụ của tôi là giúp bạn đánh giá toàn diện hiệu năng của đoạn mã nguồn hiện tại, xác định chính xác các điểm nghẽn và đưa ra phương án tối ưu hóa tối đa về cả thời gian thực thi lẫn dung lượng bộ nhớ sử dụng. 1. ĐẦU VÀO THÔNG TIN Dưới đây là các thông tin và mã nguồn do người dùng cung cấp để tiến hành phân tích: - Ngôn ngữ lập trình: {{ngon_ngu_lap_trinh}} - Đoạn mã nguồn cần phân tích: {{doan_ma_nguon}} - Quy mô dữ liệu đầu vào dự kiến: {{quy_mo_du_lieu}} - Ràng buộc tài nguyên hoặc mục tiêu hiệu năng: {{rang_buoc_tai_nguyen}} 2. NHIỆM VỤ CHÍNH Thực hiện đánh giá chuyên sâu đoạn mã nguồn được cung cấp, đo lường độ phức tạp thuật toán theo ký hiệu Big O, phát hiện các hạn chế về cấu trúc dữ liệu hoặc vòng lặp, sau đó tái cấu trúc mã nguồn để đạt hiệu năng tối ưu nhất dựa trên các ràng buộc tài nguyên đã nêu. 3. QUY TRÌNH THỰC HIỆN CHI TIẾT Bước 1: Phân tích hiện trạng và đo lường Big O - Phân tích chi tiết từng dòng lệnh, vòng lặp, hàm đệ quy hoặc thao tác truy xuất dữ liệu trong mã nguồn ban đầu. - Xác định độ phức tạp thời gian (Time Complexity) và độ phức tạp bộ nhớ (Space Complexity) ở các trường hợp: Tốt nhất (Best Case), Trung bình (Average Case) và Tệ nhất (Worst Case). Bước 2: Phát hiện điểm nghẽn hiệu năng (Bottlenecks) - Chỉ ra chính xác các dòng mã hoặc khối lệnh gây lãng phí tài nguyên CPU hoặc RAM. - Phân tích nguyên nhân gốc rễ như: vòng lặp lồng nhau không cần thiết, chọn sai cấu trúc dữ liệu, phân bổ bộ nhớ lặp đi lặp lại, hoặc các thao tác I/O bị nghẽn. Bước 3: Đề xuất chiến lược tối ưu hóa - Lựa chọn lại cấu trúc dữ liệu phù hợp hơn cho bài toán. - Thay đổi thuật toán (ví dụ: chuyển từ duyệt cạn sang quy hoạch động, hai con trỏ, chia để trị, hoặc sử dụng bảng băm). - Tối ưu hóa việc sử dụng bộ nhớ đệm (caching/memoization) nếu quy mô dữ liệu lớn. Bước 4: Viết lại mã nguồn đã tối ưu - Cung cấp mã nguồn hoàn chỉnh đã được tái cấu trúc bằng đúng {{ngon_ngu_lap_trinh}}. - Đảm bảo mã nguồn mới tuân thủ chuẩn viết code (coding conventions), dễ đọc, dễ bảo trì và có chú thích rõ ràng tại các đoạn tối ưu quan trọng. Bước 5: So sánh đối chiếu hiệu năng - Lập bản so sánh trước và sau khi tối ưu về Big O và mức độ tiêu thụ tài nguyên thực tế dựa trên {{quy_mo_du_lieu}}. 4. YÊU CẦU CHẤT LƯỢNG VÀ RÀNG BUỘC KỸ THUẬT - Độ chính xác tuyệt đối: Ký hiệu Big O phải được toán học hóa đúng đắn, không đưa ra ước lượng cảm tính. - Tính thực tiễn: Giải pháp tối ưu phải giữ nguyên logic nghiệp vụ ban đầu của mã nguồn và chạy được trên thực tế. - Tương thích ngôn ngữ: Mã nguồn tối ưu phải tận dụng các tính năng cao cấp hoặc thư viện chuẩn tối ưu nhất của {{ngon_ngu_lap_trinh}}. - Không ngắt quãng: Mã nguồn tối ưu phải được viết đầy đủ, không cắt ngắn bằng các đoạn ghi chú dạng mã chờ điền. 5. ĐỊNH DẠNG ĐẦU RA Trả về kết quả phân tích theo cấu trúc tiêu chuẩn bên dưới: Phần 1: Đánh giá Hiệu năng Hiện tại - Phân tích chi tiết từng đoạn mã. - Kết luận độ phức tạp thời gian Big O và bộ nhớ Big O hiện tại. Phần 2: Danh sách Điểm nghẽn và Nguyên nhân - Liệt kê các điểm nghẽn kèm dòng mã tương ứng. - Giải thích lý do ảnh hưởng xấu tới hiệu năng. Phần 3: Đề xuất Giải pháp Tối ưu - Mô tả ý tưởng thuật toán và cấu trúc dữ liệu mới. - Giải thích lý do phương án mới vượt trội hơn. Phần 4: Mã nguồn Tối ưu hoàn chỉnh - Đoạn mã đã tối ưu hóa, kèm chú thích các vị trí quan trọng. Phần 5: Bảng So sánh Hiệu năng Trước và Sau - So sánh Time Complexity (Trước vs Sau). - So sánh Space Complexity (Trước vs Sau). - Đánh giá khả năng mở rộng khi dữ liệu tăng lên {{quy_mo_du_lieu}}. 6. TIÊU CHÍ TỰ KIỂM TRA TRƯỚC KHI THỰC HIỆN - Đã xác định đúng độ phức tạp thuật toán gốc chưa? - Giải pháp mới có vi phạm bất kỳ ràng buộc nào trong {{rang_buoc_tai_nguyen}} không? - Mã nguồn viết lại có chạy được ngay mà không phát sinh lỗi cú pháp không? - Mọi câu hỏi và yêu cầu đã được giải quyết trọn vẹn chưa? Hãy tiến hành phân tích đoạn mã nguồn {{doan_ma_nguon}} theo đúng quy trình và định dạng trên.
Mô hình đã kiểm thử
Claude
Gemini
Thẻ
Big O
Tối ưu code
Cấu trúc dữ liệu

Prompt cùng lĩnh vực

Học tập
Miễn phí
4.8 · 2.765 lượt mua
Ôn thi trắc nghiệm theo phương pháp Feynman
Biến tài liệu học thành 20 câu hỏi trắc nghiệm kèm giải thích đơn giản như kể cho trẻ 5 tuổi.
Học tập
Trắc nghiệm
Feynman
Miễn phí
Học tập
Miễn phí
4.7 · 864 lượt mua
Lập chiến thuật phân bổ thời gian chi tiết cho từng dạng bài
Bạn nhận được chiến lược chia thời gian làm bài tối ưu theo năng lực cá nhân và cấu trúc đề.
Quản lý thời gian
Chiến thuật thi
Tối ưu hóa
Miễn phí
Học tập
Miễn phí
4.6 · 1.696 lượt mua
Nâng cấp văn phong nói sang chuẩn học thuật trong bài viết ngoại ngữ
Nhận bản viết lại bài văn theo phong cách trang trọng kèm giải thích lý do thay đổi từ vựng và cấu trúc.
Kỹ năng viết
Academic Writing
Ngoại ngữ
Miễn phí