From 16aab28acf231605c0ddd43732abf42d4132717f Mon Sep 17 00:00:00 2001 From: Rafael <rafaelbpa@gmail.com> Date: Wed, 14 Jul 2021 11:54:35 -0300 Subject: [PATCH] Created Quicksort documentation in pt-BR --- src/algorithms/sorting/quick-sort/README.md | 3 ++ .../sorting/quick-sort/README.pt-BR.md | 35 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 src/algorithms/sorting/quick-sort/README.pt-BR.md diff --git a/src/algorithms/sorting/quick-sort/README.md b/src/algorithms/sorting/quick-sort/README.md index 88c768aa37..771abc157c 100644 --- a/src/algorithms/sorting/quick-sort/README.md +++ b/src/algorithms/sorting/quick-sort/README.md @@ -1,5 +1,8 @@ # Quicksort +_Read this in other languages:_ +[_Português_](README.pt-BR.md) + Quicksort is a divide and conquer algorithm. Quicksort first divides a large array into two smaller sub-arrays: the low elements and the high elements. diff --git a/src/algorithms/sorting/quick-sort/README.pt-BR.md b/src/algorithms/sorting/quick-sort/README.pt-BR.md new file mode 100644 index 0000000000..a52f3725de --- /dev/null +++ b/src/algorithms/sorting/quick-sort/README.pt-BR.md @@ -0,0 +1,35 @@ +# Quicksort + +Quicksort é um algoritmo de dividir para conquistar é um algoritmo de divisão e conquista. +Quicksort primeiro divide uma grande matriz em duas menores +submatrizes: os elementos baixos e os elementos altos. +O Quicksort pode então classificar recursivamente as submatrizes + +As etapas são: + +1. Escolha um elemento, denominado pivô, na matriz. +2. Particionamento: reordene a matriz para que todos os elementos com +valores menores que o pivô vêm antes do pivô, enquanto todos +elementos com valores maiores do que o pivô vêm depois dele +(valores iguais podem ser usados em qualquer direção). Após este particionamento, +o pivô está em sua posição final. Isso é chamado de +operação de partição. +3. Aplique recursivamente as etapas acima à submatriz de +elementos com valores menores e separadamente para o +submatriz de elementos com valores maiores. + +Visualização animada do algoritmo quicksort. +As linhas horizontais são valores dinâmicos. + + + +## Complexidade + +| Nome | Melhor | Média | Pior | Memória | Estável | Comentários | +| --------------------- | :-------------: | :-----------------: | :-----------------: | :-------: | :-------: | :-------- | +| **Quick sort** | n log(n) | n log(n) | n<sup>2</sup> | log(n) | No | Quicksort geralmente é feito no local com espaço de pilha O(log(n)) | + +## Referências + +- [Wikipedia](https://pt.wikipedia.org/wiki/Quicksort) +- [YouTube](https://www.youtube.com/watch?v=SLauY6PpjW4&index=28&list=PLLXdhg_r2hKA7DPDsunoDZ-Z769jWn4R8)