Thuật toán vs Mã giả
Một thuật toán chỉ đơn giản là một giải pháp cho một vấn đề. Một thuật toán trình bày giải pháp cho một vấn đề như một tập hợp các bước hoặc hướng dẫn được xác định rõ. Mã giả là một cách chung để mô tả một thuật toán. Mã giả không sử dụng cú pháp của ngôn ngữ lập trình cụ thể, do đó không thể được thực thi trên máy tính. Nhưng nó gần giống với cấu trúc của ngôn ngữ lập trình và chứa cùng một mức độ chi tiết.
Thuật toán
Một thuật toán đưa ra giải pháp cho một vấn đề cụ thể là một tập hợp các bước được xác định rõ. Một công thức trong sách dạy nấu ăn là một ví dụ tốt về thuật toán. Khi một máy tính được sử dụng để giải quyết một vấn đề cụ thể, các bước cho giải pháp nên được truyền đạt tới máy tính. Điều này làm cho việc nghiên cứu các thuật toán là một phần rất quan trọng trong khoa học máy tính. Một thuật toán được thực thi trong máy tính bằng cách kết hợp nhiều hoạt động cơ bản như cộng và trừ để thực hiện các phép toán phức tạp hơn. Nhưng việc dịch ý tưởng của thuật toán sang mã máy tính không đơn giản. Đặc biệt, việc chuyển đổi một thuật toán sang ngôn ngữ cấp thấp như ngôn ngữ hợp ngữ có thể rất tẻ nhạt so với việc sử dụng ngôn ngữ cấp cao như C hoặc Java. Khi thiết kế một thuật toán, điều quan trọng là phải phân tích các tài nguyên (như thời gian và lưu trữ) theo yêu cầu của thuật toán. Các ký hiệu như ký hiệu O lớn được sử dụng để thực hiện phân tích thời gian và lưu trữ trên các thuật toán. Các thuật toán có thể được thể hiện bằng ngôn ngữ tự nhiên, mã giả, sơ đồ, v.v..
Mã giả
Mã giả là một trong những phương thức có thể được sử dụng để biểu diễn một thuật toán. Nó không được viết theo một cú pháp cụ thể được sử dụng bởi ngôn ngữ lập trình và do đó không thể được thực thi trong máy tính. Có rất nhiều định dạng được sử dụng để viết mã giả và hầu hết chúng mượn một số cấu trúc từ các ngôn ngữ lập trình phổ biến như C, Lisp, FORTRAN, v.v. Ngoài ra, ngôn ngữ tự nhiên được sử dụng khi trình bày chi tiết không quan trọng. Hầu hết các thuật toán được trình bày bằng mã giả vì chúng có thể được đọc và hiểu bằng cách sử dụng các lập trình viên quen thuộc với các ngôn ngữ lập trình khác nhau. Một số ngôn ngữ như Pascal có cú pháp rất giống với mã giả làm cho việc chuyển đổi từ mã giả sang mã chương trình tương ứng dễ dàng hơn. Mã giả cho phép bao gồm các cấu trúc điều khiển như WHILE, IF-THEN-ELSE, REPEAT-UNTIL, FOR và CASE, có trong nhiều ngôn ngữ cấp cao.
Sự khác biệt giữa Thuật toán và Mã giả?
Thuật toán là một chuỗi các bước được xác định rõ ràng cung cấp giải pháp cho một vấn đề nhất định, trong khi mã giả là một trong những phương pháp có thể được sử dụng để biểu diễn một thuật toán. Trong khi các thuật toán có thể được viết bằng ngôn ngữ tự nhiên, mã giả được viết theo định dạng có liên quan chặt chẽ với các cấu trúc ngôn ngữ lập trình cấp cao. Nhưng mã giả không sử dụng cú pháp ngôn ngữ lập trình cụ thể và do đó có thể được hiểu bởi các lập trình viên quen thuộc với các ngôn ngữ lập trình khác nhau. Ngoài ra, việc chuyển đổi một thuật toán được trình bày bằng mã giả sang mã lập trình có thể dễ dàng hơn nhiều so với chuyển đổi một thuật toán được viết bằng ngôn ngữ tự nhiên.