Danh sách thuật toán

Bài viết này là danh sách các thuật toán cùng một mô tả ngắn cho mỗi thuật toán.

Thuật toán tổ hợp

Thuật toán tổ hợp tổng quát
Thuật toán Brent: tìm một chu trình trong một dãy các giá trị của hàm số chỉ dùng hai biến lặp
Thuật toán rùa và thỏ của Floyd: tìm một chu trình trong một dãy các giá trị của hàm số
Thuật toán Gale–Shapley: giải quyết bài toán hôn nhân bền vững
Bộ sinh số giả ngẫu nhiên (phân bố đều—xem thêm Danh sách bộ sinh số giả ngẫu nhiên với bậc hội tụ và các tính chất khác):
Bộ sinh ACORN
Blum Blum Shub
Bộ sinh Fibonacci trễ
Bộ sinh đồng dư tuyến tính
Mersenne Twister

Thuật toán đồ thị

Thuật toán tô màu: các thuật toán để tô màu đồ thị
Thuật toán Hopcroft–Karp: biến đồ thị hai phía thành một cặp ghép cực đại
Thuận toán Hungary: tìm một cặp ghép hoàn hảo
Mã Prüfer: biến một cây gắn nhãn thành chuỗi Prüfer của nó và ngược lại
Thuật toán ngoại tuyến tìm tổ tiên chung thấp nhất Tarjan: tìm tổ tiên chung thấp nhất cho các cặp đỉnh của một cây
Sắp xếp tô pô: tìm thứ tự tuyến tính của các đỉnh dựa trên quan hệ phụ thuộc của chúng

Vẽ đồ thị

Thuật toán hướng lực (còn gọi là thuật toán lò xo)
Spectral layout

Lý thuyết mạng

Phân tích mạng lưới
Phân tích liên kết
Thuật toán Girvan–Newman: tìm những cộng đồng trong hệ thống phức tạp
Phân tích liên kết web
Tìm kiếm Chủ đề dựa trên Siêu liên kết (thuật toán HITS)
PageRank
TrustRank
Mạng luồng
Thuật toán Dinitz: thuật toán đa thức mạnh để tìm luồng cực đại trong một mạng lưới luồng.
Thuật toán Edmonds–Karp: trường hợp đặc biệt của Ford–Fulkerson
Thuật toán Ford–Fulkerson: tìm luồng cực đại trong một đồ thị
Thuật toán Karger: phương pháp Monte Carlo để tính phép cắt cực tiểu của một đồ thị
Thuật toán đẩy–đổi tên: tìm luồng cực đại trong một đồ thị

Đường đi
Thuật toán Edmonds (còn gọi là thuật toán Chu–Liu/Edmonds): tìm số nhánh cực tiểu hay cực đại
Cây bao nhỏ nhất Euclid: tìm cây bao nhỏ nhất của một tập hợp các điểm trên mặt phẳng
Đường đi ngắn nhất Euclidean: tìm đường đi ngắn nhất giữa hai điểm không đi qua chướng ngại vật
Bài toán đường đi dài nhất: tìm đường đi dài nhất trong một đồ thị
Cây bao nhỏ nhất
Thuật toán Borůvka
Thuật toán Kruskal
Thuật toán Prim
Thuật toán đảo-xóa
Bài toán đường đi ngắn nhất
Thuật toán Bellman–Ford: tìm đường đi ngắn nhất trong một đồ thị có trọng số (trọng số cạnh có thể âm)
Thuật toán Dijkstra: tìm đường đi ngắn nhất trong một đồ thị có trọng số cạnh không âm
Thuật toán Floyd–Warshall: tìm đường đi ngắn nhất giữa tất cả các cặp đỉnh trong một đồ thị trọng số có hướng
Thuật toán Johnson: tìm đường ngắn nhất giữa tất cả cặp đỉnh trong một đồ thị trọng số có hướng thưa

Bài toán đóng bắc cầu: tìm đóng bắc cầu của một quan hệ hai ngôi
Bài toán người bán hàng
Thuật toán Christofides
Thuật toán láng giềng gần nhất
Quy tắc Warnsdorff: phương pháp heuristic để giải bài toán mã đi tuần.

