Mục lục nội dung
Thuật toán là gì? Thuật toán có những tính chất nào? Thuật toán (Algorithm) giải quyết vấn đề gì? Các ví vụ về thuật toán.
Thuật toán là gì?
Thuật toán / Giải thuật là một tập hợp các hướng dẫn để giải quyết các vấn đề logic và toán học hoặc để hoàn thành một số nhiệm vụ khác. Công thức là một ví dụ điển hình về thuật toán.
Tiếng Anh: Algorithm
Thuật toán giải quyết vấn đề gì?
Câu trả lời dưới đây giải thích tại sao chúng ta cần có thuật toán:
Thuật toán là một tập hợp các thủ tục từng bước được xác định để cung cấp câu trả lời chính xác cho một vấn đề cụ thể. Bằng cách làm theo các hướng dẫn một cách chính xác, bạn được đảm bảo đi đến câu trả lời đúng…. Trong một số trường hợp, bạn phải làm theo một số bước cụ thể để giải quyết vấn đề.
Các thuật toán được sử dụng trong mọi phần của khoa học máy tính. Chúng tạo thành xương sống của lĩnh vực này. Trong khoa học máy tính, một thuật toán cung cấp cho máy tính một tập hợp các hướng dẫn cụ thể, cho phép máy tính làm mọi thứ, có thể là chạy máy tính hoặc chạy tên lửa.
Thuật toán có những tính chất nào?
Thuật toán có 3 tính chất sau:
- Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn lần thực hiện các thao tác.
- Tính xác định: Sau một số lần thực hiện thao tác, hoặc là kết thúc hoặc xác định để thực hiện bước tiếp theo.
- Tính đúng đắn: Sau khi thuật toán kết thúc, ta phải nhận được đầu ra (output) cần tìm.
Các thuật toán được sử dụng ở đâu trong cuộc sống thực?
Từ ‘thuật toán‘ thoạt nghe có vẻ đáng sợ, nhưng nó thực sự là một khái niệm đơn giản. Mọi người sử dụng thuật toán mọi lúc trong thói quen hàng ngày của họ để hoàn thành công việc, chẳng hạn như pha cà phê hoặc soạn thảo văn bản.
Các thuật toán nằm ở trung tâm của máy tính. Nếu quan sát môi trường xung quanh, chúng ta có thể tìm thấy một số thuật toán đang hoạt động để giải quyết các vấn đề trong cuộc sống hàng ngày của chúng ta: Mạng truyền thông xã hội, ứng dụng GPS, bộ máy tìm kiếm của Google, nền tảng thương mại điện tử, hệ thống đề xuất của YouTube hoặc Netflix, v.v. các ứng dụng được cung cấp bởi thuật toán.
Ngày nay, các thuật toán được sử dụng hàng tỷ lần mỗi ngày cho nhiều nhiệm vụ khác nhau. Dưới đây là một số cách thuật toán khác nhau được sử dụng.
- Thuật toán giúp điều khiển đèn giao thông.
- Máy tính sử dụng các thuật toán để chuyển đổi dữ liệu (ví dụ: chuyển đổi số thập phân thành nhị phân ).
- Tìm kiếm của Google sử dụng thuật toán Pagerank, RankBrain, … để sắp xếp các kết quả được tìm kiếm.
- Mã hóa dữ liệu và giải mã thông tin và giữ an toàn cho dữ liệu là một thuật toán.
- GPS sử dụng các thuật toán tìm kiếm đồ thị để tìm đường tốt nhất đến một điểm đến.
- Điện thoại thông minh, Wi Fi và giao tiếp không dây sử dụng các thuật toán để giao tiếp.
- Phát hiện thư rác e-mail sử dụng các thuật toán để lọc ra những e-mail xấu.
- Nén dữ liệu để nhận thông tin nhanh hơn (ví dụ: video của YouTube) sử dụng các thuật toán.
Thuật toán đầu tiên ra đời khi nào?
Bởi vì một công thức nấu ăn có thể được coi là một thuật toán, thuật toán đầu tiên có thể quay ngược lại với ngôn ngữ viết. Tuy nhiên, nhiều người nhận thấy thuật toán Euclid tìm ước số chung lớn nhất là thuật toán đầu tiên. Thuật toán này được mô tả lần đầu tiên vào năm 300 trước Công nguyên
Ada Lovelace được ghi nhận là lập trình viên máy tính đầu tiên và là người đầu tiên phát triển thuật toán cho máy.
Biểu diễn thuật toán như thế nào?
Lưu đồ (Flowchart) là một biểu diễn đồ họa của một thuật toán. Các lập trình viên thường sử dụng lưu đồ như một công cụ lập kế hoạch chương trình để giải quyết một vấn đề.
Lưu đồ sử dụng các ký hiệu được kết nối giữa chúng để chỉ ra luồng thông tin và quá trình xử lý. Quá trình vẽ một lưu đồ cho một thuật toán được gọi là “lưu lượng”.
25 thuật toán hàng đầu mà mọi lập trình viên nên biết
Kiến thức tốt về các thuật toán tiêu chuẩn cũng quan trọng không kém việc lựa chọn cấu trúc dữ liệu phù hợp. Sau đây là danh sách 25 thuật toán hàng đầu mà mọi lập trình viên và sinh viên khoa học máy tính nên biết.
- Thuật toán tìm kiếm nhị phân
- Thuật toán tìm kiếm đầu tiên theo chiều rộng (BFS)
- Thuật toán tìm kiếm đầu tiên theo chiều sâu (DFS)
- Thuật toán Sắp xếp Hợp nhất
- Thuật toán Quicksort
- Thuật toán Kruskal
- Thuật toán Floyd Warshall
- Thuật toán Dijkstra
- Thuật toán Bellman Ford
- Thuật toán Kadane
- Thuật toán Lee
- Thuật toán lấp đầy lũ
- Thuật toán phát hiện chu kỳ của Floyd
- Thuật toán tìm Union
- Thuật toán sắp xếp tôpô
- Thuật toán KMP
- Thuật toán sắp xếp chèn
- Thuật toán sắp xếp lựa chọn
- Thuật toán sắp xếp đếm
- Thuật toán sắp xếp đống
- Thuật toán Kahn’s Topological Sort
- Thuật toán nén mã hóa Huffman
- Thuật toán chọn nhanh
- Thuật toán bỏ phiếu cho đa số Boyer – Moore
- Thuật toán Euclid
Câu hỏi thường gặp
Các thuật toán có phải là toán học không?
Không, nó không hoàn toàn là toán học. Thuật toán đơn giản có nghĩa là hướng dẫn / quy trình từng bước để đạt được kết quả.
Đại số và thuật toán có giống nhau không?
Không. Cả hai từ đều xuất phát từ tên sách tiếng Ả Rập trung thực, nhưng “Đại số” chủ yếu / theo truyền thống là lý thuyết về phương trình, và lý thuyết Thuật toán là về các quy tắc để giải quyết vấn đề theo từng bước.
Các thuật toán phổ biến nhất đang được sử dụng ngày nay là gì?
Thuật toán xếp hạng tìm kiếm của Google (PageRank) có thể là thuật toán được sử dụng rộng rãi nhất trên internet.
Làm việc ngược có phải là một thuật toán không?
Đúng. Làm việc ngược là một ví dụ về việc sử dụng một thuật toán để giải quyết vấn đề…. Khi một cá nhân sử dụng thuật toán để giải quyết một vấn đề, họ đang sử dụng quy trình từng bước hỗ trợ họ trong việc thử tất cả các lựa chọn thay thế có thể cho một giải pháp.
Thuật toán có giống với trí tuệ nhân tạo không?
Có. Thuật toán là các hướng dẫn tự động và có thể đơn giản hoặc phức tạp, tùy thuộc vào độ sâu của thuật toán ban đầu. Máy học và trí tuệ nhân tạo đều là một tập hợp các thuật toán, nhưng khác nhau tùy thuộc vào việc dữ liệu chúng nhận được là có cấu trúc hay không có cấu trúc.
Phép nhân có phải là một thuật toán không?
Đúng. Thuật toán nhân là một thuật toán (hoặc phương pháp) nhân hai số. Tùy thuộc vào kích thước của các con số, các thuật toán khác nhau được sử dụng. Các thuật toán nhân hiệu quả đã tồn tại kể từ khi hệ thập phân ra đời.
Thuật toán tốt là thuật toán như thế nào?
Thuật toán tốt là thuật toán tốn ít bộ nhớ và thời gian giúp máy tính hiểu và giải quyết một bài toán nhanh, chính xác.
Thuật toán sắp xếp bằng đổi chỗ cho dãy số A theo trật tự tăng dần dừng lại khi nào?
Thuật toán sắp xếp bằng đổi chỗ cho dãy số A theo trật tự tăng dần dừng lại khi khi M =1 và không còn sự đổi chỗ.
Thuật toán có thể được diễn tả bằng cách nào? Có bao nhiêu cách trình bày một thuật toán?
Thuật toán có thể được diễn tả bằng 2 cách: Liệt kê hoặc Sơ đồ khối.
Phương pháp Liệt kê nêu ra tuần tự các thao tác cần tiến hành.
Phương pháp Sơ đồ khối để thể hiện các thao tác tiến hành.
Thuật toán để giải một bài toán là gì?
Thuật toán để giải một bài toán là một dãy hữu hạn các thao tác được sắp xếp theo 1 trình tự xác định sao cho sau khi thực hiện dãy thao tác ấy, từ Input của bài toán, ta nhận ra Output cần tìm.
Nguồn: Thuật toán là gì? Thuật toán / Giải thuật có những tính chất nào?
Có thể bạn quan tâm:
ChatGPT là gì? Cách ChatGPT để tối ưu hiệu suất công việc
Product key là gì? CD key là gì?
Cách tìm tên máy tính của bạn
Cách kiểm tra mức tiêu thụ điện năng của máy tính
Cách tắt Quick Access trên Windows 10
Các ví dụ cơ bản về HTML