Blog, Lập Trình

Việc học thuật toán trong lập trình

Written by AnonyHome
· 2 min read >

Thuật toán là gì

Theo như cuốn sách nổi tiếng Introduction to Algorithms (Mở đầu về thuật toán), thì “thuật toán” là “một quá trình tính toán cụ thể, trong đó lấy một hay nhiều giá trị làm đầu vào (input) và cho ra một hay nhiều giá trị kết quả (output)”. Nói cách khác, thuật toán giống như bản đồ chỉ đường giúp ta giải quyết một vấn đề rõ ràng, cụ thể. Ví dụ, nhiều dòng code để tính dãy Fibonacci là một cách cài đặt của một thuật toán nào đó. Một hàm để cộng hai số cũng được gọi là một thuật toán, mặc dù nó rất đơn giản.
Một số thuật toán, như thuật để tính dãy Fibonacci, khá trực quan và ta có thể suy ra nhờ vào suy luận logic cũng như kĩ năng giải bài. Tuy nhiên, đối với những thuật toán phức tạp hơn, chúng ta cần học và hiểu, để làm nền tảng cho việc giải quyết những bài toán khó hơn. Trong cuộc sống hàng ngày, những việc tưởng chừng như đơn giản như kiểm tra email hay nghe nhạc đều đòi hỏi những thuật toán rất phức tạp. 
Việc học thuật toán trong lập trình AnonyHome

Thuật toán ở khắp nơi quanh ta. Bản thân Google mạnh mẽ như vậy là nhờ thuật toán tìm kiếm của nó. Chức năng recommendation của Amazon có được cũng nhờ thuật toán. Đến cả những tin tức hiện hằng ngày trong New Feed trên Facebook của bạn cũng do thuật toán định đoạt.
Một số lĩnh vực trong lập trình cần sử dụng rất nhiều thuật toán như: render đồ hoạ, mã hoá dữ liệu, driver, machine learning, data mining… Mỗi lĩnh vực sẽ cần những thuật toán riêng. Phải nắm vững các thuật toán này thì bạn mới có thể làm việc trong lĩnh vực đó.
Việc giỏi thuật toán cũng giúp bạn tìm ra hướng giải quyết vấn đề nhanh hơn, viết code mạch lạc hơn. Nắm vững thuật toán, cấu trúc dữ liệu, bạn sẽ ước tính được độ phức tạp của code, đánh giá code chạy nhanh hay chậm. Đây đều là những kĩ năng vô cùng cần thiết. Để thành một lập trình viên giỏi, bạn cần phải rành rẽ thuật toán (Cơ bản là được, không cần cao siêu đâu).
Một số thuật toán nổi bật các bạn có thể tham khảo như:
  • Thuật toán sắp xếp.
  • Thuật toán tìm đường đi ngắn nhất.
  • Thuật toán ngẫu nhiên.
  • Thuật toán xấp xỉ …

Các tài liệu để bạn có thể học tập

Bạn có thể tham khảo 2 cuốn sách Cracking the Coding Interview và Elements of Programming Interview để học tập và rèn luyện. Ngoài ra bạn có thể dowload Ebook giải thuật & lập trình của thầy Lê Minh Hoàng tại đây:

Link Dowload tài liệu:

Written by AnonyHome
Fullstack Developer ! Profile

Leave a Reply

Your email address will not be published. Required fields are marked *

KHÓA HỌC JAVA CƠ BẢN FREE
Cùng tham gia khóa học Java cơ bản miễn phí tại kênh Youtube của AnonyHome Team
NHẤN NÚT ĐĂNG KÝ KÊNH BÊN DƯỚI ĐỂ CÙNG HỌC LẬP TRÌNH MIỄN PHÍ
ĐĂNG KÝ KÊNH ĐỂ CÙNG HỌC LẬP TRÌNH MIỄN PHÍ