Академический Документы
Профессиональный Документы
Культура Документы
Ordenao
Baseado em:
The Algorithm Design Manual
Steven S. Skiena
Introduo (1)
Introduo (2)
Observaes (1)
Observaes (2)
Tipos de dados
fundamentais
Containers
Containers (2)
Pilhas
Filas
Tabelas
Pilhas
LIFO.
Simples de implementar.
o container correto quando a
ordem de recuperao no
importa.
Operaes: push (Put) e pop (Get).
Filas
FIFO.
Parece ser a melhor maneira de controlar
tempos de espera.
So mais difceis de implementar do que
pilhas e so apropriadas apenas em
aplicaes em que a ordem importante.
Operaes: enqueue (Put) e dequeue
(Get).
Tabelas
Implementao de
containers
Dicionrios
Implementao
Array ordenada
Consulta
BinaryTreeQuery(x,k)
if (x=nil) or (k=key[x])
then return x
if (k < key[x])
then return BinaryTreeQuery(left[x],k)
else return BinaryTreeQuery(right[x],k)
Insero
Remoo
Implementao (1)
Implementao (2)
Implementao (1)
Estruturas de Dados
Especializadas (1)
Estruturas de Dados
Especializadas (2)
Cadeias (Strings)
Dados Geomtricos
Grafos
Conjuntos
Subconjuntos de itens so
geralmente representados usando
dicionrios, de forma a tornar as
consultas de pertinncia rpidas.
Ordenao (1)
Ordenao (2)
Aplicaes da Ordenao
Busca
Par mais prximo
Unicidade de elementos
Distribuio de freqncia
Seleo
Casco convexo
Busca
Unicidade de elemento
Distribuio de freqncia
Seleo
Estruturas de Dados
Insero incremental
Diviso e conquista
Randomizao
Quicksort
Os pivs so escolhidos
aleatoriamente.
Com esta escolha, o algoritmo tem
alta probabilidade de ser
executado em tempo (n log n).
No pior caso quadrtico.
Tcnica de Encestamento