Tìm kiếm đồ thị

A: trường hợp đặc biệt của tìm kiếm theo lựa chọn tốt nhất sử dụng heuristic để tăng tốc độ tìm kiếm
B: một thuật toán tìm kiếm đồ thị theo lựa chọn tốt nhất, tìm đường đi từ một đỉnh đến đỉnh khác với chi phí thấp nhất
Quay lui: từ bỏ lời giải toàn phần khi chúng không thỏa mãn toàn bộ bài toán
Tìm kiếm beam: thuật toán tìm kiếm heuristic tối ưu hóa tìm kiếm theo lựa chọn tốt nhất, làm giảm yêu cầu bộ nhớ
Tìm kiếm beam stack search: kết hợp tìm kiếm beam với quay lui
Tìm kiếm theo lựa chọn tốt nhất: duyệt một đồ thị theo thứ tự quan trọng sử dụng một hàng đợi ưu tiên
Tìm kiếm hai hướng: tìm đường đi ngắn nhất từ một đỉnh đến đỉnh khác trong đồ thị có hướng
Tìm kiếm theo chiều rộng: duyệt đồ thị theo từng cấp độ
Tìm kiếm brute force: phương pháp tìm kiếm chính xác, nhưng không hiệu quả trong nhiều trường hợp
D: thuật toán tìm kiếm heuristic gia tăng
Tìm kiếm theo chiều sâu: duyệt đồ thị từng nhánh một
Thuật toán Dijkstra: trường hợp đặc biệt của A khi không có hàm heuristic nào được dùng
General Problem Solver: một thuật toán chứng minh định lý với mục đích giải những bài toán tổng quát
Tìm kiếm theo chiều sâu tăng dần (IDDFS): một chiến thuật tìm kiếm không gian trạng thái
Tìm kiếm điểm nhảy: một phiên bản tối ưu của A
Tìm kiếm theo chiều rộng lexicographic (Lex-BFS): một thuật toán thời gian tuyến tính để sắp xếp các đỉnh của đồ thị
Tìm kiếm chi phí đều: thuật toán tìm kiếm cây tìm đường đi ngắn nhất
SSS: tìm kiếm không gian trạng thái duyệt cây trò chơi theo lựa chọn tốt nhất giống A

Đồ thị con
Clique
Thuật toán Bron–Kerbosch: tìm clique cực đại trong đồ thị vô hướng
Thuật toán clique lớn nhất MaxCliqueDyn: tìm clique lớn nhất trong đồ thị vô hướng
Thành phần liên thông mạnh
Thuật toán thành phần liên thông mạnh dựa trên đường đi
Thuật toán Kosaraju
Thuật toán tìm thành phần liên thông mạnh của Tarjan
Bài toán đồ thị con đẳng cấu

Thuật toán chuỗi

Approximate sequence matching
Thuật toán bitap: thuật toán mờ xác định nếu hai chuỗi (string) gần bằng nhau
Thuật toán ngữ âm
Daitch–Mokotoff Soundex: một biến thể của Soundex dùng được cho họ tiếng Slav và tiếng Đức
Double Metaphone: một phiên bản cải thiện của Metaphone
Metaphone: thuật toán sắp xếp từ dựa vào phát âm trong tiếng Anh
NYSIIS: một phiên bản cải thiện của Soundex
Soundex: a phonetic algorithm for indexing names by sound, as pronounced in English
String metric: tìm mức độ giống nhau hoặc khác nhau (khoảng cách) giữa hai strings
Khoảng cách Damerau–Levenshtein: cải thiện khoảng cách Levenshtein
Hệ số Dice: một đo lường giống nhau liên quan đến chỉ số Jaccard
Khoảng cách Hamming: tổng số vị trí khác nhau
Khoảng cách Jaro–Winkler: đo độ giống nhau giữa hai string
Khoảng cách sửa đổi Levenshtein: đo sự khác nhau giữa hai string dựa trên số sửa đổi cần để biến string này thành string kia

Thuật toán chọn lựa

Quickselect
Introselect

