> For the complete documentation index, see [llms.txt](https://luis-souza-1.gitbook.io/wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://luis-souza-1.gitbook.io/wiki/software-engineer/algorithms.md).

# Algoritmos

## Algoritmos

* <https://www.cs.usfca.edu/\\~galles/visualization/>
* <https://github.com/humanwhocodes/computer-science-in-javascript>
* <https://github.com/mgechev/javascript-algorithms>
* <https://github.com/trekhleb/javascript-algorithms>

### Links

* [Notação Big O](https://en.wikipedia.org/wiki/Big_O_notation)

### Arvóres

* [Breadth-First Search](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/tree/breadth-first-search/README.md)
* [Depth-First Search](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/tree/depth-first-search/README.md)
* [Quadtree](https://en.wikipedia.org/wiki/Quadtree)

### Backtracking

* [Combination Sum](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/combination-sum/README.md)
* [Hamiltonian Cycle](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/hamiltonian-cycle/README.md)
* [Jump Game](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/jump-game/README.md)
* [Knight's Tour](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/knight-tour/README.md)
* [N-Queens Problem](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/n-queens/README.md)
* [Unique Paths](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/unique-paths/README.md)

## Buscas

* [Binary Search](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/search/binary-search/README.md)
* [Interpolation Search](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/search/interpolation-search/README.md)
* [Jump Search](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/search/jump-search/README.md)
* [Linear Search](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/search/linear-search/README.md)

## Cadeia de Caracteres

* [Hamming Distance](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/string/hamming-distance/README.md)
* [Knuth–Morris–Pratt Algorithm](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/string/knuth-morris-pratt/README.md)
* [Levenshtein Distance](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/string/levenshtein-distance/README.md)
* [Longest Common Substring](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/string/longest-common-substring/README.md)
* [Rabin Karp Algorithm](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/string/rabin-karp/README.md)
* [Regular Expression Matching](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/string/regular-expression-matching/README.md)
* [Z Algorithm](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/string/z-algorithm/README.md)

### Classificação

* [Bubble Sort](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sorting/bubble-sort/README.md)
* [Counting Sort](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sorting/counting-sort/README.md)
* [Heap Sort](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sorting/heap-sort/README.md)
* [Insertion Sort](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sorting/insertion-sort/README.md)
* [Merge Sort](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sorting/merge-sort/README.md)
* [Quicksort](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sorting/quick-sort/README.md)
* [Radix Sort](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sorting/radix-sort/README.md)
* [Selection Sort](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sorting/selection-sort/README.md)
* [Shellsort](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sorting/shell-sort/README.md)

### Conjuntos

* [Combinações](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/combinations/README.md)
* [Maior subsequência crescente](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/longest-increasing-subsequence/README.md)
* [Mais longa subsequência comum](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/longest-common-subsequence/README.md)
* [Máximo Subarray](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/maximum-subarray/README.md)
* [Permutações](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/permutations/README.md)
* [Permutações de Fisher–Yates](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/fisher-yates/README.md)
* [Potência e Conjunto](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/power-set/README.md)
* [Problema da mochila](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/knapsack-problem/README.md)
* [Produto cartesiano](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/cartesian-product/README.md)
* [Soma de Combinação](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/combination-sum/README.md)
* [Supersequência Comum mais curta](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/shortest-common-supersequence/README.md)

### Consenso

* [Raft Consensus](https://raft.github.io/)

### Criptografia

* [Argon2](https://en.wikipedia.org/wiki/Argon2)
* [Polynomial Hash](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/cryptography/polynomial-hash/README.md)
* [Scrypt](https://en.wikipedia.org/wiki/Scrypt)

### Divide and Conquer

* [Binary Search](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/search/binary-search/README.md)
* [Combinations](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/combinations/README.md)
* [Euclidean Algorithm](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/euclidean-algorithm/README.md)
* [Graph Depth-First Search](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/depth-first-search/README.md)
* [Jump Game](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/jump-game/README.md)
* [Merge Sort](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sorting/merge-sort/README.md)
* [Pascal's Triangle](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/pascal-triangle/README.md)
* [Permutations](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/permutations/README.md)
* [Quicksort](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sorting/quick-sort/README.md)
* [Tree Depth-First Search](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/tree/depth-first-search/README.md)
* [Tower of Hanoi](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/hanoi-tower/README.md)

### Dynamic Programming

* [0/1 Knapsack Problem](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/knapsack-problem/README.md)
* [Bellman-Ford Algorithm](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/bellman-ford/README.md)
* [Fibonacci Number](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/fibonacci/README.md)
* [Floyd-Warshall Algorithm](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/floyd-warshall/README.md)
* [Integer Partition](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/integer-partition/README.md)
* [Jump Game](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/jump-game/README.md)
* [Levenshtein Distance](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/string/levenshtein-distance/README.md)
* [Longest Common Subsequence](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/longest-common-subsequence/README.md)
* [Longest Common Substring](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/string/longest-common-substring/README.md)
* [Longest Increasing Subsequence](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/longest-increasing-subsequence/README.md)
* [Maximum Subarray](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/maximum-subarray/README.md)
* [Rain Terraces](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/rain-terraces/README.md)
* [Regular Expression Matching](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/string/regular-expression-matching/README.md)
* [Shortest Common Supersequence](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/shortest-common-supersequence/README.md)
* [Unique Paths](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/unique-paths/README.md)

### Escalonamento

* [Round Robin](https://pt.wikipedia.org/wiki/Round-robin)

### Força bruta

* [Linear Search](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/search/linear-search/README.md)
* [Maximum Subarray](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/maximum-subarray/README.md)
* [Rain Terraces](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/rain-terraces/README.md)
* [Travelling Salesman Problem](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/travelling-salesman/README.md)

### Gráficos

* [Articulation Points](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/articulation-points/README.md)
* [Bellman-Ford Algorithm](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/bellman-ford/README.md)
* [Breadth-First Search](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/breadth-first-search/README.md)
* [Bridges](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/bridges/README.md)
* [Depth-First Search](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/depth-first-search/README.md)
* [Detect Cycle](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/detect-cycle/README.md)
* [Dijkstra Algorithm](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/dijkstra/README.md)
* [Eulerian Path and Eulerian Circuit](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/eulerian-path/README.md)
* [Floyd-Warshall Algorithm](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/floyd-warshall/README.md)
* [Hamiltonian Cycle](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/hamiltonian-cycle/README.md)
* [Kruskal’s Algorithm](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/kruskal/README.md)
* [Prim’s Algorithm](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/prim/README.md)
* [Strongly Connected Components](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/strongly-connected-components/README.md)
* [Topological Sorting](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/topological-sorting/README.md)
* [Travelling Salesman Problem](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/travelling-salesman/README.md)

### Greedy

* [Dijkstra Algorithm](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/dijkstra/README.md)
* [Jump Game](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/jump-game/README.md)
* [Kruskal’s Algorithm](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/kruskal/README.md)
* [Prim’s Algorithm](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/graph/prim/README.md)
* [Unbound Knapsack Problem](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/sets/knapsack-problem/README.md)

### Matemática

* [Algoritmo Euclidiano](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/euclidean-algorithm/README.md)
* [Algoritmo Liu Hui π](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/liu-hui/README.md)
* [Fatorial](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/factorial/README.md)
* [Manipulação Bit](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/bits/README.md)
* [Mínimo múltiplo comum](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/least-common-multiple/README.md)
* [Número complexo](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/complex-number/README.md)
* [Número de Fibonacci](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/fibonacci/README.md)
* [Partição inteira](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/integer-partition/README.md)
* [Peneira de Eratóstenes](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/sieve-of-eratosthenes/README.md)
* [Potência de dois](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/is-power-of-two/README.md)
* [Teste de Primalidade](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/primality-test/README.md)
* [Triângulo de Pascal](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/math/pascal-triangle/README.md)

### Pathfinding

* [Polyana](https://github.com/vleue/polyanya)

### Sem categoria

* [Flood Fill](https://learnersbucket.com/examples/algorithms/flood-fill-algorithm-in-javascript/#:~:text=Flood%20fill%20also%20called%20as,the%20pixels%20with%20same%20color.)
* [Forward Decay](https://en.wikipedia.org/wiki/Forward_algorithm)
* [HDR Histogram](http://hdrhistogram.org/)
* [Jump Game](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/jump-game/README.md)
* [Knight's Tour](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/knight-tour/README.md)
* [N-Queens Problem](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/n-queens/README.md)
* [Rain Terraces](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/rain-terraces/README.md)
* [Square Matrix Rotation](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/square-matrix-rotation/README.md)
* [T-Digest](https://github.com/tdunning/t-digest)
* [Tower of Hanoi](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/hanoi-tower/README.md)
* [Unique Paths](https://github.com/luissouza/luissouza-wiki/blob/main/software-engineer/algorithms/src/algorithms/uncategorized/unique-paths/README.md)
