docs: add Português language (#697)
parent
23595e9524
commit
9d7bde92c0
|
@ -13,6 +13,7 @@ Data structure and Algorithm (DSA)
|
||||||
|
|
||||||
## Explanations
|
## Explanations
|
||||||
- [English](./docs/en)
|
- [English](./docs/en)
|
||||||
|
- [Português](.docs/pt)
|
||||||
- [繁體中文](./docs/zh-tw)
|
- [繁體中文](./docs/zh-tw)
|
||||||
- [日本語](./docs/ja)
|
- [日本語](./docs/ja)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
# Nome do Algoritmo
|
||||||
|
|
||||||
|
Escrever uma breve descrição de características do algoritmo assim como:
|
||||||
|
1. Complexidade de tempo
|
||||||
|
2. Complexidade de espaço
|
||||||
|
3. Aplicações
|
||||||
|
4. Nome dos fundadores/criadores
|
||||||
|
5. etc...
|
||||||
|
|
||||||
|
## Passos
|
||||||
|
|
||||||
|
Descreve o algoritmo de forma clara, simples e de modo que os passos sejam compreendidos por toda a gente.
|
||||||
|
|
||||||
|
## Exemplos
|
||||||
|
|
||||||
|
Ao dar exemplos, identifica o algoritmo com uma amostra de dados iniciais. E continua com eles ao fazer os passos.
|
||||||
|
|
||||||
|
## Implementação
|
||||||
|
|
||||||
|
A ligação(links) para a sua implementação na respetiva linguagem de programação.
|
||||||
|
NOTA: A ligação(link) deve estar apenas dentro da pasta do algoritmo.
|
||||||
|
|
||||||
|
## Video URL
|
||||||
|
|
||||||
|
Anexa o URL de um vídeo que explica o algoritmo, deve ser em português.
|
||||||
|
|
||||||
|
## Outros
|
||||||
|
|
||||||
|
Qualquer informação é sempre bem-vinda e deve ser incluída nesta secção.
|
|
@ -0,0 +1,54 @@
|
||||||
|
# Pesquisa Binária
|
||||||
|
|
||||||
|
A **Pesquisa Binária**(em inglês Binary Search) é um algoritmo de pesquisa que encontra a posição de um valor dentro da matriz.
|
||||||
|
|
||||||
|
1. Complexidade temporal: O(log n)
|
||||||
|
2. Complexidade de espaço: O(1)
|
||||||
|
3. Aplicações: Uma melhor aplicação quando os dados já estão organizados e temos bastantes
|
||||||
|
4. Nome do fundador: P.F. Windley, A.D. Booth, A.J.T. Colin, e T.N. Hibbard
|
||||||
|
5. É um dos algoritmos de pesquisa mais populares e usado diariamente.
|
||||||
|
|
||||||
|
## Passos
|
||||||
|
|
||||||
|
1. Encontrar o elemento do meio da matriz
|
||||||
|
2. Verificar se o elemento que estamos a procurar é igual ao elemento do meio e se sim, retornar o índice e acabar o programa/função.
|
||||||
|
3. Se o 2º passo não foi verificado, testamos se o elemento a procurar é menor que o elemento do meio, se sim voltamos para o passo 1 e usamos entre o início do matriz e o índice do elemento do meio -1.
|
||||||
|
4. Se o 3º passo não foi verificado, testamos se o elemento a procurar é maior que o elemento do meio, se sim voltamos para o passo 1 e usamos entre o índice do elemento do meio +1 até ao último índice da matriz.
|
||||||
|
5. Percorrer o ciclo até o índice inicial ser menor do que o índice final
|
||||||
|
6. Se o ciclo acabar e nenhum dado for encontrado retornar -1, que significa que o elemento a procurar não existe na matriz dada.
|
||||||
|
> **Nota:** A matriz deve estar organizada de forma crescente.
|
||||||
|
|
||||||
|
## Exemplos
|
||||||
|
|
||||||
|
Dados de Entrada: **10,20,30,40,50**
|
||||||
|
|
||||||
|
Elemento para procurar: **20**
|
||||||
|
|
||||||
|
Procedimento:
|
||||||
|
|
||||||
|
Elemento do meio: **30** e o elemento a procurar é menor do que 30, logo a pesquisa vai passar a ser do início do matriz até ao índice do meio -1
|
||||||
|
|
||||||
|
Logo em seguida o elemento do meio é o **20** e o elemento do meio é o elemento que estamos a procurar, logo retornar o índice **1**
|
||||||
|
|
||||||
|
Dados de Saída: **1**
|
||||||
|
|
||||||
|
## Implementações
|
||||||
|
|
||||||
|
- [C](https://github.com/MakeContributions/DSA/blob/main/algorithms/C/searching/Binary-search.c)
|
||||||
|
- [C++](https://github.com/MakeContributions/DSA/blob/main/algorithms/CPlusPlus/Searching/binary-search.cpp)
|
||||||
|
- [CSharp](https://github.com/MakeContributions/DSA/blob/main/algorithms/CSharp/src/Search/binary-search.cs)
|
||||||
|
- [Go](https://github.com/MakeContributions/DSA/blob/main/algorithms/Go/searching/binary-search.go)
|
||||||
|
- [Java](https://github.com/MakeContributions/DSA/blob/main/algorithms/Java/searching/binary-search.java)
|
||||||
|
- [JavaScript](https://github.com/MakeContributions/DSA/blob/main/algorithms/JavaScript/src/searching/binary-search.js)
|
||||||
|
- [JavaScript](https://github.com/MakeContributions/DSA/blob/main/algorithms/JavaScript/src/searching/binary-search-recursive.js)
|
||||||
|
- [Python](https://github.com/MakeContributions/DSA/blob/main/algorithms/Python/searching/binary_search.py)
|
||||||
|
|
||||||
|
## Video URL
|
||||||
|
|
||||||
|
[Video a explicar pesquisa binária](https://www.youtube.com/watch?v=5T1SDEZzCLo)
|
||||||
|
|
||||||
|
## Outros
|
||||||
|
|
||||||
|
[Wikipédia](https://pt.wikipedia.org/wiki/Pesquisa_bin%C3%A1ria)
|
||||||
|
|
||||||
|
[Exercícios e uma explicação mais detalhada](https://www2.unifap.br/furtado/files/2013/10/Algoritmos-busca-bin%c3%a1ria-vers%c3%a3o-simplificada1.pdf)
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Algoritmos
|
||||||
|
|
||||||
|
## Strings
|
||||||
|
|
||||||
|
- [Palíndromo](./Strings/Palindrome.md)
|
||||||
|
|
||||||
|
## Procura
|
||||||
|
|
||||||
|
- [Pesquisa Binária](./Procura/Pesquisa-Binaria.md)
|
||||||
|
|
||||||
|
## Others
|
||||||
|
|
||||||
|
[Como adicionar documentação para um algoritmo?](./CONTRIBUTING.md)
|
|
@ -0,0 +1,43 @@
|
||||||
|
## Palíndromo
|
||||||
|
|
||||||
|
Um palíndromo é uma palavra, frase, número ou sequência de palavras que são lidas igualmente na forma normal e de trás para frente.
|
||||||
|
|
||||||
|
## Passos
|
||||||
|
|
||||||
|
1. Limpa a string removendo toda a pontuação e espaços em branco e converte todas as letras para minúsculas.
|
||||||
|
2. Inverte a string limpa (passo anterior).
|
||||||
|
3. Se a string limpa for igual à string limpa invertida temos um palíndromo.
|
||||||
|
|
||||||
|
## Exemplos
|
||||||
|
|
||||||
|
### Palíndromo de uma palavra
|
||||||
|
- Coco
|
||||||
|
- Ovo
|
||||||
|
- Osso
|
||||||
|
- Reler
|
||||||
|
- Salas
|
||||||
|
|
||||||
|
## Frases palíndromas
|
||||||
|
- Socorram-me, subi no ônibus em Marrocos.
|
||||||
|
- A base do teto desaba.
|
||||||
|
- A mãe te ama.
|
||||||
|
- Arara rara.
|
||||||
|
- O céu sueco.
|
||||||
|
|
||||||
|
## Implementações
|
||||||
|
- [C](../../../algorithms/C/strings/palindrome.c)
|
||||||
|
- [C++](../../../algorithms/CPlusPlus/Maths/palindrome.cpp)
|
||||||
|
- [C#](../../../algorithms/CSharp/src/Strings/palindrome.cs)
|
||||||
|
- [Haskell](../../../algorithms/Haskell/strings/palindrome.hs)
|
||||||
|
- [Java](../../../algorithms/Java/strings/palindrome.java)
|
||||||
|
- [JavaScript](../../../algorithms/JavaScript/src/strings/palindrome.js)
|
||||||
|
- [Python](../../../algorithms/Python/strings/palindrome.py)
|
||||||
|
- [Rust](../../../algorithms/Rust/strings/palindrome/src/main.rs)
|
||||||
|
|
||||||
|
## Video URL
|
||||||
|
[Video no youtube a explicar o palíndromo](https://www.youtube.com/watch?v=j3yTHI8uSCg)
|
||||||
|
|
||||||
|
## Outros
|
||||||
|
|
||||||
|
[Wikipédia](https://pt.wikipedia.org/wiki/Pal%C3%ADndromo)
|
||||||
|
[Mais exemplos de palíndromos](https://www.todamateria.com.br/palindromo/)
|
Loading…
Reference in New Issue