Você está na página 1de 30

Prof.

Hamilton Junior
Disciplina: Algoritmos
Roteiro do dia

• Estrutura de dados homogêneas


• Manipulação de dados em vetores e matrizes
• Exercicios
Na aula anterior
Na aula anterior
2) Escreva um algoritmo que armazene o salário de 5 funcionários, calcule e
imprima a soma total, o menor salário , o maior salário e a media aritmética.

3) Escreva um algoritmos que preencha uma matriz 4x4, com números inteiros
informados pelo usuário, e ao final, imprima somente os números pares
armazenados na matriz.
Algoritmos de Ordenação
• Ordenar corresponde ao processo de rearrranjar um
conjunto de objetos em uma ordem específica;

• O objetivo da ordenação é facilitar a recuperação


posterior de elementos do conjunto ordenado.
Algoritmos de Ordenação
• Classificação dos métodos de ordenação:
• Ordenação Interna: Arquivo a ser
ordenado cabe todo na memória
principal;
• Ordenação Externa: Arquivo a ser
ordenado não cabe na memória
principal.
Algoritmos de Ordenação
• Os métodos de ordenação interna são classificados em
dois tipos:
• Métodos simples
• Mais recomendado para conjuntos pequenos de dados;
• Usam mais comparações;
• Produzem códigos menores e mais simples;
Algoritmos de Ordenação
• Os métodos de ordenação interna são classificados em
dois tipos:
• Métodos Eficientes ou Sofisticados
• Adequados para conjunto maiores de dados
• Usam menos comparações;
• Produzem códigos mais complexos e detalhados.
Algoritmos de Ordenação Interna
• Ordenação por seleção (Selection Sort)
• Ordenação por inserção (Insertion Sort) Métodos Simples
• Ordenação por seleção e troca (Bubble Sort)

• Ordenação por inserção através de incrementos


decrescentes (ShellSort)
• Ordenação por particionamento (QuickSort)
• Ordenação por Árvores (HeapSort)
SelectionSort: Algoritmo
• Percorra o vetor e execute as operações a seguir:
• Encontre o menor element do vetor e troque com a
primeira posição;
• Encontre o Segundo menor element e troque com a
segunda posição;
• E assim por Diante até que o vetor esteja ordenado.
SelectionSort 1° Iteração
i=0
Menor = i

Vetor <- [ ]

0 1 2 3 4 5
SelectionSort 2° Iteração
i=1
Menor = 1

Vetor <- [ ]

0 1 2 3 4 5
SelectionSort 3° Iteração
i=2
Menor = 2

Vetor <- [ ]

0 1 2 3 4 5
SelectionSort 4° Iteração
i=3
Menor = 3

Vetor <- [ ]

0 1 2 3 4 5
SelectionSort 5° Iteração
i=4
Menor = 4

Vetor <- [ ]

0 1 2 3 4 5
SelectionSort 6° Iteração
i=5
Menor = 5

Vetor <- [ ]

0 1 2 3 4 5
Algoritmo em
Pseudocódigo
SelectionSort
BubbleSort São necessárias n-1 iterações

Vetor <- [ ]

0 1 2 3 4 5
BubbleSort São necessárias n-1 iterações

Vetor <- [ ]

0 1 2 3 4 5
BubbleSort São necessárias n-1 iterações

Vetor <- [ ]

0 1 2 3 4 5
BubbleSort São necessárias n-1 iterações

Vetor <- [ ]

0 1 2 3 4 5
BubbleSort São necessárias n-1 iterações

Vetor <- [ ]

0 1 2 3 4 5
BubbleSort São necessárias n-1 iterações

Vetor <- [ ]

0 1 2 3 4 5
BubbleSort São necessárias n-1 iterações

Vetor <- [ ]

0 1 2 3 4 5
Algoritmo em
Pseudocódigo
BubbleSort
Desempenho dos Algoritmos
Considerando uma lista desordenada com números aleatórios.
Exercicio
Exercicio
Exercicio
2) Crie um algoritmo que preencha uma matriz 3 x 3 com nomes, e imprime somente os nomes que estão na
diagonal da matriz.
No caso da matriz abaixo, somente os nomes em negrito serão impressos.

Paulo Silvio Carla


Tiririca Fabio Ana
Trumbica Paulovisk Tulio
Exercicio
3) Crie um vetor A de tamanho 3, e um vetor B de tamanho 3. Ambos os vetores receberão numeros inteiros
informados pelo usuário. O programa deve somar os valores dos vetores A e B e armazenar o resultado da soma no
vetor C. Ao final o programa deve imprimir o conteúdo do vetor C. Exemplo:

5 4 9
3 + 6 9
2 7 9

Vetor A Vetor B Vetor C

Você também pode gostar