Tìm kiếm chuỗi
Tìm kiếm tuần tự: tìm một đối tượng trong một chuỗi không thứ tự
Thuật toán chọn lựa: tìm đối tượng lớn thứ k trong một chuỗi
Tìm kiếm bậc ba: tìm giá trị lớn nhất hoặc nhỏ nhất của một hàm đơn điệu chặt
Chuỗi đã sắp xếp
Tìm kiếm nhị phân: tìm một đối tượng trong một chuỗi có thứ tự
Tìm kiếm Fibonacci: dùng chia để trị nhằm giảm số vị trí khả dĩ sử dụng dãy Fibonacci
Tìm kiếm nhảy (tìm kiếm khối): tìm kiếm tuần tự trên một phần của chuỗi
Tìm kiếm nội suy (tìm kiếm từ điển): biến thể của tìm kiếm nhị phân sử dụng độ lớn của đối tượng cần tìm với giá trị lớn nhất và nhỏ nhất trong chuỗi
Tìm kiếm nhị phân đều: một tối ưu của thuật toán tìm kiếm nhị phân cổ điển

Trộn chuỗi

Thuật toán trộn đơn giản
Thuật toán trộn k chiều
Hợp (trộn sao cho các phần tử trong đầu ra là duy nhất)

Hoán vị chuỗi

Xáo trộn Fisher–Yates (còn gọi là xáo trộn Knuth): xáo trộn ngẫu nhiên một tập hữu hạn
Thuật toán Schensted: thiết lập một cặp bảng Young từ một hoán vị
Thuật toán Steinhaus–Johnson–Trotter (còn gọi là thuật toán Johnson–Trotter): tạo ra hoán vị
Thuật toán sinh hoán vị của Heap: đổi chỗ các phần tử để tạo hoán vị tiếp theo

Tổ hợp chuỗi

Bắt cặp trình tự

Biến đổi thời gian động: đo sự giống nhau của hai chuỗi trình tự, có thể khác nhau về thời gian hay vận tốc
Thuật toán Hirschberg: tìm bắt cặp trình tự với chi phí nhỏ nhất giữa hai chuỗi trình tự, dựa trên khoảng cách Levenshtein
Thuật toán Needleman–Wunsch: tìm bắt cặp toàn bộ giữa hai chuỗi
Thuật toán Smith–Waterman: tìm bắt cặp cục bộ giữa hai chuỗi

Sắp xếp chuỗi

Sắp xếp đổi chỗ
Sắp xếp nổi bọt: với mỗi cặp phần tử, đổi chỗ nếu chúng không theo thứ tự
Sắp xếp cocktail hay sắp xếp nổi bọt hai chiều, một sắp xếp nổi bọt đi lần lượt từ đầu về cuối và từ cuối lên đầu
Sắp xếp lược
Sắp xếp gnome
Sắp xếp chẵn lẻ
Sắp xếp nhanh: chia chuỗi thành hai phần, với các phần tử thuộc phần này lớn hơn các phần tử thuộc phần kia, rồi sắp xếp mỗi phần
Hài hước hoặc không hiệu quả
Bogosort
Sắp xếp stooge
Slowsort
Lai
Flashsort
Introsort: bắt đầu với sắp xếp nhanh và chuyển sang sắp xếp vun đống khi độ sâu truy hồi vượt quá ngưỡng nhất định
Timsort: thuật toán dựa trên sắp xếp trộn và sắp xếp chèn. Được dùng trong Python 2.3 trở lên và Java SE 7.
Sắp xếp chèn
Sắp xếp chèn: xác định vị trí của phần tử hiện tại trong chuỗi đã sắp xếp và chèn nó vào vị trí đó
Sắp xếp thư viện
Shellsort: cải tiến sắp xếp chèn
Sắp xếp cây (sắp xếp cây nhị phân): xây dựng và duyệt cây nhị phân để tạo ra chuỗi được sắp xếp
Sắp xếp chu kỳ: sắp xếp tại chỗ với số lần viết lý thuyết tối ưu
Sắp xếp trộn
Sắp xếp trộn: sắp xếp nửa đầu và nửa sau của chuỗi một cách riêng biệt, rồi trộn hai chuỗi
Slowsort
Sắp xếp sợi
Sắp xếp không so sánh
Sắp xếp hạt đậu
Sắp xếp xô
Burstsort
Sắp xếp đếm
Sắp xếp chuồng bồ câu
Sắp xếp người đưa thư: biến thể của sắp xếp xô sử dụng cấu trúc cấp bậc
Sắp xếp theo cơ số: sắp xếp chuỗi từng chữ cái một
Sắp xếp chọn
Sắp xếp vun đống: biến chuỗi thành một đống, bỏ phần tử lớn nhất khỏi đống và thêm vào cuối chuỗi
Sắp xếp chọn: chọn phần tử nhỏ nhất trong chuỗi còn lại, thêm nó vào chuỗi đã sắp
Smoothsort
Khác
Bitonic sorter
Sắp xếp bánh nướng
Sắp xếp mì Ý
Sắp xếp tô pô
Sắp xếp lấy mẫu

