forked from MakeContributions/DSA
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: add Português language (MakeContributions#697)
- Loading branch information
1 parent
23595e9
commit 9d7bde9
Showing
5 changed files
with
140 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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/) |