logo

AnonyHome

Loading...

Register

Blog - Lập Trình - 2018-05-17

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

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:

Nhận bài viết mới qua email

Chuyên mục HOT

Chuyên mục tìm hiểu ioT

Xem thêm

Popular

Newest

Related

AnonyHome ra mắt nền tảng học lập trình trực tuyến

2020-09-04

Chia sẻ tài liệu lập trình Android Full – FPT Software

2020-06-21

Chia sẻ Khóa học xây dựng ứng dụng triệu người xài Android Realtime với Firebase qua 5 dự án

2020-06-27

Khóa học lập trình Android Kotlin toàn tập 2020

2020-07-01

Tài liệu Java Spring MVC – Đại học FPT

2020-06-23

Full source code+Database: Quản lý thư viện+Báo cáo chi tiết

2020-02-26

Chia sẻ tài liệu học Lập trình ARM STM32, STM8, vv

2020-03-05

Chia sẻ bộ video Tự Học Angular Tiếng Việt

2020-06-29

AnonyHome ra mắt nền tảng học lập trình trực tuyến

2020-09-04

Bài giảng Java – Chương 2 phần 1

2021-01-22

Sự khác biệt giữa next() và nextLine() trong Java

2021-01-22

Chương 1: Giới thiệu về Java

2021-01-13

Hướng dẫn cài đặt môi trường Java và Eclipse

2021-01-12

Đồ án thiết kế website bán điện thoại PHP

2021-01-05

DHT11 – Cảm biến nhiệt độ – độ ẩm với NodeMCU ESP8266

2021-01-05

Hướng dẫn kết nối ESP8266 với Arduino IDE

2021-01-03

AnonyHome ra mắt nền tảng học lập trình trực tuyến

2020-09-04

Bài giảng Java – Chương 2 phần 1

2021-01-22

Sự khác biệt giữa next() và nextLine() trong Java

2021-01-22

Chương 1: Giới thiệu về Java

2021-01-13

Hướng dẫn cài đặt môi trường Java và Eclipse

2021-01-12

Đồ án thiết kế website bán điện thoại PHP

2021-01-05

DHT11 – Cảm biến nhiệt độ – độ ẩm với NodeMCU ESP8266

2021-01-05

Hướng dẫn kết nối ESP8266 với Arduino IDE

2021-01-03