Chuỗi con

Thuật toán Kadane: tìm mảng con lớn nhất với kích thước bất kỳ
Bài toán chuỗi con chung dài nhất: tìm chuỗi con chung dài nhất của các chuỗi đã cho
Chuỗi con tăng dài nhất: tìm chuỗi con tăng dài nhất của một chuỗi đã cho
Bài toán chuỗi mẹ chung ngắn nhất: tìm chuỗi mẹ chung ngắn nhất chứa hai hoặc nhiều hơn các chuỗi cho trước

Xâu con

Bài toán xâu con chung dài nhất: tìm xâu con dài nhất của hai hoặc nhiều hơn các xâu cho trước
Tìm xâu con
Thuật toán Aho–Corasick: thuật toán dùng trie để tìm tất cả xâu con thuộc một tập hữu hạn các xâu
Thuật toán tìm xâu Boyer–Moore: thuật toán tuyến tính để tìm xâu con
Thuật toán Boyer–Moore–Horspool: đơn giản hóa Boyer–Moore
Thuật toán Knuth–Morris–Pratt: tìm kiếm xâu con mà không cần kiểm tra lại những ký tự đã thỏa
Thuật toán Rabin–Karp: tìm nhiều mẫu hình hiệu quả
Thuật toán tìm xâu Zhu–Takaoka: một biến thể của Boyer–Moore
Thuật toán Ukkonen: một thuật toán trực tuyến, thời gian tuyến tính để xây dựng cây hậu tố
Đối sánh kí tự đại diện
wildmat: một thuật toán đệ quy mã nguồn mở được sử dụng rộng rãi
Thuật toán đối sánh kí tự đại diện Krauss: một thuật toán không đệ quy mã nguồn mở

Toán học tính toán

Đại số trừu tượng

Tìm kiếm Chien: một thuật toán đệ quy để xác định nghiệm của một đa thức trên một trường hữu hạn
Thuật toán Schreier–Sims: tính một cơ sở và tập sinh mạnh (BSGS) của một nhóm hoán vị
Thuật toán Todd–Coxeter: thuật toán tạo lớp kề (coset).

Đại số máy tính

Thuật toán Buchberger: tìm một cơ sở Gröbner
Thuật toán Cantor–Zassenhaus: phân tích đa thức trên trường hữu hạn
Thuật toán Faugère F4: tìm một cơ sở Gröbner
Thuật toán Gosper: tìm tổng các số hạng siêu hình học mà bản thân chúng cũng là số hạng siêu hình học
Thuật toán hoàn thành Knuth–Bendix: thuật toán viết lại hệ thống quy luật
Thuật toán chia đa biến: dùng cho đa thức nhiều biến
Thuật toán kangaroo Pollard (còn gọi là thuật toán lambda Pollard): thuật toán để giải quyết bài toán lôgarit rời rạc
Phép chia đa thức lớn: thuật toán chia đa thức cho một đa thức khác có bậc bằng hoặc nhỏ hơn
Thuật toán Risch: thuật toán tìm tích phân bất định, tức nguyên hàm

Hình học

