Thuật toán – algorithm – những điều cơ bản

Thuật toán – algorithm

Chào các bạn, trong bài viết ngày hôm nay, chúng ta sẽ tìm hiểu về thuật toán!

Để bắt đầu, chúng ta hãy xem qua định nghĩa của thuật toán ở wikipedia: “Trong toán học và khoa học máy tính, một thuật toán, còn gọi là giải thuật, là một tập hợp hữu hạn các hướng dẫn được xác định rõ ràng, có thể thực hiện được bằng máy tính. Nó thường để giải quyết một lớp vấn đề hoặc để thực hiện một phép tính. Các thuật toán luôn rõ ràng, thực hiện các phép tính, xử lý dữ liệu, suy luận tự động…”

Ở một định nghĩa khác: ” Thuật toán là một tập hợp các quy tắc cần tuân theo trong các phép tính hoặc các phép toán giải quyết vấn đề khác”, hoặc” Một quy trình để giải một vấn đề toán học với một số lượng hữu hạn các bước, thường liên quan đến các phép toán đệ quy”. Cũng có thể: “Thuật toán là một chuỗi các bước hữu hạn để giải quyết một vấn đề cụ thể”.

Những định nghĩa trên đều đúng. Chúng ta hãy xem thêm hình vẽ sau:

algorithm, thuật toán
Algorithm

Như vậy, thuật toán có thể đơn giản và phức tạp, tùy theo mục tiêu mà chúng ta nhắm đến. Ví dụ: để làm được 1 chiếc bánh pizza, chúng ta tuân thủ hướng dẫn theo từng bước. Chúng ta cần phải chuẩn bị dụng cụ và nguyên vật liệu đầy đủ. Sau đó thực hiện từng bước một: trộn bột, nướng bánh, canh chỉnh thời gian… Cuối cùng, ta thu được 1 bánh pizza hoàn chỉnh!

Tiếp theo là những điều cơ bản về thuật toán:

Đặc điểm:

  • Rõ ràng: Thuật toán phải rõ ràng và rõ ràng. Mỗi bước của nó phải rõ ràng về tất cả các khía cạnh và phải dẫn đến một ý nghĩa duy nhất.
  • Đầu vào được xác định rõ: Nếu thuật toán yêu cầu nhận đầu vào, thì đó phải là đầu vào được xác định rõ.
  • Đầu ra được xác định rõ: Thuật toán phải xác định rõ đầu ra nào sẽ được tạo ra và nó cũng phải được xác định rõ ràng.
  • Finite-ness: Thuật toán phải hữu hạn, tức là nó phải kết thúc sau một khoảng thời gian hữu hạn.
  • Khả thi: Thuật toán phải đơn giản, chung chung và thực tế để nó có thể được thực thi với các tài nguyên có sẵn. Nó không được chứa một số công nghệ tương lai hoặc bất cứ thứ gì.
  • Độc lập với ngôn ngữ: Thuật toán được thiết kế phải độc lập với ngôn ngữ. Nó phải là các hướng dẫn đơn giản, được thực hiện bằng bất kỳ ngôn ngữ nào và đầu ra sẽ giống nhau, như mong đợi.

Đặc tính của thuật toán:

  • Nó sẽ kết thúc sau một thời gian hữu hạn.
  • Nó phải tạo ra ít nhất một đầu ra.
  • Nó phải không có hoặc nhiều đầu vào.
  • Nó phải có nghĩa là xác định cho cùng một đầu ra cho cùng một trường hợp đầu vào.
  • Mỗi bước trong thuật toán phải hiệu quả, tức là mỗi bước phải thực hiện một số công việc.

 

@ Long – Cựu học viên Ironhack Việt Nam

Để lại một câu trả lời