<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Selection Sort - Algoritmo de Ordenação by Ivillys Silva</title>
      <link>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu</link>
      <description>Aqui será apresentado o conceito, alguns exemplos e materiais de estudo para o entendimento do Selection Sort - Um algoritmo de ordenação. 
Equipe:
Alan Duda dos Santos, Crislâine dos Santos, Ivillys Gomes.</description>
      <language>en-us</language>
      <pubDate>2022-01-17 23:56:30 UTC</pubDate>
      <lastBuildDate>2023-01-23 20:54:11 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>Introdução sobre os algoritmos de ordenação</title>
         <author>ivillyssilva</author>
         <link>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/1996737547</link>
         <description><![CDATA[<div>Todos os algoritmos são baseados em uma maneira passo a passo, sequencial, lógica e explícita de resolver problemas. Falando em ordenação, o objetivo desta operação é transformar uma sequência aleatória de dados em uma determinada ordem. Uma das principais razões para ordenar uma sequência é acessar seus dados de forma mais eficiente. Além disso, fornece uma organização que facilita a pesquisa, análise e observação do comportamento que está sendo estudado. Vários desses algoritmos foram criados para otimizar o tempo de ordenação e lidar com diferentes características de uma sequência: considerar se ela é parcialmente ordenada, completamente caótica e outras possibilidades. Dependendo da aplicação, escolher o algoritmo certo terá uma vantagem no momento da execução do código.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 00:01:08 UTC</pubDate>
         <guid>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/1996737547</guid>
      </item>
      <item>
         <title>Sobre o Selection sort</title>
         <author>ivillyssilva</author>
         <link>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/1996742708</link>
         <description><![CDATA[<div>A ordenação por seleção é um algoritmo de ordenação baseado em se passar sempre o menor valor do vetor para a primeira posição, depois o de segundo menor valor para a segunda posição, e assim é feito sucessivamente com os n-1 elementos restantes, até os últimos dois elementos.&nbsp;</div>]]></description>
         <enclosure url="https://www.youtube.com/watch?v=Ns4TPTC8whw" />
         <pubDate>2022-01-18 00:08:25 UTC</pubDate>
         <guid>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/1996742708</guid>
      </item>
      <item>
         <title>Como funciona o selection sort</title>
         <author>ivillyssilva</author>
         <link>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/1996774642</link>
         <description><![CDATA[<div><br>É composto por dois laços, um laço externo e outro interno. O laço externo serve para controlar o índice inicial e o interno percorre todo o vetor. Na primeira iteração do laço externo o índice começa de 0 e cada iteração ele soma uma unidade até o final do vetor e o laço mais interno percorre o vetor começando desse índice externo + 1 até o final do vetor. Isso ficará mais explícito no exemplo.<br><br></div><div><br>Exemplo:</div><pre>vetor = 9 - 7 - 8 - 1 - 2 - 0 - 4</pre><div><br>O primeiro laço o índice inicial é 0. O laço mais interno começa do índice 1 (índice_inicial_externo + 1) e percorre o vetor até achar o menor elemento, neste caso o número zero. O zero passa para a posição inicial do vetor que na primeira iteração do laço é 0.<br><br></div><pre>0 - 7 - 8 - 1 - 2 - 9 - 4</pre><div><br></div><div>Ao fim do laço interno, o laço externo incrementa uma unidade, agora a posição inicial do vetor passa a ser 1, pois o zero já se encontra no lugar dele, não é preciso mais fazer verificações pois ele é o menor elemento deste vetor. Agora o processo se repete, buscando o segundo menor elemento, neste caso o um.<br><br></div><pre>0 - 1 - 8 - 7 - 2 - 9 - 4</pre><div><br></div><div>Consequentemente o terceiro menor, quarto menor,...<br><br></div><div>Assim sucessivamente até o vetor está ordenado.<br><br></div><pre>0 - 1 - 2 -7 - 8 - 9 - 4<br>...<br>0 - 1 - 2 - 4 - 8 - 9 - 7<br>...<br>0 - 1 - 2 - 4 - 7 - 9 - 8<br>...<br><br>0 - 1 - 2 - 4 - 7 - 8 - 9</pre><div><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1270652142/f789f6f384f2aa45d8beff53a0ca56a1/1_pykGPsjpwHGkp2zsXX4pLw.gif" />
         <pubDate>2022-01-18 00:44:37 UTC</pubDate>
         <guid>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/1996774642</guid>
      </item>
      <item>
         <title>Vantagens e Desvantagens do uso do Selection Sort</title>
         <author>ivillyssilva</author>
         <link>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/2001375216</link>
         <description><![CDATA[<div><br>Vantagens:</div><ul><li>Ele é um algoritmo simples de ser implementado em comparação aos demais;</li><li>Não necessita de um vetor auxiliar (in-place);</li><li>Por não usar um vetor auxiliar para realizar a ordenação, ele ocupa menos memória;</li><li>Ele é uns dos mais velozes na ordenação de vetores de tamanhos pequenos.</li></ul><div>Desvantagens:</div><ul><li>Ele é um dos mais lentos para vetores de tamanhos grandes;</li><li>Ele não é estável;</li><li>Ele faz sempre&nbsp; comparações (n^2-n)/2, independentemente do vetor estar ordenado ou não.</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 20:04:20 UTC</pubDate>
         <guid>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/2001375216</guid>
      </item>
      <item>
         <title>Mais sobre o selection sort</title>
         <author>ivillyssilva</author>
         <link>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/2001395328</link>
         <description><![CDATA[<ul><li>O Selection Sort segue uma rotina bem simples e direta: encontrar o menor elemento e colocá-lo na primeira posição. A ordenação nada mais é do que aplicar essa rotina repetidas vezes para o restante do array;</li><li>O Selection sort é in-place e O(n2);</li><li>A implementação clássica do Selection Sort não é estável;</li><li>Embora sejam da mesma classe de complexidade, o Selection Sort, na prática, é mais lento do que o Insertion Sort;</li><li>O Selection Sort não é considerado um algoritmo eficiente para grandes entradas. </li></ul><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 20:15:25 UTC</pubDate>
         <guid>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/2001395328</guid>
      </item>
      <item>
         <title>Site com animações dos algoritmos de ordenação</title>
         <author>ivillyssilva</author>
         <link>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/2001401881</link>
         <description><![CDATA[<div>Site contendo as animações de cada algoritmo de ordenação. Podendo facilitar a visualização do funcionamento dos mesmos.</div>]]></description>
         <enclosure url="https://www.toptal.com/developers/sorting-algorithms" />
         <pubDate>2022-01-19 20:18:58 UTC</pubDate>
         <guid>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/2001401881</guid>
      </item>
      <item>
         <title>Pseudocódigo</title>
         <author>crislainecosta</author>
         <link>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/2001465663</link>
         <description><![CDATA[<div>Também é possível pensar em uma estrutura mais conveniente implementando um método que retorna o índice do <a href="https://www.blogcyberini.com/2017/09/maximo-e-minimo-de-um-vetor.html">menor elemento de um vetor</a> num certo intervalo (nesse exemplo, será o método min). O pseudocódigo é dado a seguir (ele utiliza o 1 como índice inicial).<br><br></div><pre>1. selectionSort(A[1...n])
2. |  para i ← 1 até n - 1
3. |  |   minIndex ← min(A, i, n)
4. |  |   trocar(A, i, minIndex)
5. |  fim_para
6. fim_selectionSort</pre><div><br>O método min é (k ≤ l)<br><br></div><pre>1. min(A[1...n], k, l)
2. |  minIndex ← k
3. |  para i ← k + 1 até l
4. |  |   se(A[minIdex] &gt; A[i])
5. |  |   |   minIndex ← i
6. |  |   fim_se
7. |  fim_para
8. |  retorne minIndex
9. fim_min</pre><div><br>O método trocar(A, i, j) troca os valores das posições i e j do vetor A<br><br></div><pre>1. trocar(A, i, j)
2. |  temp ← A[i]
3. |  A[i] ← A[j]
4. |  A[j] ← temp
5. fim_trocar</pre>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1270652142/2d4749c7b3dd37b632ce4c9ea087926c/code1.png" />
         <pubDate>2022-01-19 20:58:07 UTC</pubDate>
         <guid>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/2001465663</guid>
      </item>
      <item>
         <title>Selection Sort na literatura</title>
         <author>crislainecosta</author>
         <link>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/2001469064</link>
         <description><![CDATA[<ul><li>Segundo Groner no livro <a href="https://www.google.com.br/books/edition/Estruturas_de_dados_e_algoritmos_com_Jav/n46KDwAAQBAJ?hl=pt-BR&amp;gbpv=1&amp;dq=Estruturas+De+Dados+E+Algoritmos+Em+Javascript+-+Novatec+-+Livros+de+Banco+de+Dados&amp;printsec=frontcover"><strong>Estruturas de dados e algoritmos com JavaScript</strong></a><strong>, </strong>Selection Sort é um algoritmo de ordenação por comparação<em> in-place,</em> isso significa que a memória adicional requerida é independente do tamanho do vetor que está sendo <strong>ordenado</strong>. Além disso, possui complexidade <em>O(n</em><em><sup>2</sup></em><em>) </em>pois contém dois laços aninhados responsáveis pela complexidade quadrática.</li></ul><div><br></div><div>Diversos artigos acerca do algoritmo foram inscritos, realizando uma busca no Google Scholar foi possível obter como resultado cerca de 241.000 artigos de revisão.<br><br>Dentre esses, podemos citar alguns:</div><ul><li><a href="https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.654.4716&amp;rep=rep1&amp;type=pdf"><strong>Optimized Selection Sort Algorithm is faster than Insertion Sort Algorithm: a Comparative Study</strong></a><strong> (O algoritmo de ordenação por seleção otimizado é mais rápido que o algoritmo de ordenação por inserção: um estudo comparativo)</strong>: O algoritmo de ordenação por seleção otimizado é um novo algoritmo de ordenação que foi desenvolvido para resolver as deficiências dos atuais algoritmos de ordenação populares. O objetivo desta pesquisa é realizar uma extensa análise empírica de Ordenação por Seleção Otimizada contra Algoritmos Ordenação por Seleção e Ordenação por Inserção. Os resultados provaram que a Ordenação por Seleção Otimizada é muito mais eficiente que o Algoritmo de Ordenação por Seleção; Além disso, a análise suporta o fato de que a Ordenação por Seleção Otimizada é melhor que a Ordenação por Inserção no pior cenário.</li><li><a href="https://ieeexplore.ieee.org/abstract/document/5763927"><strong>A sort implementation comparing with Bubble sort and Selection sort</strong></a><strong> (Uma implementação de classificação comparando com a classificação por bolha e a classificação por seleção)</strong>: Hoje, a implementação da classificação leva a um tempo de pedido menor e mais fácil. Nosso objetivo neste artigo é tentar introduzir um algoritmo com menor custo de ordenação por bolha e quase o mesmo que ordenação por seleção. Uma maneira é a inserção ordenada de elementos em outro array. Sort é um algoritmo que organiza todos os elementos de uma matriz, ordenadamente. Este algoritmo tem forma sequencial. A ordem de complexidade da ordenação por seleção é quase menor do que a ordenação por bolha.</li></ul><div><br></div><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 21:00:06 UTC</pubDate>
         <guid>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/2001469064</guid>
      </item>
      <item>
         <title>Implementação em python</title>
         <author>ivillyssilva</author>
         <link>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/2006291984</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://colab.research.google.com/drive/1nnAAEWnP-Vk18wkFUQiVTUPEQFNinaf1?usp=sharing" />
         <pubDate>2022-01-22 11:37:54 UTC</pubDate>
         <guid>https://padlet.com/ivillyssilva/c3dbvx5x8f41ppiu/wish/2006291984</guid>
      </item>
   </channel>
</rss>