Bài toán cặp điểm gần nhất: tìm hai điểm gần nhất từ các điểm cho trước
Thuật toán phát hiện va chạm: kiểm tra sự va chạm hay giao nhau của hai khối
Thuật toán hình nón: xác định các điểm trên bề mặt
Thuật toán bao lồi: xác định bao lồi của một tập các điểm
Quét Graham
Quickhull
Thuật toán gói quà hay hành quân Jarvis
Thuật toán Chan
Thuật toán Kirkpatrick–Seidel
Biến đổi khoảng cách Euclid: tính khoảng cách giữa tất cả các điểm trong mạng lưới và một tập hợp các điểm.
Băm hình học: tìm vật thể hai chiều biểu diễn bởi các điểm rời rạc dưới một biến đổi afin
Thuật toán khoảng cách Gilbert–Johnson–Keerthi: tìm khoảng cách nhỏ nhất giữa hai hình lồi.
Thuật toán Jump-and-Walk: định vị điểm trong phép đạc tam giác
Làm mịn Laplace: thuật toán làm mịn một lưới đa giác
Giao điểm đường thẳng: xác định liệu hai đường thẳng cắt nhau, thường với một thuật toán đường quét
Thuật toán Bentley–Ottmann
Thuật toán Shamos–Hoey
Thuật toán hộp giới hạn tối thiểu: tìm hộp giới hạn tối thiểu có hướng chứa các điểm cho trước
Tìm kiếm hàng xóm gần nhất: tìm các điểm gần điểm cho trước nhất
Thuật toán điểm trong đa giác: kiểm tra xem liệu điểm cho trước có nằm trong một đa giác không
Thuật toán phối chuẩn tập điểm: tìm biến đổi giữa hai tập điểm để canh chuẩn chúng tốt nhất
Thước kẹp xoay: xác định tất cả những cặp điểm đối cực trên một đa giác lồi hay bao lồi.
Thuật toán dây giày: xác định diện tích của đa giác
Tam giác phân
Tam giác phân Delaunay
Thuật toán Ruppert: tạo tam giác phân Delaunay chất lượng
Thuật toán Chew thứ hai: tạo tam giác phân Delaunay ràng buộc
Thuật toán tam giác phân đa giác: chia một đa giác thành các tam giác nhỏ hơn
Sơ đồ Voronoi, đối ngẫu hình học của tam giác phân Delaunay
Thuật toán Bowyer–Watson: tạo sơ đồ Voronoi với số chiều bất kỳ
Thuật toán Fortune: tạo sơ đồ Voronoi

Thuật toán lý thuyết số

Thuật toán Stein (còn gọi là thuật toán GCD nhị phân): tính ước chung lớn nhất một cách hiệu quả
Phương pháp Chakravala: một thuật toán tuần hoàn để giải phương trình b6ạc hai không xác định, bao gồm phương trình Pell
Lôgarit rời rạc:
Bước nhỏ bước lớn
Thuật toán phân tích chỉ số
Thuật toán rho Pollard cho lôgarit
Thuật toán Pohlig–Hellman
Thuật toán Euclid: tính ước số chung lớn nhất của hai số
Thuật toán Euclid mở rộng: giải phươgn trình
Phân tích số nguyên: phân tích một số nguyên thành tích các ước nguyên tố
Đồng dư bình phương
Thuật toán Dixon
Phương pháp phân tích Fermat
Sàng trường số tổng quát
Phân tích đường cong elliptic Lenstra
Thuật toán p&nbsp;−&nbsp;1 Pollard
Thuật toán rho Pollard
Sàng bậc hai
Thuật toán Shor
Sàng trường số đặc biệt
Chia thử
Thuật toán nhân: nhân hai số với nhau
Thuật toán nhân Booth: thuật toán nhân hai số nhị phân trong ký hiệu bù hai
Thuật toán Fürer: thuật toán nhân số lớn với độ phức tạp thấp
Thuật toán Karatsuba
Thuật toán Schönhage–Strassen
Toom–Cook multiplication (Toom3)
Thặng dư bình phương: tính căn bậc hai modulo một số nguyên tố
Thuật toán Tonelli–Shanks
Thuật toán Cipolla
Thuật toán tìm nghiệm Berlekamp
Thuật toán Odlyzko&ndash;Schönhage: tính giá trị của hàm zeta Riemann
Thuật toán Lenstra–Lenstra–Lovász (còn gọi là thuật toán LLL): tìm một cơ sở lưới ngắn và gần vuông góc trong thời gian đa thức
Kiểm tra tính nguyên tố: kiểm tra xem một số có phải số nguyên tố
Phép kiểm tra tính nguyên tố AKS
Phép kiểm tra tính nguyên tố Baillie–PSW
Phép kiểm tra tính nguyên tố Fermat
Phép kiểm tra tính nguyên tố Lucas
Phép kiểm tra tính nguyên tố Miller–Rabin
Sàng Atkin
Sàng Eratosthenes
Sàng Sundaram

