Phân tích và cải thiện độ phức tạp thuật toán trong codebase hiện tại

Lượt xem 32
AI sử dụng
ChatGPT Gemini Claude

Mục tiêu

Giúp lập trình viên phân tích độ phức tạp thuật toán (Time Complexity và Space Complexity) trong codebase hiện tại, xác định các điểm병병 hiệu năng, và đề xuất các giải pháp tối ưu hóa cụ thể để cải thiện tốc độ thực thi và tiết kiệm tài nguyên.

Khi nào nên dùng

  • Khi bạn muốn đánh giá hiệu năng của một hàm hoặc thuật toán cụ thể
  • Khi code chạy chậm và bạn cần tìm ra nguyên nhân gốc rễ
  • Khi chuẩn bị tối ưu hóa codebase trước khi deploy lên production
  • Khi muốn học cách tính toán Big O notation cho các cấu trúc dữ liệu khác nhau
  • Khi cần so sánh hiệu năng giữa các cách tiếp cận khác nhau

Hướng dẫn tùy biến

  • Thay đổi ngôn ngữ lập trình: Thay thế Python/JavaScript trong prompt bằng ngôn ngữ bạn đang sử dụng (Java, C++, Go, Rust, v.v.)
  • Tập trung vào loại phức tạp cụ thể: Nếu chỉ quan tâm Time Complexity, hãy yêu cầu AI bỏ qua Space Complexity
  • Thêm ràng buộc: Nếu có yêu cầu về thời gian thực thi hoặc giới hạn bộ nhớ, hãy đề cập rõ ràng
  • Yêu cầu so sánh: Nếu muốn so sánh nhiều cách tiếp cận, hãy cung cấp tất cả các phiên bản code

Lưu ý

  • Big O notation chỉ xem xét trường hợp xấu nhất (worst case), không phải trường hợp trung bình
  • Độ phức tạp không phải lúc nào cũng là yếu tố duy nhất – đôi khi code đơn giản hơn nhưng chậm hơn là lựa chọn tốt hơn
  • Cần kiểm tra thực tế bằng profiling tools để xác nhận các phát hiện lý thuyết
  • Tối ưu hóa sớm có thể dẫn đến code phức tạp và khó bảo trì – cân bằng giữa hiệu năng và khả năng đọc

Nội dung Prompt

Bạn cần đăng nhập để xem đầy đủ nội dung Prompt.

Có thể bạn quan tâm

Sản phẩm nổi bật