Video: Hãy chọn một số & phép toán ma thuật sẽ đoán ra tuổi của bạn 2025
Một phần của các thuật toán đối với các cột đầu tiên Cheat Sheet
Bảng dưới đây mô tả các thuật toán và các loại thuật toán mà bạn có thể thấy hữu ích cho các loại phân tích dữ liệu khác nhau.
Thuật toán | Mô tả | Liên kết hữu ích |
A * Tìm kiếm | Thuật toán theo dõi chi phí của các nút khi khám phá chúng bằng cách sử dụng (n) = g (n) - n là định danh nút g (n) là chi phí để đạt đến nút Standford. edu Cân bằng Cây Một loại cây duy trì một cấu trúc cân bằng thông qua tổ chức lại để nó có thể cung cấp thời gian truy cập giảm. Số lượng các phần tử ở phía bên trái khác với số bên phải nhất là một. Webdocs Tìm kiếm hai chiều Kỹ thuật này tìm kiếm đồng thời từ nút gốc và nút mục tiêu cho đến khi hai đường tìm kiếm gặp nhau ở giữa. Một lợi thế của cách tiếp cận này là thời gian hiệu quả vì nó tìm ra giải pháp nhanh hơn nhiều giải pháp brute-force khác. Ngoài ra, nó sử dụng bộ nhớ hiệu quả hơn các phương pháp khác và luôn tìm ra giải pháp. Những bất lợi chính là phức tạp của việc thực hiện. Lập kế hoạch. cs Cây nhị phân |
Đây là một loại cây có chứa các nút kết nối với các nút không (nút lá), một hoặc hai nút (nhánh nhánh) các nút khác. Mỗi nút xác định ba yếu tố phải bao gồm để cung cấp kết nối và lưu trữ dữ liệu: lưu trữ dữ liệu, kết nối trái, và kết nối đúng. |
cs. cmu. edu | Breadth-First Search | Kỹ thuật này bắt đầu ở nút gốc, khám phá từng nút con đầu tiên, và chỉ sau đó di chuyển xuống cấp độ tiếp theo. Nó tiến triển theo mức độ cho đến khi nó tìm ra một giải pháp. Bất lợi của thuật toán này là nó phải lưu trữ tất cả các nút trong bộ nhớ, có nghĩa là nó sử dụng một lượng đáng kể bộ nhớ cho một số lượng lớn các nút. Kỹ thuật này có thể kiểm tra các nút trùng lặp, tiết kiệm thời gian, và nó luôn luôn đi kèm với một giải pháp. |
Khan Academcy | Brute Force | Đây là một kỹ thuật giải quyết vấn đề, trong đó ai đó cố gắng giải quyết mọi vấn đề, tìm giải pháp vấn đề tốt nhất. Các kỹ thuật táo bạo đảm bảo một giải pháp phù hợp nhất khi tồn tại nhưng rất tốn thời gian để thực hiện mà hầu hết mọi người tránh. |
Igm. Kỹ thuật này bắt đầu ở nút gốc và khám phá một tập hợp các nút con kết nối cho đến khi nó đạt đến một nút lá. Nó tiến hành chi nhánh theo chi nhánh cho đến khi nó tìm ra một giải pháp. Bất lợi của thuật toán này là nó không thể kiểm tra các nút trùng lặp, có nghĩa là nó có thể đi qua các đường dẫn cùng một nút nhiều hơn một lần. Trong thực tế, thuật toán này có thể không tìm thấy một giải pháp nào cả, có nghĩa là bạn phải xác định một điểm cắt để giữ cho thuật toán tìm kiếm vô hạn. Một lợi thế của cách tiếp cận này là nó hiệu quả bộ nhớ. | Hacker Earth | Chia và Conquer |
Đây là một kỹ thuật giải quyết vấn đề, trong đó vấn đề được chia thành các phần nhỏ nhất có thể và giải quyết theo cách tiếp cận đơn giản nhất có thể. Kỹ thuật này tiết kiệm đáng kể thời gian và nguồn lực khi so sánh với các cách tiếp cận khác, chẳng hạn như bạo lực. Tuy nhiên, nó không phải lúc nào cũng đảm bảo kết quả phù hợp nhất. | Khan Academy | Dijikstra |
Đây là thuật toán dùng để tìm đường đi ngắn nhất trong đồ thị có trọng số, có trọng số (có trọng tích). | Geeks cho Geeks | Biểu đồ |
Biểu đồ là một loại phần mở rộng của cây. Giống như cây, bạn có các nút kết nối với nhau để tạo ra các mối quan hệ. Tuy nhiên, không giống như cây nhị phân, đồ thị có thể có nhiều hơn một hoặc hai kết nối. Trên thực tế, các nút biểu đồ thường có rất nhiều kết nối. Bạn thấy đồ thị được sử dụng ở những nơi như bản đồ cho GPS và tất cả các loại nơi khác mà cách tiếp cận trên xuống của cây sẽ không hoạt động. | Hướng dẫn | Thuật toán tham lam |
Kỹ thuật giải quyết vấn đề trong đó giải pháp dựa vào câu trả lời tốt nhất cho từng bước của quá trình giải quyết vấn đề. Các thuật toán tham lam thường có hai giả thiết: |
|
Có thể thực hiện một sự lựa chọn tối ưu duy nhất tại một bước nhất định. |
Bằng cách lựa chọn lựa chọn tối ưu ở mỗi bước, tìm ra giải pháp tối ưu cho vấn đề tổng thể là có thể. Thuật toán luôn lựa chọn đường đi gần mục tiêu sử dụng phương trình: | f (n) | = |
h ( | n) | . Thuật toán đặc biệt này có thể tìm ra các giải pháp khá nhanh, nhưng cũng có thể bị mắc kẹt trong vòng lặp, vì vậy nhiều người không xem đó là một cách tiếp cận tối ưu để tìm ra giải pháp. |
Centurion2 | Hashing
Đây là một phương pháp dự đoán vị trí của một mục dữ liệu cụ thể trong cấu trúc dữ liệu (bất kể cấu trúc đó có thể là gì) trước khi thực sự tìm nó. Cách tiếp cận này dựa vào việc sử dụng các phím được đặt vào một chỉ mục. Một hàm băm biến khóa thành một giá trị số mà thuật toán đặt vào một bảng băm. Bảng băm cung cấp phương tiện để tạo ra một chỉ mục trỏ đến các phần tử trong một cấu trúc dữ liệu sao cho một thuật toán có thể dễ dàng dự đoán vị trí của dữ liệu.
Hướng dẫn Heap |
Đây là một cây tinh vi cho phép chèn dữ liệu vào cấu trúc cây. Việc sử dụng chèn dữ liệu giúp phân loại nhanh hơn. Bạn có thể phân loại các cây này như là tối đa heaps và min heaps, tùy thuộc vào khả năng của cây để ngay lập tức cung cấp giá trị tối đa hoặc tối thiểu có trong cây. |
Hướng dẫn | Heuristics Đây là một kỹ thuật giải quyết vấn đề dựa vào việc tự khám phá và tạo ra các kết quả đầy đủ hữu ích (không nhất thiết tối ưu, nhưng đủ tốt) để giải quyết một vấn đề đủ tốt để một giải pháp tốt hơn ' t cần thiết. Tự khám phá là quá trình cho phép thuật toán hiển thị cho bạn một đường dẫn hữu ích cho một giải pháp (nhưng bạn vẫn phải dựa vào trực giác và hiểu biết của con người để biết liệu giải pháp là đúng không). Tây Bắc. edu MapReduce MapReduce | Đây là một khuôn khổ để làm cho các thuật toán sử dụng tính toán song song (sử dụng nhiều máy tính kết nối với nhau trong mạng), cho phép các thuật toán hoàn thành các giải pháp của chúng nhanh hơn. |
Hadoop Apache | Mergesort | Mergesort là một phương pháp so sánh dựa trên việc phân loại dữ liệu. Nó phụ thuộc vào một cách tiếp cận phân chia và chinh phục để thực hiện nhiệm vụ của nó. |
Geeks for Geeks | cân bằng Nash | Đây là một lý thuyết trò chơi, trong đó các cầu thủ khác biết chiến lược cân bằng cho các cầu thủ khác, do đó, không ai có thể đạt được bằng cách thay đổi chiến thuật cá nhân của mình. Lý thuyết này được sử dụng trong bất kỳ tình huống thù địch nào trong đó người chơi phải tính đến các quyết định của tất cả các người chơi khác để giành chiến thắng trong trò chơi. |
Học viện Khan | PageRank | PageRank là một thuật toán để đo tầm quan trọng của một nút trong một đồ thị. Thuật toán này nằm ở gốc của các thuật toán cốt lõi của Google để cấp nguồn cho các tìm kiếm có liên quan cho người dùng. |
Princeton. edu | Tìm kiếm Heuristic Tinh khiết | Thuật toán này mở rộng các nút theo thứ tự của chi phí của chúng. Nó duy trì hai danh sách. Danh sách đóng có chứa các nút mà nó đã khám phá và danh sách mở chứa các nút mà nó phải được khám phá. Trong mỗi lần lặp, thuật toán mở rộng nút có chi phí thấp nhất có thể. Tất cả các nút con của nó được đặt trong danh sách đóng và chi phí nút con riêng lẻ được tính toán. Thuật toán gửi các nút con với chi phí thấp trở lại danh sách mở và xóa các nút con với chi phí cao. Do đó, thuật toán thực hiện tìm kiếm thông minh dựa trên chi phí cho giải pháp. |
Thế giới máy tính | Quicksort | Đây là một chiến lược phân loại mục đích chung dựa trên các mảng phân chia các dữ liệu thành mảng nhỏ hơn. Nó phụ thuộc vào một cách tiếp cận phân chia và chinh phục để thực hiện nhiệm vụ của nó. |
Hướng dẫn | Cân bằng cây không cân bằng | Đây là một cây đặt các mục dữ liệu mới vào bất cứ nơi nào cần thiết trong cây mà không cân bằng. Cách thêm các mục này làm cho việc xây dựng cây nhanh hơn nhưng giảm tốc độ truy cập khi tìm kiếm hoặc phân loại. |
Quora |
|