Thuật toán số

Giải phương trình vi phân

Phương pháp Euler
Phương pháp Euler đảo
Quy tắc hình thang (phương trình vi phân)
Phương pháp đa bước tuyến tính
Phương pháp Runge–Kutta
Phương pháp đa lưới (phương pháp MG): một nhóm các thuật toán giải phương trình vi phân sử dụng hệ thống rời rạc hóa
Phương trình vi phân riêng phần:
Phương pháp hiệu hữu hạn
Phương pháp Crank–Nicolson cho phương trình khuếch tán
Phương pháp Lax–Wendroff cho phương trình sóng for wave equations
Tích phân Verlet: lấy tích phân một phương trình chuyển động Newton

Hàm sơ cấp và đặc biệt

Tính π:
Thuật toán Borwein: tính giá trị của 1/π
Thuật toán Gauss–Legendre: tìm các chữ số của π
Thuật toán Chudnovsky: tính các chữ số của π
Công thức Bailey–Borwein–Plouffe (công thức BBP): một thuật toán nhỏ giọt để tính chữ số nhị phân thứ n của π
Thuật toán chia: tính thương và/hoặc số dự khi chia hai số
Phép chia số lớn
Phép chia hồi phục
Phép chia không hồi phục
Phép chia SRT
Phép chia Newton–Raphson: dùng phương pháp Newton để tìm nghịch đảo của D, và nhân nghịch đảo đó với N để tìm thương số Q
Phép chia Goldschmidt
Hàm lượng giác và hyperbolic:
Thuật toán BKM: tính hàm sơ cấp sử dụng bảng lôgarit
CORDIC: tính giá trị của hàm lượng giác và hyperbolic sử dụng bảng arctan
Lũy thừa:
Lũy thừa chuỗi cộng: lũy thừa số mũ nguyên dương với số phép nhân tối thiểu
Thuật toán bình phương và nhân: tính lũy thừa số mũ lớn của một số nhanh chóng
Phép nhân mô-đun Montgomery: thuật toán thực hiện số học môđun hiệu quả khi cơ số lớn
Thuật toán nghịc đảo phép nhân: tính nghịch đảo phép nhân của một số
Phương pháp Newton
Làm tròn: làm tròn số
Thuật toán nhỏ giọt: tính giá trị của một hằng số toán học mà không cần biết những chữ số trước đó
Căn bậc hai và căn bậc của một số
Thuật toán alpha max cộng beta min: xấp xỉ căn bậc hai của tổng hai bình phương
Phương pháp tính căn bậc hai
Căn bậc n
Thuật toán dịch căn bậc n: tính từng chữ số
Lấy tổng:
Tách nhị phân: một phương pháp chia để trị giúp tăng tốc việc tính toán nhiều chuỗi với hệ số hữu tỉ
Thuật toán tổng Kahan: phương pháp lấy tổng số dấu phẩy động chính xác

Hình học
Phương pháp tập mức (LSM): một phương pháp theo dõi bề mặt và vật thể

Nội suy và ngoại suy

