Você está na página 1de 7

SLIDE 5

1-
Lista 7,0,1,3,9,10,2

Criação da lista ligada vazia com um ponteiro head.

- Inserção do primeiro elemento (7): O head aponta para o nó 7 e o ponteiro do nó


7 aponta para null.
- Inserção do segundo elemento (0): O nó 7 aponta para o nó 0 e o ponteiro do nó
0 aponta para null.
- Inserção do terceiro elemento (1): O nó 0 aponta para o nó 1 e o ponteiro do nó 1
aponta para null.
- Inserção do quarto elemento (3): O nó 1 aponta para o nó 3 e o ponteiro do nó 3
aponta para null.
- Inserção do quinto elemento (9): O nó 3 aponta para o nó 9 e o ponteiro do nó 9
aponta para null.
- Inserção do sexto elemento (10): O nó 9 aponta para o nó 10 e o ponteiro do nó
10 aponta para null.
- Inserção do sétimo elemento (2): O nó 10 aponta para o nó 2 e o ponteiro do nó 2
aponta para null.

Resultado: head -> 7 -> 0 -> 1 -> 3 -> 9 -> 10 -> 2 -> null

3-

Usando o "Merge Sort"

Dividimos a lista ligada em duas metades:

○ Primeira metade: 7 -> 0 -> 1 -> null


○ Segunda metade: 3 -> 9 -> 10 -> 2 -> null

E repetimos o processo de divisão para ambas as metades até que se tenha


sublistas com apenas um elemento.
Combine as sublistas, ordenando os elementos:

○ Exemplo: Combine as sublistas 0 -> null e 1 -> null. O resultado será 0 -> 1
-> null.

Continue combinando e ordenando as sub listas até que obtenha a lista ligada
completamente ordenada.

Resultado: head -> 0 -> 1 -> 2 -> 3 -> 7 -> 9 -> 10 -> null

SLIDE 6

Simule as ordenações de uma das listas abaixo, usando os algoritmos


vistos em aula:

Lista 1: 50,22,85,14,31,20

Lista 2: 35,77,44,38,22,56

Bubble Sort: Compara elementos adjacentes e os troca se estiverem fora de ordem.


Continua fazendo isso até que a lista esteja ordenada.

Lista 1: 50, 22, 85, 14, 31, 20

1. 22, 50, 14, 31, 20, 85


2. 22, 14, 31, 20, 50, 85
3. 14, 22, 20, 31, 50, 85
4. 14, 20, 22, 31, 50, 85

Lista 2: 35, 77, 44, 38, 22, 56


1. 35, 44, 38, 22, 56, 77
2. 35, 38, 22, 44, 56, 77
3. 35, 22, 38, 44, 56, 77
4. 22, 35, 38, 44, 56, 77

Selection Sort: Procura o menor elemento na lista e o troca com o primeiro. Em


seguida, procura o menor elemento no restante da lista e o troca com o segundo
elemento, e assim por diante.

Lista 1: 50, 22, 85, 14, 31, 20

1. 14, 22, 85, 50, 31, 20


2. 14, 20, 85, 50, 31, 22
3. 14, 20, 22, 50, 31, 85
4. 14, 20, 22, 31, 50, 85

Lista 2: 35, 77, 44, 38, 22, 56

1. 22, 77, 44, 38, 35, 56


2. 22, 35, 44, 38, 77, 56
3. 22, 35, 38, 44, 77, 56
4. 22, 35, 38, 44, 56, 77

Insertion Sort:Insere cada elemento no local correto em relação aos elementos já


ordenados

Lista 1: 50, 22, 85, 14, 31, 20

1. 22, 50, 85, 14, 31, 20


2. 14, 22, 50, 85, 31, 20
3. 14, 22, 31, 50, 85, 20
4. 14, 20, 22, 31, 50, 85

Lista 2: 35, 77, 44, 38, 22, 56


1. 35, 44, 38, 22, 56, 77
2. 35, 38, 44, 22, 56, 77
3. 35, 38, 22, 44, 56, 77
4. 22, 35, 38, 44, 56, 77

Merge Sort: Divide a lista em duas metades e ordena cada metade recursivamente. Em
seguida, combina as metades ordenadas.

Lista 1: 50, 22, 85, 14, 31, 20

1. | 50, 22 | | 85, 14 | | 31, 20 |

/ \ / \ / \

2. | 50 | | 22 | | 85 | | 14 | | 31 | | 20 |

\ / \ / \ /

3. | 22, 50 | | 14, 85 | | 20, 31 |

\ / |

4. | 14, 22, 50, 85 | | 20, 31 |

\ /

5. |14, 20, 22, 31, 50, 85|


Lista 2: 35, 77, 44, 38, 22, 56

1. | 35, 77 | | 44, 38 | | 22, 56 |

/ \ / \ / \

2. | 35 | | 77 | | 44 | | 38 | | 22 | | 56 |

\ / \ / \ /

3. | 35, 77 | | 38, 44 | | 22, 56 |

\ / |

4. | 35, 38, 44, 77 | | 22, 56 |

\ /

5. |22, 35, 38, 44, 56, 77|

Ordene as listas a seguir utilizando o quick sort (padrão e randomizado)

5, 2, 6, 1, 3, 4

13, 19, 9, 5, 12, 8


Lista 1: 5, 2, 6, 1, 3, 4

1. Pivô (último número): 4


2. Separar os menores à esquerda e os maiores à direita: [1, 3, 4, 5, 2, 6]
3. Recursivamente nos grupos menores: [1, 3], [5, 2, 6]
4. Juntar as listas ordenadas: [1, 3, 4, 5, 2, 6]

Lista 2: 13, 19, 9, 5, 12, 8

1. Pivô (último número): 8


2. Separar os menores à esquerda e os maiores à direita: [5, 8, 13, 19, 9, 12]
3. Recursivamente nos grupos menores: [5], [13, 19, 9, 12]
4. Juntar as listas ordenadas: [5, 8, 9, 12, 13, 19]

Quick Sort Randomizado:

Lista 1: 5, 2, 6, 1, 3, 4

1. pivô aleatório (por exemplo, 2)


2. Separar os menores à esquerda e os maiores à direita: [1, 2, 5, 6, 3, 4]
3. Recursivamente nos grupos menores: [1], [5, 6, 3, 4]
4. Juntar as listas ordenadas: [1, 2, 5, 6, 3, 4]

Lista 2: 13, 19, 9, 5, 12, 8

1. pivô aleatório (por exemplo, 9)


2. Separar os menores à esquerda e os maiores à direita: [5, 8, 9, 13, 19, 12]
3. Recursivamente nos grupos menores: [5, 8], [13, 19, 12]
4. Juntar as listas ordenadas: [5, 8, 9, 12, 13, 19]

Você também pode gostar