Algoritmos e Estruturas de Dados [LEEC] (2024/2025)

Aulas teóricas

Artur Miguel Dias



Teórica 09 (16/mai/2025)

A importância da ordenação no software.
Dicionário ordenado implementado usando pesquisa dicotómica e inserção ordenada.
O algoritmo "ordenação por seleção" (selection sort).



Slides



Ordenação

Usamos ordenação:


DicionarioVetorOrd.c

Implementação do dicionário usando um vetor que mantemos permanentemente ordenado.

(O ficheiro "DicionarioVetorOrd.h" não muda.)

Os pontos importantes:

Conclusão é melhor usar a implementação "DicionarioVetorOrd.c", em vez de "DicionarioVetor.c", se existirem muitas pesquisas no dicionário, mas poucas inserções.

    
    


Algoritmo de ordenação por seleção (Vetor.c)

A função ordenaVetor ordena um vetor usando o algoritmo "ordenação por seleção".

Este algoritmo tem complexidade quadrática, ou seja é pouco eficiente. Mas tem a vantagem de ser bastante simples e é o único que estudamos em AED.

A ordenação deve ser feita raramente, porque mesmo os melhores algoritmos não são tão eficientes como desejaríamos.

Note que no dicionário ordenado não usámos o algoritmo de ordenação. Usámos, sim, inserção ordenada.

    
    



#24