Você está na página 1de 8

Estruturas de Dados

Pilhas: um tipo especial de lista linear em que todas as operaes de insero, remoo so realizadas numa mesma extremidade, denominada topo. Cada vez que um novo elemento for inserido na pilha, ele colocado no topo; e em qualquer momento, apenas aquele posicionado no topo da pilha pode ser removido. Devido a esta disciplina de acesso, os elementos so sempre removidos numa ordem inversa quela em que foram inseridos, de modo que o ltimo elemento que entra exatamente o primeiro que sai. Esta lista tambm chamada de LIFO (Last-In/First-Out).

Filas: um tipo especial de lista linear em que as inseres so realizadas num extremo, ficando as remoes restritas ao outro. Cada vez que uma operao de insero executada, um novo elemento colocado no final da fila. Na remoo, sempre retornado o elemento que aguarda h mais tempo na fila, ou seja, aquele posicionado no comeo. A ordem de sada corresponde diretamente ordem de entrada dos elementos na fila, de modo que os primeiros elementos que entram so os primeiros a sair. As filas so chamadas de listas FIFO (First-In/First-Out)

Listas Ordenadas: L:[a1, a2,...,an] uma lista linear tal que, sendo n>1 teremos:

a1 <= ak, para qualquer 1 < k <= n; ak <= an, para qualquer 1<= k <n; ak-1 <= ak <= ak+1, para qualquer 1 < k < n Se L uma lista ordenada, pode-se garantir que nenhum elemento em L inferior a a1 ou superior a an. Alm disto, tomado um elemento qualquer no meio da lista, nenhum elemento sua esquerda o supera e nenhum elemento sua direita inferior a ele. Operaes realizadas em uma lista ordenada: Insero, Remoo e Pesquisa

Listas encadeadas: recurso atravs do qual um conjunto de blocos de memria mantido numa ordem lgica, mas no necessariamente fsica. Para manter a ordem linear em um conjunto de blocos espalhados por todo o espao de memria, cada bloco deve armazenar o endereo do bloco seguinte.

Listas duplamente encadeadas: Numa lista com encadeamento duplo, cada nodo tem dois campos de ligao sendo que um deles armazena o endereo do nodo predecessor e o outro armazena o endereo do sucessor.

Sendo cada nodo da forma (esq, obj, dir), dado um ponteiro P que armazena o endereo de um nodo qualquer no meio da lista, vale a seguinte igualdade: P = P^.esq^.dir = P^.dir^.esq Partindo-se o ponteiro P para esquerda e depois para direita, retorna-se ao mesmo nodo de partida. Assim, esta igualdade caracteriza a principal propriedade de uma lista duplamente encadeada, que a facilidade de retroceder ou avanar na cadeia, a partir de um determinado nodo.

Encadeamento circular: em uma lista circular, ao invs do campo de ligao do ltimo nodo armazenar um endereo nule, ele armazena o endereo do primeiro nodo

Como o endereo do primeiro nodo pode ser facilmente obtido atravs do campo de ligao do ltimo nodo, a varivel ponteiro para uma lista circularmente encadeada guarda no o endereo do primeiro, mas do ltimo nodo da cadeia. A grande vantagem em se usar encadeamento circular que pode-se acessar rapidamente tanto o primeiro quanto o ltimo nodo da lista. Na implementao no circular, acessar o ltimo elemento requer a passagem por todos os elementos da cadeia, um a um, at atingir o ltimo.

rvore: uma coleo finita de n>=0 nodos. Se n=0, dizemos que a rvore nula; caso contrrio, uma rvore apresenta as seguintes caractersticas:

existe um nodo especial denominado raiz os demais so particionados em T1, T2, ..., Tk estruturas disjuntas de rvores as estruturas T1, T2, ..., Tk denominam-se subrvores

A exigncia de que as estruturas T1, T2, ..., Tk sejam colees disjuntas, garante que um mesmo nodo no aparecer em mais de uma subrvore ao mesmo tempo; ou seja, nunca teremos subrvores interligadas.

O nmero de subarvores de um nodo denomina-se grau. Por exemplo, na figura acima, o nodo "a" tem grau 3, o nodo "d" tem grau 2 e o nodo "c" tem grau 1. Um nodo que possui grau 0, ou seja, que no possui subrvores, denomina-se terminal ou folha; so folhas os nodos e, k, g, l, m, i e j. O grau de uma rvore (n-aridade) definido como sendo igual ao mximo dos graus de todos os seus nodos. Na figura, constata-se que o grau da rvore 3, pois nenhum nodo tem mais do que 3 subrvores.

Por definio, a raiz de uma rvore encontra-se no nvel 1. Estando um nodo no nvel n, seus filhos estaro no nvel n+1. A altura de uma rvore definida como sendo o mximo dos nveis de todos os seus nodos. Uma rvore nula tem altura 0. A rvore da imagem tem altura igual a 4. A subrvore com raiz "d" tem altura 2.

rvore binria: uma rvore que pode ser nula, ou ento tem as seguintes caractersticas:

existe um nodo especial chamado raiz os demais nodos so particionados em T1, T2 estruturas disjuntas de rvores binrias T1 chamada de subrvore esquerda e T2 subrvore direita da raiz

Uma rvore binria cuja raiz armazena o elemento R chamada de rvore de busca binria, se:

todo elemento armazenado na subrvore esquerda menor que R nenhum elemento armazenado na subrvore direita menor que R as subrvores esquerda e direita tambm so rvores de busca binria

