Trong Khoa học máy tính, những khái niệm bạn học sẽ không có ích gì cho đến khi bạn trình bày nó. Vấn đề là mối quan tâm chính cần được giải quyết vì vậy thuật toán là một kế hoạch ngắn gọn về cách giải quyết vấn đề nói chung. Do đó, nó là mối quan tâm lớn trong thế giới Khoa học Máy tính.
Tôi nghĩ rằng hầu hết mọi khía cạnh của Khoa học máy tính đều cần Thuật toán Hãy để tôi chỉ cho bạn điều này Danh sách sau đây sẽ bao gồm các lĩnh vực Khoa học máy tính khác nhau và thuật toán họ sử dụng.
Tự động
Powerset xây dựng. Thuật toán để chuyển đổi tự động không điều kiện sang tự động xác định.
Thuật toán Todd-Coxeter. Thủ tục tạo coset.
Trí tuệ nhân tạo
Alpha-beta. Alpha max cộng với beta tối thiểu. Được sử dụng rộng rãi trong các trò chơi bảng.
Ant-thuật toán. Tối ưu hóa đàn kiến là một tập hợp các thuật toán lấy cảm hứng từ hành vi của kiến để giải quyết vấn đề, tìm đường đi tốt nhất giữa hai địa điểm.
DE (Tiến hóa khác biệt). Giải bài toán phù hợp đa thức Ch Quashev.
Công nhận bán giám sát các câu Sarcastic trong đánh giá sản phẩm trực tuyến. Algortithm nhận ra sacarsms hoặc trớ trêu trong một tweet hoặc một tài liệu trực tuyến. Một thuật toán như vậy cũng rất cần thiết cho lập trình robot hình người.
Tầm nhìn máy tính
Bản tóm tắt. Đại diện cho một hình ảnh hoặc video bằng một hình nhỏ hơn.
Đếm các đối tượng trong một hình ảnh . Sử dụng thuật toán ghi nhãn thành phần được kết nối để trước tiên gắn nhãn cho từng đối tượng và đếm sau đó các đối tượng.
Thuật toán O'Carroll. Từ một chuyển đổi toán học của tầm nhìn côn trùng, thuật toán này đánh giá làm thế nào để tránh xung quanh tránh các vật thể.
Thuật toán di truyền
Họ sử dụng ba toán tử. lựa chọn (chọn giải pháp), tái tạo (sử dụng các giải pháp được chọn để xây dựng các giải pháp khác), thay thế (thay thế giải pháp nếu tốt hơn).
Lựa chọn cân đối. Còn được gọi là lựa chọn bánh xe roulette, là một chức năng được sử dụng để chọn giải pháp.
Lựa chọn cắt ngắn. Một phương pháp khác để lựa chọn giải pháp, được sắp xếp theo thể dục.
Lựa chọn giải đấu. Chọn giải pháp tốt nhất bằng một loại giải đấu.
Lấy mẫu phổ ngẫu nhiên. Các cá nhân được ánh xạ tới các phân đoạn liền kề của một dòng, sao cho mỗi phân đoạn của từng cá nhân có kích thước tương đương với thể lực của nó chính xác như trong lựa chọn bánh xe roulette.
Mạng lưới thần kinh
Lưới Hopfield. Mạng thần kinh nhân tạo định kỳ phục vụ như các hệ thống bộ nhớ có thể định địa chỉ nội dung với các đơn vị ngưỡng nhị phân. Chúng hội tụ đến trạng thái ổn định.
Backpropagation. Kỹ thuật học tập giám sát được sử dụng để đào tạo mạng lưới thần kinh nhân tạo.
Bản đồ tự tổ chức (bản đồ Kohonen). Mạng lưới thần kinh được đào tạo sử dụng phương pháp học tập không giám sát để tạo ra đại diện chiều thấp (2D, 3D) của các mẫu đào tạo. Tốt để hiển thị dữ liệu chiều cao.
Tin sinh học
Needman-Wunsch. Thực hiện liên kết toàn cầu trên hai trình tự, cho trình tự protein hoặc nucleotide.
Smith-Waterman. Sự thay đổi của Needman-Wunsch.
Nén
Thuật toán nén không mất dữ liệu
Biến đổi Burrows-Wheeler. Tiền xử lý hữu ích để cải thiện nén không mất mát.
Xì hơi. Nén dữ liệu được sử dụng bởi ZIP.
Mã hóa Delta. Hỗ trợ nén dữ liệu trong đó dữ liệu tuần tự xảy ra thường xuyên.
Mã hóa tăng dần. Mã hóa Delta áp dụng cho chuỗi chuỗi.
LZW. (Lempel-Ziv-Welch). Người kế nhiệm LZ78. Xây dựng bảng dịch từ dữ liệu để nén. Được sử dụng bởi định dạng đồ họa GIF.
LZ77 và 78. Cơ sở của các biến thể LZ tiếp theo (LZW, LZSS, ...). Họ đều là lập trình viên từ điển.
LZMA. Viết tắt của thuật toán chuỗi Lempel-Ziv-Markov.
LZO.Thuật toán nén dữ liệu được tập trung vào tốc độ.
PPM(Dự đoán bằng cách khớp một phần). Kỹ thuật nén dữ liệu thống kê thích ứng dựa trên mô hình và dự đoán bối cảnh. Mã hóa Shannon-Fano. Xây dựng mã tiền tố dựa trên một tập hợp các ký hiệu và xác suất của chúng.
Nhị phân nhị phân. Một mã hóa entropy thường được sử dụng để phân phối xác suất thống nhất với một bảng chữ cái hữu hạn. Cải thiện mã hóa nhị phân.
Mã hóa chiều dài chạy. Nén chính thay thế một chuỗi cùng mã bằng số lần xuất hiện.
Sequitur. Suy luận ngữ pháp tăng dần trên một chuỗi.
EZW (Wavelet nhúng Zerotree). Mã hóa lũy tiến để nén hình ảnh thành một luồng bit với độ chính xác tăng dần. Có thể nén mất mát với kết quả tốt hơn.
Lược đồ mã hóa Entropy gán mã cho các ký hiệu để khớp độ dài mã với xác suất của các ký hiệu.
Mã hóa Huffman. Nén lossless đơn giản tận dụng tần số ký tự tương đối.
Mã Huffman thích ứng. Kỹ thuật mã hóa thích ứng dựa trên mã hóa Huffman.
Mã hóa số học. Mã hóa entropy tiên tiến.
Mã hóa phạm vi. Giống như mã hóa số học, nhưng nhìn theo một cách hơi khác.
Mã hóa đơn phương. Mã đại diện cho một số n với n số theo sau là số không. Elias delta, gamma, mã hóa omega. Mã phổ quát mã hóa các số nguyên dương. Mã hóa Fibre. Mã phổ quát mã hóa các số nguyên dương thành các từ mã nhị phân.
Mã hóa Golomb. Hình thức mã hóa entropy tối ưu cho bảng chữ cái sau các phân phối hình học.
Gạo mã hóa. Hình thức mã hóa entropy tối ưu cho bảng chữ cái sau các phân phối hình học.
Thuật toán nén tổn thất
Mã hóa dự đoán tuyến tính. Nén tổn thất bằng cách biểu diễn đường bao phổ của tín hiệu số của lời nói ở dạng nén.
Thuật toán A-law. Thuật toán biên dịch chuẩn.
Thuật toán Mu-law. Thuật toán nén hoặc nén tín hiệu tương tự tiêu chuẩn.
Nén Fractal. Phương pháp được sử dụng để nén hình ảnh bằng cách sử dụng fractals.
Chuyển đổi mã hóa. Loại nén dữ liệu cho dữ liệu như tín hiệu âm thanh hoặc hình ảnh chụp ảnh.
Phép lượng tử vector. Kỹ thuật thường được sử dụng trong nén dữ liệu mất mát.
Nén rốn. Hình thức nén dữ liệu rất phù hợp cho nén hình ảnh và âm thanh.
Mật mã
Khóa bí mật (mã hóa đối xứng)
Sử dụng khóa bí mật (hoặc một cặp khóa liên quan trực tiếp) cho cả giải mã và mã hóa.
Tiêu chuẩn mã hóa nâng cao (AES) , còn được gọi là Rijndael.
Cá thổi. Được thiết kế bởi Schneier như một thuật toán đa năng, nhằm mục đích thay thế cho DE cũ.
Tiêu chuẩn mã hóa dữ liệu (DES) , trước đây là thuật toán DE.
IDEA (Thuật toán mã hóa dữ liệu quốc tế) . IPES trước đây (PES được cải tiến), một sự thay thế khác cho DES. Được sử dụng bởi PGP (Quyền riêng tư khá tốt). Thực hiện các phép biến đổi trên dữ liệu được chia thành các khối, sử dụng một phím.
RC4 hoặc ARC4. Truyền mật mã được sử dụng rộng rãi trong các giao thức như SSL cho lưu lượng truy cập Internet và WEP cho các mạng không dây.
Thuật toán mã hóa nhỏ. Dễ dàng thực hiện thuật toán mã hóa khối bằng một số công thức.
PES (Tiêu chuẩn mã hóa được đề xuất). Tên cũ hơn cho IDEA.
Khóa công khai (mã hóa bất đối xứng)
Sử dụng một cặp khóa, được chỉ định là khóa chung và khóa riêng. Khóa công khai mã hóa tin nhắn, chỉ có khóa riêng mới cho phép giải mã nó.
DSA (Thuật toán chữ ký số). Tạo khóa với số nguyên tố và số ngẫu nhiên. Đã được sử dụng bởi các cơ quan Hoa Kỳ, và bây giờ phạm vi công cộng.
ElGamal. Dựa trên Diffie-Hellman, được sử dụng bởi phần mềm GNU Privacy Guard, PGP và các hệ thống mật mã khác.
RSA (Rivest, Shamir, Adman). Được sử dụng rộng rãi trong các giao thức thương mại điện tử. Sử dụng số nguyên tố.
Trao đổi khóa Diffie-Hellman (Merkle) (hoặc trao đổi khóa theo cấp số nhân). Phương pháp và thuật toán để chia sẻ bí mật trên một kênh truyền thông không được bảo vệ. Được sử dụng bởi RSA.
Mã hóa NTRUE. Sử dụng các vòng đa thức với phép nhân tích chập.
Chức năng thông báo
Thông báo thông báo là một mã kết quả của việc mã hóa chuỗi hoặc dữ liệu có độ dài bất kỳ, được xử lý bởi hàm băm.
MD5. Được sử dụng để kiểm tra hình ảnh ISO của đĩa CD hoặc DVD.
RIPEMD (Thông báo đánh giá nguyên thủy đánh giá toàn vẹn RACE). Dựa trên các nguyên tắc của MD4 và tương tự như SHA-1.
SHA-1 (Thuật toán băm an toàn 1). Được sử dụng phổ biến nhất trong bộ SHA của các hàm băm mật mã có liên quan. Được thiết kế bởi cơ quan NSA.
HMAC. xác thực tin nhắn keyed-hash.
Hổ (TTH). Thường được sử dụng trong băm cây Tiger.
Mật mã sử dụng số giả ngẫu nhiên
Xem. Máy tạo số ngẫu nhiên
Kỹ thuật mật mã
Chia sẻ bí mật, Chia tách bí mật, Chia tách khóa, M của N thuật toán.
Kế hoạch chia sẻ bí mật của Shamir. Đây là một công thức dựa trên phép nội suy đa thức.
Kế hoạch chia sẻ bí mật của Blakley. Là hình học trong tự nhiên, bí mật là một điểm trong một không gian m chiều.
Các kỹ thuật và giải mã khác
Tổng hợp con. Cho một tập hợp các số nguyên, có tập hợp con nào bằng 0 không? Được sử dụng trong mật mã.
Thuật toán của Shor. Thuật toán lượng tử có thể giải mã một mã dựa trên các hàm không đối xứng như RSA.
Hình học
Gói quà. Xác định vỏ lồi của một tập hợp các điểm.
Khoảng cách Gilbert-Johnson-Keerthi. Xác định khoảng cách nhỏ nhất giữa hai hình lồi.
Graham quét. Xác định vỏ lồi của một tập hợp các điểm trong mặt phẳng.
Đoạn đường giao nhau. Tìm kiếm xem các dòng giao nhau với một thuật toán dòng quét.
Điểm trong đa giác. Kiểm tra xem một điểm nhất định có nằm trong một điểm nhất định không.
Giao điểm Ray / Mặt phẳng.
* Giao lộ đường / Tam giác. * Trường hợp cụ thể của giao lộ Ray / Máy bay.
Đa giác hóa các bề mặt ngầm. Xấp xỉ một bề mặt ngầm với biểu diễn đa giác.
Tam giác.Phương pháp đánh giá khoảng cách đến một điểm từ các góc tới các điểm khác, có khoảng cách được biết đến.
Đồ thị
Công nghệ theo dõi bề mặt 3D. Quá trình để thêm hình ảnh trên tường trong một video trong khi các bề mặt ẩn được tính đến.
Bellman-Ford. Tính toán các đường đi ngắn nhất trong biểu đồ có trọng số (trong đó một số trọng số cạnh có thể âm).
Thuật toán của Dijkstra. Tính toán các đường dẫn ngắn nhất trong biểu đồ với trọng số cạnh không âm.
Phương pháp gây nhiễu. Một thuật toán tính toán các đường dẫn ngắn nhất cục bộ trong biểu đồ.
Floyd-Warshall. Giải quyết tất cả các cặp bài toán đường đi ngắn nhất trong đồ thị có hướng, có trọng số.
Tìm kiếm chu kỳ của Floyd. Tìm chu kỳ trong các lần lặp.
Johnson. Tất cả các cặp thuật toán đường dẫn ngắn nhất trong đồ thị định hướng có trọng số thưa thớt.
Kruskal.Tìm một cây bao trùm tối thiểu cho một biểu đồ.
Prim. Tìm một cây bao trùm tối thiểu cho một biểu đồ. Cũng được gọi là thuật toán DJP, Jarník hoặc Primifer Jarník.
* Boruvka. * Tìm một cây bao trùm tối thiểu cho biểu đồ.
Ford-Fulkerson. Tính toán lưu lượng tối đa trong biểu đồ.
Edmonds-Karp. Triển khai Ford-Fulkerson.
Công tắc Spanning tối thiểu không chặn. Để trao đổi qua điện thoại.
Nhà gỗ-sắc nét. Tìm một cây bao trùm tối thiểu cho một biểu đồ.
Mùa xuân dựa. Thuật toán vẽ đồ thị.
Hungary Thuật toán để tìm một kết hợp hoàn hảo.
Thuật toán tô màu. Thuật toán tô màu.
Hàng xom gần nhất.Tìm hàng xóm gần nhất.
Phân loại cấu trúc liên kết. Sắp xếp một biểu đồ chu kỳ có hướng theo cách sao cho mỗi nút xuất hiện trước tất cả các nút mà nó có các cạnh (theo chỉ dẫn).
Thuật toán tổ tiên ít phổ biến nhất của Tarjan. Tính toán tổ tiên chung thấp nhất cho các cặp nút trong cây.
Đồ họa
Thuật toán dòng của Bresenham. Sử dụng các biến quyết định để vẽ một đường thẳng giữa 2 điểm được chỉ định.
Phong cảnh Vẽ một khung cảnh 3D.
* Thuật toán dòng DDA. * Sử dụng toán học dấu phẩy động để vẽ một đường thẳng giữa 2 điểm được chỉ định.
Lấp đầy. Lấp đầy một vùng kết nối với một màu.
Phục hồi hình ảnh. Khôi phục ảnh, cải thiện hình ảnh.
Thuật toán dòng của Xiaolin Wu. Đường khử răng cưa.
Thuật toán của họa sĩ. Phát hiện các phần có thể nhìn thấy của một cảnh quan 3 chiều.
Có hi vọng. Kết xuất hình ảnh thực tế.
Phong che nắng. Một mô hình chiếu sáng và một phương pháp nội suy trong đồ họa máy tính 3D.
Gouraud che nắng.Mô phỏng các hiệu ứng khác nhau của ánh sáng và màu sắc trên bề mặt của vật thể 3D.
Kết xuất đường quét. Xây dựng một hình ảnh bằng cách di chuyển một dòng tưởng tượng.
Chiếu sáng toàn cầu. Người tiêu dùng trực tiếp chiếu sáng và phản chiếu từ các đối tượng khác.
Nội suy. Xây dựng các điểm dữ liệu mới, chẳng hạn như trong zoom kỹ thuật số.
Chất khử trùng. Xóa một đối tượng trên ảnh và xây dựng lại nền được sử dụng bởi Photoshop và The Gimp. Hướng dẫn phục hồi.
Thuật toán chặn dốc. Đây là một triển khai của công thức chặn dốc để vẽ đường.
Nội suy spline. Giảm lỗi với hiện tượng Runge.
Công nghệ theo dõi bề mặt 3D. Thêm hình ảnh hoặc vidéo trên tường trong một vidéo, các bề mặt ẩn được tính đến.
Danh sách, mảng và cây
Đang tìm kiếm
Từ điển tìm kiếm. Xem tìm kiếm dự đoán.
Thuật toán lựa chọn. Tìm mục lớn thứ k trong danh sách.
Thuật toán tìm kiếm nhị phân. Xác định vị trí một mục trong danh sách được sắp xếp.
Bề rộng tìm kiếm đầu tiên. Đi qua một mức đồ thị theo cấp độ.
Độ sâu tìm kiếm đầu tiên. Đi qua một nhánh đồ thị theo nhánh.
Tìm kiếm đầu tiên tốt nhất. Di chuyển một biểu đồ theo thứ tự có khả năng quan trọng bằng cách sử dụng hàng đợi ưu tiên.
Một tìm kiếm cây. * Trường hợp đặc biệt của tìm kiếm đầu tiên tốt nhất sử dụng phương pháp phỏng đoán để cải thiện tốc độ.
Tìm kiếm chi phí thống nhất. Một tìm kiếm cây tìm thấy tuyến đường chi phí thấp nhất nơi chi phí khác nhau.
Dự đoán tìm kiếm.Nhị phân như tìm kiếm mà yếu tố về độ lớn của thuật ngữ tìm kiếm so với giá trị cao và thấp trong tìm kiếm.
Bảng băm. Liên kết các khóa với các mục trong một bộ sưu tập chưa sắp xếp, để truy xuất chúng trong thời gian tuyến tính.
Nội suy tìm kiếm. Xem tìm kiếm dự đoán.
Sắp xếp
Phân loại cây nhị phân. Sắp xếp cây nhị phân, tăng dần, tương tự như sắp xếp chèn.
Không có thuốc. Không hiệu quả sắp xếp ngẫu nhiên của một thẻ bàn.
Sắp xếp bong bóng. Đối với mỗi cặp chỉ số, trao đổi các mặt hàng nếu không theo thứ tự.
Sắp xếp xô. Chia một danh sách trong các thùng và sắp xếp chúng riêng lẻ. Tổng quát hóa phân loại pigeonhole.
Cocktail sort (hoặc bong bóng hai chiều, bình lắc, gợn sóng, đưa đón, sắp xếp giờ hạnh phúc). Sự biến đổi của sắp xếp bong bóng sắp xếp theo cả hai hướng mỗi lần đi qua danh sách.
Lược sắp xếp. Biến đổi hiệu quả của sắp xếp bong bóng giúp loại bỏ "rùa", các giá trị nhỏ ở gần cuối danh sách và sử dụng các khoảng trống giữa các giá trị.
Đếm sắp xếp.Nó sử dụng phạm vi số trong danh sách A để tạo một mảng B có độ dài này. Các chỉ mục trong B được sử dụng để đếm có bao nhiêu phần tử trong A có giá trị nhỏ hơn i.
Gnome sắp xếp. Tương tự như sắp xếp chèn ngoại trừ việc di chuyển một phần tử đến vị trí thích hợp của nó được thực hiện bằng một loạt các giao dịch hoán đổi, như trong sắp xếp bong bóng.
Heapsort. Chuyển đổi danh sách thành một đống, tiếp tục loại bỏ phần tử lớn nhất khỏi heap và thêm nó vào cuối danh sách.
Sắp xếp chèn. Xác định vị trí của mục hiện tại trong danh sách các mục được sắp xếp và chèn nó vào đó.
Nội tâm. Hoặc sắp xếp nội tâm. Nó bắt đầu trong quicksort và chuyển sang heapsort ở mức đệ quy nhất định.
Hợp nhất sắp xếp.Sắp xếp riêng nửa đầu và nửa sau của danh sách, sau đó hợp nhất các danh sách đã sắp xếp.
Bánh kếp sắp xếp. Các phần tử đảo ngược của một số tiền tố của một chuỗi.
Pigeonhole sắp xếp. Điền vào một mảng trống với tất cả các yếu tố của một mảng sẽ được sắp xếp theo thứ tự.
Người đưa thư sắp xếp. Biến thể phân cấp của loại xô, được sử dụng bởi bưu điện.
Sắp xếp nhanh chóng. Chia danh sách thành hai, với tất cả các mục trong danh sách đầu tiên đến trước tất cả các mục trong danh sách thứ hai.; sau đó sắp xếp hai danh sách. Thường là phương pháp lựa chọn.
Loại radix. Sắp xếp các khóa liên quan đến các mục hoặc số nguyên bằng cách xử lý các chữ số.
Lựa chọn sắp xếp. Chọn phần tử nhỏ nhất trong số các phần tử còn lại, thêm nó vào cuối danh sách được sắp xếp.
Vỏ sắp xếp.Cải thiện sắp xếp chèn với việc sử dụng khoảng cách giữa các giá trị.
Smoothsort. Xem heapsort.
Sắp xếp ngẫu nhiên. Xem bogosort.
và nhiều thứ khác nữa...