Escolar Documentos
Profissional Documentos
Cultura Documentos
Estruturas Lineares
Rui Camacho
Estruturas Lineares
Tipo Abstracto de Dados uma especicao de: e ca um conjunto de dados um conjunto de operaoes sobre esses dados c essa especicao abstracta no sentido em que ca e e independente de qualquer iplementao ca
Rui Camacho
Estruturas Lineares
Rui Camacho
Estruturas Lineares
Lista
Sequncia de elementos A1 , A2 , ..., AN e
tamanho N. Se tamanho 0 ento lista vazia a (excepto para AN ) Ai+1 o sucessor de Ai e (excepto para A1 ) Ai1 o antecessor de Ai e i a posio do elemento Ai na lista e ca
Operaoes c
tornar vazia (makeEmpty()) listar (printList()) inserir: a seguir ` posio corrente a ca remover: na posio corrente ca pesquisar: por contedo ou por posio u ca
Implementao ca
em array em Lista Ligada
Rui Camacho
Estruturas Lineares
Operaes: co
Rui Camacho
Estruturas Lineares
N da lista o
class NoDaLista{ Object elemento; NoDaLista proximo; public NoDaLista(Object elemento, NoDaLista proximo){ this.elemento = elemento; this.proximo = proximo; } }
Rui Camacho
Estruturas Lineares
Operaoes na Lista c
requerem referncia a ns da lista e o necessrio garantir que acesso aos ns da lista seguro a o e
Acesso directo aos ns da lista o
no garante encapsulamento de informao a ca utilizador da estrutura pode passar referncia para objecto que e no da lista a e
Rui Camacho
Estruturas Lineares
Inseres e remoes de lista sem n extra ` cabea co co o a c simples para ns intermdios o e caso especial: 1o n, requer processo especial o N extra como cabea de lista o c garante que todos os ns tm um n anterior o e o elimina casos especiais na insero e remoo ca ca
Rui Camacho
Estruturas Lineares
Rui Camacho
Estruturas Lineares
Rui Camacho
Estruturas Lineares
Pilha
Operaes co
Inserir: push Remover: pop Pesquisar: top
Rui Camacho
Estruturas Lineares
Aplicaoes c
Compilao de linguagens de programao ca ca vericao sintctica (gramticas) ca a a
Chamada: empilha registo de activao ca Sa da: desempilha registo correspondente visibilidade das variveis decorre da sua posio na pilha a ca
avaliao de expresses ca o
Pilha mantm operadores at operandos respectivos estarem e e dispon veis Precedncia e associatividade de operadores determina a e ordem de sa da
Rui Camacho Estrutura de Dados e Algoritmos
Estruturas Lineares
Stack - anlise a
Operaes sobre a pilha devem ser em tempo constante co insero e remoo na pilha s envolvem o topo ca ca o Implementao em array ca em geral: tempo constante duplicao do array: gasta tempo da ordem da dimenso do ca a array (para a cpia) o amortizao: duplicao O(N) mas o custo distribu ca ca e e do pelos acessos aos N elementos adicionais obtidos; resultado e acrscimo constante em cada operao e ca
Rui Camacho
Estruturas Lineares
Fila
Estrutura FIFO (rst in, rst out) Insero na cauda e remoo da cabea ca ca c Operaes co Inserir: enqueue Remover: dequeue Pesquisar: getFront
Rui Camacho
Estruturas Lineares
Rui Camacho
Estruturas Lineares
Rui Camacho