A definio de rvore de busca binria recursiva.

rvore AVL: (ou rvore balanceada pela altura), uma rvore de busca binria autobalanceada. Em tal rvore, a altura de dois ns folha difere no mximo em uma unidade. As operaes de busca, insero e eliminao de elementos possuem complexidade O(logn) (no qual n o nmero de elementos da rvore). Inseres e eliminaes podem tambm requerer o rebalanceamento da rvore, exigindo uma ou mais rotaes.

rvore no AVL

Mesma rvore aps balanceamento por altura, agora uma rvore AVL

Espalhamento (hashing): pode ser visto como um mtodo de busca que permite acessar dados diretamente, atravs de uma funo que transforma uma chave k em um endereo fisico, relativou ou absoluto. Uma funo de espelhamento ideal seria aquela capaz de mapear n chaves em exatamente n endereos, sem a ocorrncia de colises. Existem n! formas de se obter este mapeamento ideal, o que poderia nos levar a crer que tais funes ideiais so facilmente encontradas. Considerando-se, entretanto, que existem nn formas possveis de atribuir n chaves a n endereos, a probabilidade de se obter um espelhamento perfeito (n!/nn). Um dos mais simples mtodos existentes, o mtodo de diviso, tem mostrado na prtica um desempenho bastante satisfatrio, sendo recomendado como o melhor mtodo para uso geral.

Mtodo da diviso inteira: consiste em realizar uma diviso inteira e pegar o seu resto. Para entendermos melhor seu funcionamento, vamos utilizar para espalhar as chaves 54, 21, 15, 46, 7,33,78, 9, 14, 62, 95 e 87 numa tabela contendo N=5 encaixes. Funo de diviso: (chave mod N) +1 Os valores hashing gerados pela funo: 54 - (54 mod 5) +1 = 5 21 - (21 mod 5) +1 = 2 15 - (15 mod 5) +1 = 1 46 - (46 mod 5) +1 = 2 07 - (07 mod 5) +1 = 3

33 - (33 mod 5) +1 = 4 78 - (78 mod 5) +1 = 4 09 - (09 mod 5) +1 = 5 14 - (14 mod 5) +1 = 5 62 - (62 mod 5) +1 = 3 95 - (95 mod 5) +1 = 1 87 - (87 mod 5) +1 = 3

Transformao de chaves alfanumricas: consiste em realizar uma diviso inteira e pegar o seu resto. Uma forma simples de se transformar uma chave alfanumrica num valor numrico consiste em considerar cada caractere da chave como um valor inteiro (correspondente ao seu cdigo ASCII) e realizar a soma com todos eles. Vamos supor que pretendemos espalhar em uma tabela com N=7 encaixes as chaves Thais, Edu, Bia Neusa, Lucy, Rose, Yara, Decio e Sueli. soma = soma + ordinal(cada caracter). Exemplo: Ordinal("Thais") = 505 Funo de diviso: (soma mod N) +1 N=7 Thais - (T=84+h=104+a=97+i=105+s=115 -> 505 MOD 7) +1 = 2 Edu = 7 Bia = 3 Neusa = 5 Lucy = 1 Rose = 4 Yara = 6

Decio = 2 Sueli = 4

O espalhamento pode ser usado como uma tcnica de reduo do espao de busca; o processo de pesquisa ser mais eficiente quanto menores forem as parties. Se o espalhamento for perfeito (sem colises), ento o valor de hashing calculado dar imediatamente a localizao do elemento desejado; neste caso, temos um acesso direto ou randmico, como tambm chamado, sendo este o tipo de busca mais eficiente que existe.

Fonte: Estruturas de dados fundamentais: conceitos e aplicaes. Silvio do Lago Pereira. Ed. Erica. 5 edio.

-------QUESTES DE CONCURSOS Questo 18 [PREF NOIA/LASALLE-01/2010] Uma lista linear, na qual todas as inseres so realizadas em uma das extremidades e, alm disso, todas as remoes so realizadas em outra extremidade, sendo tambm conhecida como FIFO. R.: Fila Questo 20 [PREF NOIA/LASALLE-01/2010] Na terminologia das estruturas em rvore, cada posio da rvore chamada de n. O nico n do topo chamado _____. Os ns na

outra extremidades so chamados ______ ou _______. Uma linha conectando dois ns chamada _______ R.: n-raiz, ns-terminais, ns-folha, arco

Questo 25 [PREF NOIA/LASALLE-01/2010] A tcnica denominada _______ permite agilizar o processo de consulta de informaes, pois no exige a ordenao sobre um conjunto de dados para fazer, por exemplo, a pesquisa binria, tampouco a utilizao de tabelas de ndices, o que torna a operao de insero to rpida quanto a realizao da consulta R.: hashing

Questo 26 [PREF NOIA/LASALLE-01/2010] Mtodos de passeios nos grafos so formas sistemticas para realizar a exploraao dos ns de um grafo, com o objetivo de obtermos informaes sobre usa estrutura. Podemos dizer que as duas principais formas de passeios so: R.: Algoritmo de largura e profundidade

Questo 40 [PREF NOIA/LASALLE-01/2010] O ________ a tcnica que proporciona um rpido acesso _______ao registro armazenado, baseado num determinado valor de um certo campo. O campo em questo , em geral, mas no necessariamente, a chave primria. R.: acesso hash, direto

Você também pode gostar