1 of 8

PHÂN LOẠI �BÀI TOÁN

Giáo viên: Phan thiện huệ

SĐT: 0382 168 232

2 of 8

1. Vì sao cần xác định bài toán?

Xác định bài toán là bước đầu tiên và quan trọng nhất trong quá trình giải quyết vấn đề, đặc biệt trong lĩnh vực khoa học máy tính. Bước này giúp chúng ta hiểu rõ vấn đề cần giải quyết, từ đó mới có thể tìm ra phương pháp giải phù hợp và hiệu quả.

3 of 8

1. Vì sao cần xác định bài toán?

Tại sao xác định bài toán lại quan trọng?

  • Chọn đúng phương pháp giải:
  • Thuật toán: Tùy thuộc vào loại bài toán (quyết định hay tối ưu), độ phức tạp, dữ liệu đầu vào mà chọn thuật toán phù hợp.
  • Công cụ: Lựa chọn ngôn ngữ lập trình, thư viện, framework phù hợp để triển khai thuật toán.

4 of 8

1. Vì sao cần xác định bài toán?

Tại sao xác định bài toán lại quan trọng?

Hiểu rõ vấn đề:

Ranh giới: Xác định rõ ràng phạm vi của bài toán, những gì cần tìm, những gì đã biết.

Yêu cầu: Hiểu rõ các yêu cầu, điều kiện ràng buộc của bài toán.

Mục tiêu: Xác định rõ mục tiêu cuối cùng cần đạt được.

5 of 8

1. Vì sao cần xác định bài toán?

Tại sao xác định bài toán lại quan trọng?

  • Đánh giá kết quả:
  • Đúng đắn: Kiểm tra xem kết quả thu được có đáp ứng được các yêu cầu của bài toán hay không.
  • Hiệu quả: Đánh giá hiệu suất của thuật toán, thời gian thực hiện, sử dụng bộ nhớ.

6 of 8

1. Vì sao cần xác định bài toán?

Tại sao xác định bài toán lại quan trọng?

  • Cải tiến:
  • Tìm ra giải pháp tốt hơn: Nếu kết quả chưa đáp ứng, có thể tìm cách cải tiến thuật toán hoặc mô hình dữ liệu.
  • Mở rộng: Có thể mở rộng bài toán để giải quyết các vấn đề phức tạp hơn.

7 of 8

2. Ví dụ:

  • Giả sử bạn muốn viết một chương trình sắp xếp một danh sách số.
  • Xác định bài toán:
  • Input: Một danh sách các số nguyên
  • Output: Danh sách các số đã được sắp xếp theo thứ tự tăng dần hoặc giảm dần.
  • Yêu cầu: Sắp xếp ổn định và nhanh chóng.

8 of 8

2. Ví dụ:

  • Chọn phương pháp giải:
  • Thuật toán: Có thể chọn thuật toán sắp xếp nổi bọt, sắp xếp chọn, sắp xếp nhanh, sắp xếp hợp nhất,... Tùy thuộc vào độ lớn của danh sách và yêu cầu về thời gian thực hiện.
  • Đánh giá kết quả:
  • Đúng đắn: Kiểm tra xem danh sách đã được sắp xếp đúng thứ tự chưa.
  • Hiệu quả: Đo thời gian thực hiện của chương trình với các bộ dữ liệu khác nhau.