Lý giải thuật toán theo cách dễ hiểu
Có rất nhiều thuật toán khác nhau mà chúng ta sử dụng hàng ngày mà không hề biết. Một thuật toán đơn giản là một loạt các bước mà chúng ta thực hiện để giải quyết một vấn đề cụ thể.
Ví dụ, hãy tưởng tượng rằng bạn đang ở nhà một mình và bạn muốn làm một cái bánh. Bạn có một công thức nấu ăn, và bạn theo dõi các bước một cách cẩn thận: trước tiên bạn đo lường các nguyên liệu, sau đó bạn trộn chúng lại với nhau, và cuối cùng bạn nướng chúng. Đó chính là một thuật toán!
Trong lập trình máy tính, chúng ta sử dụng thuật toán để giải quyết các vấn đề phức tạp. Ví dụ, một thuật toán có thể giúp máy tính của chúng ta hiểu cách sắp xếp một danh sách tên theo thứ tự từ A đến Z, hoặc cách tìm một con đường từ điểm A đến điểm B trên bản đồ.
Dù có thể nghe thấy hơi khó khăn, nhưng nếu bạn tưởng tượng mỗi bước như một công việc nhỏ riêng biệt, thì bạn sẽ thấy thuật toán không hề khó hiểu!
Hãy cùng xem xét một ví dụ cụ thể để trẻ em 12 tuổi cũng có thể hiểu được về thuật toán.
Giả sử bạn đang chơi một trò chơi xếp hình. Bạn có một hộp đầy các mảnh ghép khác nhau và mục tiêu là xếp chúng thành một hình vuông hoàn chỉnh. Bạn có thể coi quy trình tìm và xếp các mảnh ghép này như một thuật toán.
Đầu tiên, bạn sẽ tìm các mảnh ghép có góc, bởi vì bạn biết rằng mỗi hình vuông sẽ có 4 góc. Sau đó, bạn sẽ tìm các mảnh ghép có cạnh thẳng để xếp các cạnh của hình vuông. Cuối cùng, bạn sẽ điền vào phần còn lại với các mảnh ghép còn lại.
Các khái niệm complexity của thuật toán:
Tiếp theo tìm hiểu thêm về các thuật toán mà mình thường gặp khi đi code:
1. Thuật toán tìm kiếm (Search Algorithms):