Note 1-10: Giải thuật

I. Định nghĩa và đặc điểm.

Giải thuật là một chuỗi hữu hạn các chỉ thị hay cách thức được định nghĩa rõ ràng cho việc giải quyết một vấn đề đó từ trạng thái ban đầu. Các tính chất quan trọng:
_ Dữ liệu in/out xác định.
_ Hữu hạn(finiteness)(tính dừng): Giải thuật luôn kết thúc sau một số bước hữu hạn.
_ Xác đinh(definiteness): Mỗi bước của giải thuật phải được xác định, phải thực hiện chính xác, nhất quán.
_ Hiệu quả(effectiveness): Các thao tác giải thuật phải thực hiện trong một thời gian hữu hạn.
_ Tính phổ biến.
_ Sự độc lập.

II. Phương pháp.
Giải thuật được viết bằng các phương pháp cơ bản: Ngôn ngữ tự nhiên, lưu đồ thuật toán (flowchart), mã giả(pesudocode) và ngôn ngữ lập trình.
1. Ngôn ngữ tự nhiên:
 Trong cách biểu diễn thuật toán theo ngôn ngữ tự nhiên, người ta sử dụng ngôn ngữ thường ngày để liệt kê các bước của thuật toán 
2. Lưu đồ thuật toán:
Một lưu đồ là một hình ảnh minh hoạ cho giải thuật. Nó vẽ ra biểu đồ của luồng chỉ thị hay những hoạt động trong một tiến trình. Mỗi hoạt động như vậy được biểu diễn qua những ký hiệu.
3. Mã giả :
Mã giả (Tiếng Anh: Pseudocode, xuất phát từ chữ pesudo và code) là một bản mô tả giải thuật ngắn gọn và không chính thức cấp cao, trong đó sử dụng những quy ước có cấu trúc của một số ngôn ngữ lập trình , nhưng thường bỏ đi những chi tiết không cần thiết để giúp hiểu rõ giải thuật hơn, như bỏ đi chương trình con và khai báo biến và những đoạn mã đặc biệt của hệ thống. Ngôn ngữ lập trình được bổ sung bằng những mô tả chi tiết bằng ngôn ngữ tự nhiên ở nơi thích hợp, hoặc bằng ký hiệu toán học đơn giản.
4. Ngôn ngữ lập trình:
Một cách thay thế cho việc sử dụng mã giả toán học (sử dụng ký hiệu lý thuyết tập hợp hoặc phép toán ma trận) để ghi lại giải thuật đó là sử dụng một ngôn ngữ lập trình toán học hình thức, là một sự pha trộn giữa các ký hiệu toán học không phải ASCII với cấu trúc điều khiển chương trình

_

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

Facebook