Nội suy Birkhoff: một mở rộng của nội suy đa thức
Nội suy bậc ba
Nội suy Hermite
Nội suy Lagrange: nội suy bằng đa thức Lagrange
Nội suy tuyến tính: phương pháp hợp chỉnh đường cong bằng đa thức tuyến tính
Nội suy bậc ba đơn điệu: biến thể của nội suy bảo toàn tính đơn điệu của tập dữ liệu
Nội suy đa biến
Nội suy nhị bậc ba: tổng quát của nội suy bậc ba cho hai chiều
Nội suy song tuyến tính: mở rộng của nội suy tuyến tính cho hai biến trên mặt phẳng
Lọc Lanczos ("Lanzosh"): phương pháp nội suy nhiều biến cho tập dữ liệu kỹ thuật số
Nội suy hàng xóm gần nhất
Nội suy tam bậc ba: mở rộng của nội suy bậc ba cho ba chiều
Nội suy Pareto: phương pháp xấp xỉ trung vị và những tính chất khác của tập dữ liệu theo phân bố Pareto
Nội suy đa thức
Thuật toán Neville
Nội suy spline: giảm sai số do hiện tượng Runge.
Thuật toán de Boor: B-spline
Thuật toán de Casteljau: đường cong Bézier
Nội suy lượng giác

Đại số tuyến tính

Thuật toán giá trị riêng
Phép lặp Arnoldi
Phép lặp đảo
Phương pháp Jacobi
Phép lặp Lanczos
Phép lặp lũy thừa
Thuật toán QR
Phép lặp thương Rayleigh
Quá trình Gram–Schmidt: trực chuẩn hóa các vectơ
Thuật toán nhân đa thức
Thuật toán Cannon: một thuật toán phân tán để nhân đa thức phù hợp với máy tính trong mạng lưới N × N
Thuật toán Coppersmith–Winograd: nhân đa thức vuông
Thuật toán Freivalds: thuật toán ngẫu nhiên để kiểm tra kết quả nhân đa thức
Thuật toán Strassen: nhân đa thức nhanh

Giải hệ phương trình tuyến tính
Phương pháp gradient song liên hợp
Phương pháp gradient liên hợp: thuật toán giải một dạng hệ phương trình tuyến tính
Phép khử Gauss
Phép khử Gauss–Jordan
Phương pháp Gauss–Seidel: giải hệ phương trình tuyến tính từng bước
Đệ quy Levinson: giải hệ phương trình bằng ma trận Toeplitz
Phương pháp Stone (SIP): giải hệ tuyến tính thưa
Over-relaxation liên tục (SOR): tăng tốc độ hội tụ của phương pháp Gauss–Seidel
Thuật toán ma trận ba đường chéo (thuật toán Thomas): giải hệ phương trình ba đường chéo
Thuật toán ma trận thưa
Thuật toán Cuthill–McKee: giảm băng thông của một ma trận thưa đối xứng
Thuật toán bậc tối thiểu: hoán đổi các hàng và cột của một ma trận thưa đối xứng trước khi phân hủy Cholesky
Phân hủy Cholesky ký hiệu: lưu trữ ma trận thưa hiệu quả

Monte Carlo

Lấy mẫu Gibbs: tạo một chuỗi mẫu từ phân bố xác suất chung của hai hoặc nhiều biến ngẫu nhiên
Monte Carlo Hamilton: tạo một chuỗi mẫu dùng Monte Carlo chuỗi Markov trọng số Hamiltonian
Thuật toán Metropolis–Hastings: tạo một chuỗi mẫu từ phân bố xác suất của một hoặc nhiều biến
Thuật toán Wang và Landau: mở rộng của thuật toán Metropolis–Hastings

Tích phân số

Tích phân Monte Carlo (thuật toán MISER)

Tìm nghiệm

Phương pháp chia đôi
Regula falsi: xấp xỉ nghiệm của hàm số
Phương pháp ITP: thuật toán tìm nghiệm nhanh hơn phương pháp chia đôi
Phương pháp Newton: tìm nghiệm bằng đạo hàm
Phương pháp Halley: dùng đạo hàm bậc một và hai
Phương pháp giao tuyến: 2 điểm, 1 bên
Phương pháp Ridder: 3 điểm, nhân hàm mũ
Phương pháp Muller: 3 điểm, nội suy bậc hai

Thuật toán tối ưu hóa

