Skip to content

Commit da6ae08

Browse files
StPfeffertrekhleb
andauthored
Brazilian Portuguese translation and typos fixes (trekhleb#943)
* Update README.pt-BR.md * TRIE README.pt-BR typo * TREE README.pt-BR typo * Stack README.pt-BR typo * Priority Queue README.pt-BR typo * hash-table README.pt-BR typo * doubly-linked-list README.pt-BR typo * disjoint-set README.pt-BR typo * bloom-filter README.pt-BR typo * merge-sort pt-BR translation * merge-sort README added pt-BR option * insertion sort pt-BR translation * insertion sort README added pt-br option * heap-sort pt-BR translation * heap-sort READMED added pt-BR option * bubble sort pt-BR typo * pt-BR translation for sorting algorithms Fixed typos and translated all the missing algorithms * Update README.pt-BR.md * linked list pt-BR translation * ml pt-BR translation * fix typo in README Co-authored-by: Oleksii Trekhleb <[email protected]>
1 parent 9ef6650 commit da6ae08

File tree

34 files changed

+567
-145
lines changed

34 files changed

+567
-145
lines changed

README.pt-BR.md

Lines changed: 112 additions & 105 deletions
Large diffs are not rendered by default.

src/algorithms/linked-list/reverse-traversal/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# Reversed Linked List Traversal
22

33
_Read this in other languages:_
4-
[中文](README.zh-CN.md)
4+
[_中文_](README.zh-CN.md),
5+
[_Português_](README.pt-BR.md)
56

67
The task is to traverse the given linked list in reversed order.
78

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Travessia de Lista Encadeada Reversa
2+
3+
_Leia isso em outros idiomas:_
4+
[_中文_](README.zh-CN.md),
5+
[_English_](README.md)
6+
7+
A tarefa é percorrer a lista encadeada fornecida em ordem inversa.
8+
9+
Por exemplo, para a seguinte lista vinculada:
10+
11+
![](https://upload.wikimedia.org/wikipedia/commons/6/6d/Singly-linked-list.svg)
12+
13+
A ordem de travessia deve ser:
14+
15+
```texto
16+
37 → 99 → 12
17+
```
18+
19+
A complexidade de tempo é `O(n)` porque visitamos cada nó apenas uma vez.
20+
21+
## Referência
22+
23+
- [Wikipedia](https://en.wikipedia.org/wiki/Linked_list)

src/algorithms/linked-list/traversal/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
_Read this in other languages:_
44
[_Русский_](README.ru-RU.md),
5-
[中文](README.zh-CN.md)
5+
[_中文_](README.zh-CN.md),
6+
[_Português_](README.pt-BR.md)
67

78
The task is to traverse the given linked list in straight order.
89

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Travessia de Lista Encadeada
2+
3+
_Leia isso em outros idiomas:_
4+
[_Русский_](README.ru-RU.md),
5+
[_中文_](README.zh-CN.md),
6+
[_English_](README.md)
7+
8+
A tarefa é percorrer a lista encadeada fornecida em ordem direta.
9+
10+
Por exemplo, para a seguinte lista vinculada:
11+
12+
![Singly linked list](https://upload.wikimedia.org/wikipedia/commons/6/6d/Singly-linked-list.svg)
13+
14+
A ordem de travessia deve ser:
15+
16+
```texto
17+
12 → 99 → 37
18+
```
19+
20+
A complexidade de tempo é `O(n)` porque visitamos cada nó apenas uma vez.
21+
22+
## Referência
23+
24+
- [Wikipedia](https://en.wikipedia.org/wiki/Linked_list)

src/algorithms/ml/k-means/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# k-Means Algorithm
22

3+
_Read this in other languages:_
4+
[_Português_](README.pt-BR.md)
5+
36
The **k-Means algorithm** is an unsupervised Machine Learning algorithm. It's a clustering algorithm, which groups the sample data on the basis of similarity between dimensions of vectors.
47

58
In k-Means classification, the output is a set of classes assigned to each vector. Each cluster ___location is continuously optimized in order to get the accurate locations of each cluster such that they represent each group clearly.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Algoritmo k-Means
2+
3+
_Leia isso em outros idiomas:_
4+
[_English_](README.md)
5+
6+
O **algoritmo k-Means** é um algoritmo de aprendizado de máquina não supervisionado. É um algoritmo de agrupamento, que agrupa os dados da amostra com base na semelhança entre as dimensões dos vetores.
7+
8+
Na classificação k-Means, a saída é um conjunto de classes atribuídas a cada vetor. Cada localização de cluster é continuamente otimizada para obter as localizações precisas de cada cluster de forma que representem cada grupo claramente.
9+
10+
A ideia é calcular a similaridade entre a localização do cluster e os vetores de dados e reatribuir os clusters com base nela. [Distância Euclidiana](https://github.com/trekhleb/javascript-algorithms/tree/master/src/algorithms/math/euclidean-distance) é usado principalmente para esta tarefa.
11+
12+
![Distância Euclidiana entre dois pontos](https://upload.wikimedia.org/wikipedia/commons/5/55/Euclidean_distance_2d.svg)
13+
14+
_Fonte: [Wikipedia](https://en.wikipedia.org/wiki/Euclidean_distance)_
15+
16+
O algoritmo é o seguinte:
17+
18+
1. Verifique se há erros como dados inválidos/inconsistentes
19+
2. Inicialize os locais do cluster `k` com pontos `k` iniciais/aleatórios
20+
3. Calcule a distância de cada ponto de dados de cada cluster
21+
4. Atribua o rótulo do cluster de cada ponto de dados igual ao do cluster em sua distância mínima
22+
5. Calcule o centroide de cada cluster com base nos pontos de dados que ele contém
23+
6. Repita cada uma das etapas acima até que as localizações do centroide estejam variando
24+
25+
Aqui está uma visualização do agrupamento k-Means para melhor compreensão:
26+
27+
![KNN Visualization 1](https://upload.wikimedia.org/wikipedia/commons/e/ea/K-means_convergence.gif)
28+
29+
_Fonte: [Wikipedia](https://en.wikipedia.org/wiki/K-means_clustering)_
30+
31+
Os centroides estão se movendo continuamente para criar uma melhor distinção entre os diferentes conjuntos de pontos de dados. Como podemos ver, após algumas iterações, a diferença de centroides é bastante baixa entre as iterações. Por exemplo, entre as iterações `13` e `14` a diferença é bem pequena porque o otimizador está ajustando os casos limite.
32+
33+
## Referências
34+
35+
- [k-Means neighbors algorithm on Wikipedia](https://en.wikipedia.org/wiki/K-means_clustering)

src/algorithms/ml/knn/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# k-Nearest Neighbors Algorithm
22

3+
_Read this in other languages:_
4+
[_Português_](README.pt-BR.md)
5+
36
The **k-nearest neighbors algorithm (k-NN)** is a supervised Machine Learning algorithm. It's a classification algorithm, determining the class of a sample vector using a sample data.
47

58
In k-NN classification, the output is a class membership. An object is classified by a plurality vote of its neighbors, with the object being assigned to the class most common among its `k` nearest neighbors (`k` is a positive integer, typically small). If `k = 1`, then the object is simply assigned to the class of that single nearest neighbor.

src/algorithms/ml/knn/README.pt-BR.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Algoritmo de k-vizinhos mais próximos
2+
3+
_Leia isso em outros idiomas:_
4+
[_English_](README.md)
5+
6+
O **algoritmo de k-vizinhos mais próximos (k-NN)** é um algoritmo de aprendizado de máquina supervisionado. É um algoritmo de classificação, determinando a classe de um vetor de amostra usando dados de amostra.
7+
8+
Na classificação k-NN, a saída é uma associação de classe. Um objeto é classificado por uma pluralidade de votos de seus vizinhos, com o objeto sendo atribuído à classe mais comum entre seus `k` vizinhos mais próximos (`k` é um inteiro positivo, tipicamente pequeno). Se `k = 1`, então o objeto é simplesmente atribuído à classe daquele único vizinho mais próximo.
9+
10+
The idea is to calculate the similarity between two data points on the basis of a distance metric. [Distância Euclidiana](https://github.com/trekhleb/javascript-algorithms/tree/master/src/algorithms/math/euclidean-distance) é usado principalmente para esta tarefa.
11+
12+
![Distância Euclidiana entre dois pontos](https://upload.wikimedia.org/wikipedia/commons/5/55/Euclidean_distance_2d.svg)
13+
14+
_Fonte: [Wikipedia](https://en.wikipedia.org/wiki/Euclidean_distance)_
15+
16+
O algoritmo é o seguinte:
17+
18+
1. Verifique se há erros como dados/rótulos inválidos.
19+
2. Calcule a distância euclidiana de todos os pontos de dados nos dados de treinamento com o ponto de classificação
20+
3. Classifique as distâncias dos pontos junto com suas classes em ordem crescente
21+
4. Pegue as classes iniciais `K` e encontre o modo para obter a classe mais semelhante
22+
5. Informe a classe mais semelhante
23+
24+
Aqui está uma visualização da classificação k-NN para melhor compreensão:
25+
26+
![KNN Visualization 1](https://upload.wikimedia.org/wikipedia/commons/e/e7/KnnClassification.svg)
27+
28+
_Fonte: [Wikipedia](https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm)_
29+
30+
A amostra de teste (ponto verde) deve ser classificada em quadrados azuis ou em triângulos vermelhos. Se `k = 3` (círculo de linha sólida) é atribuído aos triângulos vermelhos porque existem `2` triângulos e apenas `1` quadrado dentro do círculo interno. Se `k = 5` (círculo de linha tracejada) é atribuído aos quadrados azuis (`3` quadrados vs. `2` triângulos dentro do círculo externo).
31+
32+
Outro exemplo de classificação k-NN:
33+
34+
![KNN Visualization 2](https://media.geeksforgeeks.org/wp-content/uploads/graph2-2.png)
35+
36+
_Fonte: [GeeksForGeeks](https://media.geeksforgeeks.org/wp-content/uploads/graph2-2.png)_
37+
38+
Aqui, como podemos ver, a classificação dos pontos desconhecidos será julgada pela proximidade com outros pontos.
39+
40+
É importante notar que `K` é preferível ter valores ímpares para desempate. Normalmente `K` é tomado como `3` ou `5`.
41+
42+
## Referências
43+
44+
- [k-nearest neighbors algorithm on Wikipedia](https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm)

src/algorithms/sorting/bubble-sort/README.pt-BR.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
# Bubble Sort
22

3+
_Leia isso em outros idiomas:_
4+
[_English_](README.md)
5+
36
O bubble sort, ou ordenação por flutuação (literalmente "por bolha"), é um algoritmo de ordenação dos mais simples. A ideia é percorrer o vetor diversas vezes, e a cada passagem fazer flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo.
47

58
![Algorithm Visualization](https://upload.wikimedia.org/wikipedia/commons/c/c8/Bubble-sort-example-300px.gif)
69

7-
## Complexity
10+
## Complexidade
811

9-
| Name | Best | Average | Worst | Memory | Stable | Comments |
12+
| Nome | Melhor | Média | Pior | Memória | Estável | Comentários |
1013
| --------------------- | :-------------: | :-----------------: | :-----------------: | :-------: | :-------: | :-------- |
11-
| **Bubble sort** | n | n<sup>2</sup> | n<sup>2</sup> | 1 | Yes | |
14+
| **Bubble sort** | n | n<sup>2</sup> | n<sup>2</sup> | 1 | Sim | |
1215

13-
## References
16+
## Referências
1417

1518
- [Wikipedia](https://pt.wikipedia.org/wiki/Bubble_sort)
1619
- [YouTube](https://www.youtube.com/watch?v=6Gv8vg0kcHc&index=27&t=0s&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)

0 commit comments

Comments
 (0)