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 1=ax + by = c- 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 n 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ộcThỏ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ínhQuy 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