Cắt tỉa alpha–beta: tìm kiếm để giảm số đỉnh trong thuật toán minimax
Branch và bound
Thuật toán Bruss
Phép nhân chuỗi ma trận
Tối ưu hóa tổ hợp: những bài toán tối ưu hóa với tập kết quả là rời rạc
GRASP: xây dựng liên tục một lời giải ngẫu nhiên tham lam và cải thiện nó bằng tìm kiếm địa phương
Phương pháp Hungary: giải quyết bài toán phân công trong thời gian đa thức
Thỏa mãn ràng buộc
Các thuật toán chung cho thỏa mãn ràng buộc
Thuật toán AC-3
Thuật toán difference-map
Thuật toán min-conflict
Thuật toán Chaff: thuật toán để giải bài toán tính thỏa được Bool
Thuật toán Davis–Putnam: kiểm tra sự hợp lệ của công thức logic bậc nhất
Thuật toán Davis–Putnam–Logemann–Loveland (DPLL): quyết định tính thỏa được của công thức logic mệnh đề dưới dạng chuẩn liên kết, ví dụ như bài toán CNF-SAT
Bài toán phủ chính xác
Thuật toán X: một thuật toán bất định
Dancing Links: một triển khai hiệu quả cho thuật toán X
Phương pháp cross-entropy: một phương pháp Monte Carlo tổng quát cho tối ưu rời rạc và liên tục đa cực
Tiến hóa vi phân
Quy hoạch động: những bài toán có tính chất bài toán con trùng nhau và cấu trúc con tối ưu
Phương pháp ellipsoid: is an algorithm for solving convex optimization problems
Thuật toán tiến hóa: tối ưu hóa phỏng theo cơ chế sinh học của tiến hóa
Chiến lược tiến hóa
Lập trình biểu hiện gen
Thuật toán di truyền
Chọn lọc tỉ lệ thể chất – also known as roulette-wheel selection
Lấy mẫu phổ ngẫu nhiên
Chọn lọc giải đấu
Thuật toán memetic
Trí tuệ bầy đàn
Tối ưu đàn kiến
Thuật toán ong: thuật toán tìm kiếm bắt chước hành vi kiếm ăn của đàn ong
Tối ưu bầy đàn
Tìm kiếm lát vàng: thuật toán tìm cực trị của một hàm số thực
Suy giảm độ dốc
Tối ưu hóa siêu tham số
Phương pháp điểm trong
Quy hoạch tuyến tính
Thuật toán Benson: giải quyết các bài toán tối ưu vectơ tuyến tính
Phân tích Dantzig–Wolfe
Tạo cột
Quy hoạch số nguyên
Branch and cut
Phương pháp mặt cắt
Thuật toán Karmarkar: thuật toán hiệu quả đầu tiên giải quyết quy hoạch tuyến tính trong thời gian đa thức.
Thuật toán simplex
Tìm kiếm đường thẳng
Tìm kiếm địa phương
Leo đồi
Tìm kiếm tabu
Tìm kiếm hàng xóm gần nhất (NNS): tìm những điểm gần nhất trong không gian metric
Best Bin First: tìm đáp án xấp xỉ cho bài toán tìm kiếm hàng xóm gần nhất trong không gian rất nhiều chiều
Phương pháp Newton trong tối ưu hóa
Quy hoạch phi tuyến tính
Phương pháp BFGS: một thuật toán tối ưu hóa phi tuyến tính
Thuật toán Gauss–Newton: giải các bài toán bình phương tối thiểu phi tuyến tính
Thuật toán Levenberg–Marquardt: giải các bài toán bình phương tối thiểu phi tuyến tính
Phương pháp Nelder–Mead (phương pháp hạ dốc simplex): thuật toán tối ưu hóa phi tuyến tính
Thuật toán odds (thuật toán Bruss): tìm phương án tối ưu để dự đoán một sự kiện trong một chuỗi các sự kiện ngẫu nhiên
Simulated annealing
Chui hầm ngẫu nhiên
Thuật toán tổng tập con

Xem thêm
Danh sách cấu trúc dữ liệu
Danh sách thuật toán học máy
Danh sách các thuật ngữ liên quan đến cấu trúc dữ liệu và giải thuật
Heuristic

Tham khảo