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 − 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–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

Thuật toán