A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Departamento de Electrónica e Telecomunicações - Universidade de Aveiro Aulas Anteriores ° Tipos definidos pelo utilizador ° Definição de tipos baseados.

Apresentações semelhantes


Apresentação em tema: "Departamento de Electrónica e Telecomunicações - Universidade de Aveiro Aulas Anteriores ° Tipos definidos pelo utilizador ° Definição de tipos baseados."— Transcrição da apresentação:

1 Departamento de Electrónica e Telecomunicações - Universidade de Aveiro Aulas Anteriores ° Tipos definidos pelo utilizador ° Definição de tipos baseados no construtor array ° Utilização de arrays como parâmetros de comunicação com procedimentos e funções ° Definição de tipos enumerados e de gama ° Exercícios

2 Departamento de Electrónica e Telecomunicações - Universidade de Aveiro Esta Aula ° Operações sobre arrays. ° Ordenação de elementos (sorting) ° Selection Sort ° Bubble Sort ° Exercícios

3 Departamento de Electrónica e Telecomunicações - Universidade de Aveiro Ordenação de elementos de um array Dois algorítmos possíveis:Dois algorítmos possíveis: ° Ordenação por selecção ou sequencial (selection sort) ° Ordenação por bolha (bubble sort) 3107591 A 123456 índice 1357910 123456 A Ordenação crescente inicial final

4 Departamento de Electrónica e Telecomunicações - Universidade de Aveiro Ordenação por selecção ou sequencial A – array a ordenar N – nº de elementos do array... for i:=1 to N-1 do for j:=i+1 to N do if A[ i ] > A[ j ] then troca ( A [ i ], A[ j ] );... 3107591 A 1... 6 i =1, j =6 1107593 1710 5107 310795 13710 51097 135910 7109 1357910 inicial final i =2, j =3 j =4 j =4 j =6 j =6 i =3, j =4 j =6 j =6 i =4, j =5 j =6 j =6 i =5, j =6

5 Departamento de Electrónica e Telecomunicações - Universidade de Aveiro Ordenação por bolha A – array a ordenar N – nº de elementos do array... passagens:=0; repeat passagens:=passagens+1; houve_troca:=false; for i:=1 to N-1 do if A[ i ] > A[ i+1 ] then begin troca ( A [ i ], A[ i+1 ] ); houve_troca:=true; end; until not houve_troca;... 3107591 A 1... 6 passagens =1 3710 510 910 110 357 1910 3517910 3157910 1357910 inicial final passagens =2 passagens =3 passagens =4 passagens =5

6 Departamento de Electrónica e Telecomunicações - Universidade de Aveiro Comparação dos dois algorítmos Ordenação por selecção:Ordenação por selecção: ° Nº de comparações é sempre o mesmo, i.e.: N-1 + N-2 + N-3 +... + 2 + 1 = (N-1)*N/2 N-1 + N-2 + N-3 +... + 2 + 1 = (N-1)*N/2 ° Ao fim de K iterações (do ciclo exterior) os primeiros K elementos estão ordenados. Ordenação por bolha:Ordenação por bolha: ° Nº de comparações pode ser igual ao caso anterior (superior se for sem optimização) ou bastante menor se o array já estiver próximo da ordenação correcta. ° Ao fim de K passagens os últimos K elementos estão ordenados.


Carregar ppt "Departamento de Electrónica e Telecomunicações - Universidade de Aveiro Aulas Anteriores ° Tipos definidos pelo utilizador ° Definição de tipos baseados."

Apresentações semelhantes


Anúncios Google