Please enable JavaScript.
Coggle requires JavaScript to display documents.
SORTING ALGORITMS - Coggle Diagram
SORTING ALGORITMS
Bubble Sort
-
-
-
-
Descrição:
Bubble Sort is the simplest sorting algorithm that works by repeatedly swapping the adjacent elements if they are in the wrong order. This algorithm is not suitable for large data sets as its average and worst-case time complexity is quite high.
Selection Sort
Descrição:
In every iteration of the selection sort, the minimum element from the unsorted subarray is picked and moved to the beginning of the sorted subarray.
Caracteristica:
A cada iteração, percorre todo o array, colocando o menor elemento da iteração no menor index dela; faz o swapping somente no final da iteração,ao contrário do bubble.
-
Vantagens:
Simples, pouca memoria = space -> 1
-
Insertion Sort
Descrição:
Insertion sort is a simple sorting algorithm that works similar to the way you sort playing cards in your hands. The array is virtually split into a sorted and an unsorted part. Values from the unsorted part are picked and placed at the correct position in the sorted part.
Caracteristica:
Ordenação à esquerda; faz comparação adjacente, se o n+1 for > que n, então move o elemento para esquerda e o compara com o novo vizinho a esquerda, se for menor vai repetindo até que não seja.
-
-
-
Quick Sort
Descrição:
QuickSort is a Divide and Conquer algorithm. It picks an element as a pivot and partitions the given array around the picked pivot.
Caracteristicas:
Dividir para conquistar; Pivot; Ele funciona semelhante ao binary search, definindo um pivot e organizando os elmentos em cada subarray, partição, depois faz isso recursivamente em cada subarray e depois junta tudo.
-
-
-
Merge Sort
Descrição:
Merge sort is defined as a sorting algorithm that works by dividing an array into smaller subarrays, sorting each subarray, and then merging the sorted subarrays back together to form the final sorted array.
Caracteriscas:
Divide conquest; pode ser paralelizado; melhor que o quick no worst; relativamente simples e eficiente; Divisão recursiva até unidade atomica;
Desvantagens:
Consome muita memoria tal como o quick.
For the temporary array, mergesort requires an additional space of O(n).
For small datasets, merge sort is slower than other sorting algorithms.
Even if the array is sorted, the merge sort goes through the entire process.
-
Vantanges:
Merge sort can efficiently sort a list in O(n*log(n)) time.
Merge sort can be used with linked lists without taking up any more space.
Heap Sort
Descrição:
Heap sort is a comparison-based sorting technique based on Binary Heap data structure. It is similar to the selection sort where we first find the minimum element and place the minimum element at the beginning. Repeat the same process for the remaining elements.
Caracteristica:
Utiliza uma estrutura de suporte para comparação, heap Max Tree;
Vai retirando os elementos do array e colocando em uma max heap tree, executa um heap sort, que vai removendo o maior heap para o final de um novo array..retornando o novo array ordenado
Intercalação e ordenação
-
Vantagens:
Crescimento logaritmico
Uso de memory eficiente
No extra memory space is required to work, unlike the Merge Sort or recursive Quick Sort
Desvantagens:
Heap Sort is considered unstable, expensive, and not very efficient when working with highly complex data
Shell Sort
Descrição:
É uma Otimização do Insertion; Adiciona uma comparação entre elementos distantes definida por um GAP; depois faz uma comparação com GAP = 1; e por fim realiza um insertion sort;
Caracteristica:
Comparação entre elementos distantes, o GAP que é a distância dos elementos comparados;
-
-