Sei sulla pagina 1di 34

Estrutura de Dados

Introduo
Extrado de : Estruturas de Dados Homero L. Pcollo

Na resoluo de um problema por meio de um programa, a primeira providncia conceber um algoritmo adequado. A eficincia de um algoritmo qualquer est intimamente relacionada disposio, na memria, dos dados que so tratados pelo programa. Por exemplo, se freqentemente enfrentamos o problema de descobrir os nmeros de telefones de nossos conhecidos, conveniente dispor de uma relao de nmeros, organizada em uma agenda. Se a organizao for feita por ordem alfabtica, a agenda de fato ajuda. Se, porm, organizssemos nossa agenda pela ordem de altura das pessoas, com raras excees, a agenda se tornaria difcil de manusear. As estruturas de dados so formas de distribuir e relacionar os dados disponveis, de modo a tornar mais eficientes os algoritmos que manipulam esses dados. Vejamos alguns exemplos: Problema Manipular um conjunto de fichas de um fichrio. Soluo Organizar as fichas em ordem alfabtica Operaes possveis Inserir ou retirar um ficha, procurar uma ficha, etc. Estrutura de Dados Correspondente LISTA seqncia de elementos dispostos em ordem. Problema Organizar as pessoas que querem ser atendidas num guich. Soluo Colocar as pessoas em fila. Operaes possveis medida que uma pessoa atendida no guich, outra entra no final da fila... No permitido furar a fila, ou seja, entrar uma pessoa entre outras que j esto presentes. Estrutura de Dados Correspondente FILA seqncia de elementos dispostos em ordem com uma regra para a entrada e sada dos elementos (o primeiro que chega tambm o primeiro que sai da estrutura).
1

Problema Organizar um conjunto de pratos que esto sendo lavados, um a um, em um restaurante. Soluo Colocar os pratos empilhados. Operaes possveis Colocar um prato limpo no alto da pilha, retirar um prato do alto da pilha, etc... Estrutura de Dados Correspondente PILHA seqncia de elementos dispostos em ordem, mas com uma regra para entrada e sada dos elementos (o ltimo que chega o primeiro que sai da estrutura). Problema Conseguir um modo de visualizar o conjunto de pessoas que trabalham em uma empresa, tendo em conta sua funo. Soluo Construir um organograma da empresa. Operaes possveis Inserir ou retirar certas funes, localizar uma pessoa, etc... Estrutura de Dados Correspondente RVORE estrutura de dados que caracteriza uma relao de hierarquia entre os elementos (uma pessoa no pode pertencer a dois departamentos diferentes, cada diretoria tem os seus prprios departamentos, etc.). Problema Estabelecer um trajeto para percorrer todas as capitais de um pas. Soluo Utilizar um mapa que indique as rodovias existentes e estabelecer uma ordem possvel para percorrer todas as cidades. Operaes possveis Encontrar um modo de percorrer todas as cidades, determinar o caminho mais curto para ir de uma cidade para outra, etc. Estrutura de Dados Correspondente GRAFO estrutura bastante genrica que organiza vrios elementos, estabelecendo relaes entre eles, dois a dois. Os exemplos vistos correspondem exatamente aos tipos bsicos de estruturas de dados utilizadas em computao: Listas, Filas, Pilhas, rvores e Grafos.

O estudo de estrutura de dados parte fundamental para o desenvolvimento de programas e algoritmos. Assim como um nmero pode ser representado em vrios sistemas diferentes, tambm um conjunto de dados relacionados entre si pode ser descrito atravs de vrias estruturas de dados distintas. Quando o programador cria um algoritmo para solucionar um problema, ele tambm cria uma estrutura de dados que manipulada pelo algoritmo. A escolha de uma determinada estrutura pode afetar substancialmente a quantidade de rea de armazenamento requerida para o processamento bem como o tempo deste processamento. , portanto, de grande importncia o estudo de diferentes estruturas que possam ser utilizadas eventualmente na resoluo de um problema, de forma a simplificar a sua implementao prtica. Um programador de pouca experincia utilizar em sua programao formas bastante simplificadas para a representao dos dados envolvidos (como matrizes e vetores), que possivelmente seriam adequadamente representados atravs de estruturas mais sofisticadas (filas encadeadas, rvores, etc.), tornando o processamento mais eficiente em termos de rea de armazenamento e tempo.

Tipos de Dados
Os sistemas de computao tm por finalidade a manipulao de dados. Um algoritmo, basicamente, consiste na entrada de dados, seu processamento e a sada dos dados computados. Existem dados considerados bsicos. So eles: Dados numricos : armazenam valores numricos. Dados alfanumricos : armazenam valores alfabticos, numricos, sinais, etc... Dados Lgicos : armazenam valores lgicos Em muitos casos, a utilizao dos dados bsicos pode satisfazer o requisito de uma aplicao. Em outros casos, pode-se utilizar um tipo de dados um pouco mais sofisticado, do tipo matrizes e vetores. Vetores : um arranjo unidimensional de dados do tipo bsico, com um mesmo identificador (nome), mas diferenciado pela sua posio (ndice) dentro do vetor. Pode-se definir um vetor como: V = V(1), V(2), ..., V(n) onde V(i) o i-simo elemento do vetor V e 1 <= i <= n.

Matrizes : um arranjo de vrias dimenses de dados do tipo bsico, com um mesmo identificador (nome), mas diferenciado pelas suas posies (ndices) dentro da matriz. Uma matriz bidimensional pode ser definida como:

M (1,1) M (1,2) , , , M (1, m) M ( 2,1) M (2,2) ... M (2, m) M= ... ... ... ... M (n,1) M ( n,2) ... M (n, m)

onde M(i,j) indica o elemento da matriz M posicionado na i-sima linha e j-sima coluna, sendo que 1 <= i <= n e 1 <= j <= m.

Nodo
O termo estrutura de dados utilizado para referenciar diferentes formas de representao de dados. A escolha de uma determinada estrutura para representar um conjunto de dados relacionados deve-se, principalmente, ao tipo de operaes que sero realizadas sobre o mesmo, usando uma manipulao otimizada em relao ao tempo necessrio para efetuar as operaes e rea de armazenamento requisitada para guardar estes dados. A entidade elementar de uma estrutura de dados o nodo (n). Um nodo diferenciado pelo seu endereo relativo dentro da estrutura e pode ser constitudo de um ou vrios campos.

Cada campo de um nodo armazena uma informao, um dado, que pode ser do tipo numrico, alfanumrico, lgicos, imagens, sons, enfim, qualquer informao que possa ser manipulada. Todos os nodos de uma mesma estrutura devem ter a mesma configurao. Exemplo:

Listas Lineares
Uma lista uma seqncia ordenada de elementos do mesmo tipo. Por exemplo, um conjunto de fichas de clientes de uma loja, organizadas pela ordem alfabtica dos nomes dos clientes. Neste fichrio possvel introduzir uma nova ficha ou retirar uma velha, alterar os dados de um cliente etc.
5

Do ponto de vista matemtico, uma lista uma seqncia de zero ou mais elementos de um determinado tipo. Geralmente se representa uma lista de elementos, separando-os por vrgulas. a1 , a2 , ... na onde n >= 0 e ai um elemento da lista. O nmero n dito comprimento da lista. Se n=0 temos uma lista vazia.

Definio dada por Knuth para uma lista linear : Uma lista linear X um conjunto de nodos X(1), X(2), ....,X(n), tais que: a) X(1) o primeiro nodo da lista; b) X(n) o ltimo nodo da lista; e c) Para 1<k<n, X(k) precedido pelo nodo X(k-1) e sucedido por X(k+1). Ou, mais simplesmente, Uma lista linear a estrutura de dados que permite representar um conjunto de dados de forma a preservar a relao de ordem linear entre eles. Basicamente, o manuseio de listas lineares envolve trs tipos de operaes: 1) Insero de novos nodos lista; 2) Retirada de nodos da lista; 3) Consulta de contedo de algum nodo da lista. Naturalmente existem outras operaes que podem ser efetuadas sobre uma lista, que no so to importantes para a caracterizao dos diferentes tipos de listas, tais como: 4) Concatenar duas listas; 5) Determinar o nmero de nodos de uma lista; 6) Localizar um nodo da lista com um determinado contedo; 7) Criao de uma lista; 8) Cpia de uma lista; 9) Ordenao de uma lista por algum critrio; 10) Destruio de uma lista; 11) Modificao do contedo de algum nodo da lista.

As modalidades mais utilizadas de listas lineares so aquelas em que as trs operaes (1, 2 e 3) so realizadas nas extremidades da lista. Alm disso, ao se manipular listas lineares, as operaes freqentemente se repetem. Devido constante utilizao de certas formas bsicas de operaes, foram definidos alguns tipos de listas lineares clssicas, de acordo com a forma que essas operaes so realizadas. Estes tipos particulares de listas lineares so:

PILHA (Stack) : uma lista linear em que todas as operaes (insero, retirada e consulta) so realizadas numa nica extremidade da estrutura. Graficamente, uma pilha representada por:

FILA (Queue) : uma lista linear em que as inseres de novos nodos na estrutura so realizadas em uma das extremidades e as retiradas ou consultas aos nodos so realizadas na outra extremidade da lista. Graficamente tem-se:

Exerccio: Imagine um terminal frreo com a seguinte configurao de trilhos:

Os vages s podem entrar na rea Estacionamento (que estruturado como uma pilha) vindos da Entrada e s podem sair da pilha pela Sada. Denotando-se por I a entrada de um vago no Estacionamento (insero) e por R a sada de um vago do Estacionamento (retirada) e considerando-se que na Entrada h quatro vages numerados de 1 a 4, respectivamente (1 2 3 4) a execuo da seqncia de operaes de inseres e retiradas IIRIIRRR Sobre os vages da Entrada resultar na seguinte permutao dos vages na Sada : 2 4 3 1.

Isto , considerando a configurao inicial (a), aps a execuo da seqncia I I R I, obter-se- (b) : (a)

(b) e aps toda a seqncia de operaes ser efetuada, ter-se- a seguinte configurao.

1) Se existirem seis vages na Entrada (1 2 3 4 5 6), existe uma seqncia de operaes que aplicada sobre a Entrada fornecer na Sada a ordenao 3 2 5 6 4 1 dos vages? Se sim, qual a seqncia de operaes? E uma seqncia que fornea a permutao 1 5 4 6 2 3? Se sim, qual a seqncia?

Formas de representao de listas


Extrado de : Estrutura de Dados Afonso Incio Orth

Existem diferentes possibilidades de representao interna das listas lineares, mas duas destas formas so particularmente conhecidas e utilizadas, a saber: - Alocao seqencial (por contigidade fsica) - Alocao encadeada O uso de uma ou outra destas formas depende, principalmente, do nmero de vezes que determinadas operaes sero efetuadas sobre a lista

Alocao Seqencial
A alocao seqencial de uma lista significa que os nodos da estrutura so armazenados em reas contguas e seqencialmente segundo a sua ordem lgica dentro da estrutura. Isto , a ordem de alocao fsica e lgica dentro da estrutura coincide. A alocao seqencial explora a seqencialidade natural da memria do computador, armazenando os nodos da lista em posies vizinhas ou igualmente distantes uma da outra. Esquematicamente isto mostrado a seguir:

A implementao deste tipo de lista usualmente feita por meio do uso de Vetores.

Pilhas
Dois conceitos so importantes para o estudo de pilhas: Topo da pilha : o endereo (ndice) do elemento mais recentemente alocado (inserido) na pilha. O topo de uma pilha ser denotado pela varivel T. Base da pilha : o endereo (ndice) do nodo anterior ao nodo mais antigo da pilha. Inicialmente, quando a pilha est vazia, a base tem valor zero e a pilha no estar vazia se a diferena entre o valor do topo e da base for maior que zero. Exemplo:

10

PILHA CHEIA:

PILHA VAZIA:

OVERFLOW e UNDERFLOW em pilhas Diz-se que ocorre uma situao de overflow na pilha quando um novo nodo deve ser inserido , mas no h mais nodos disponveis na mesma (um nodo est disponvel quando no estiver vinculado pilha, por exemplo, todos os nodos alocados entre o topo da pilha e a posio de maior ndice do vetor que contm a pilha so nodos disponveis). Ocorre uma situao de underflow na pilha quando um nodo deve ser retirado da pilha, mas a pilha est vazia. ALGORITMOS PARA MANIPULAO DE PILHAS

Algoritmo de CRIAO

Algoritmo de INCLUSO

11

Algoritmo de CONSULTA

Algoritmo de RETIRADA

12

Exerccio: considere uma rea de armazenamento de 5 nodos. Sobre esta rea ser montada uma pilha de nome PILHA. Qual o comportamento da pilha durante as seguintes operaes: Incluso de um nodo com valor VERMELHO Incluso de um nodo com valor VERDE Incluso de um nodo com valor AMARELO Incluso de um nodo com valor BRANCO Incluso de um nodo com valor PRETO Retirada de um nodo Retirada de um nodo Incluso de um nodo com valor ROSA Retirada de um nodo Retirada de um nodo Retirada de um nodo Incluso de um nodo com valor CINZA Retirada de um nodo Retirada de um nodo Retirada de um nodo

13

Filas FILAS SIMPLES


Dois conceitos so importantes para o estudo de filas: R da Fila : o endereo (ndice) do nodo do elemento mais recentemente alocado (inserido) na fila. A r de uma fila ser denotada pela varivel R. Frente da fila : o endereo (ndice) do nodo anterior ao nodo mais antigo da fila. Inicialmente, quando a fila est vazia, a frente tem valor zero e a fila no estar vazia se o valor da frente for diferente do valor da r. A frente ser denotada pela varivel F. Exemplo:

FILA SIMPLES CHEIA :

FILSA SIMPLES VAZIA :

OVERFLOW e UNDERFLOW em filas Diz-se que ocorre uma situao de overflow na fila quando um novo nodo deve ser inserido, mas no h mais nodos disponveis na mesma. Ocorre uma situao de underflow na fila quando um nodo deve ser retirado da fila, mas a fila est vazia. Falso Overflow

14

ALGORITMOS PARA MANIPULAO DE FILAS

Algoritmo de CRIAO

Algoritmo de INCLUSO

15

Algoritmo de CONSULTA

Algoritmo de RETIRADA

16

Exerccio: considere uma rea de armazenamento de 5 nodos. Sobre esta rea ser montada uma fila de nome FILA. Qual o comportamento da fila durante as seguintes operaes: Incluso de um nodo com valor VERMELHO Incluso de um nodo com valor VERDE Incluso de um nodo com valor AMARELO Incluso de um nodo com valor BRANCO Retirada de um nodo Retirada de um nodo Incluso de um nodo com valor ROSA Retirada de um nodo Retirada de um nodo Retirada de um nodo Incluso de um nodo com valor CINZA Retirada de um nodo Retirada de um nodo Retirada de um nodo

17

FILAS CIRCULARES
Os mesmos conceitos de Frente e R das filas simples so utilizados em filas circulares. A diferena que, na fila circular, aps os ponteiros alcanarem o final da estrutura (vetor), tenta-se ocupar os nodos inicias da estrutura (vetor), fazendo-se um crculo. Exemplo:

FILA CIRCULAR CHEIA:

FILA CIRCULAR VAZIA:

OVERFLOW e UNDERFLOW em filas Diz-se que ocorre uma situao de overflow na fila quando um novo nodo deve ser inserido, mas no h mais nodos disponveis na mesma. Ocorre uma situao de underflow na fila quando um nodo deve ser retirado da fila, mas a fila est vazia. Falso Overflow

18

ALGORITMOS PARA MANIPULAO DE FILAS

Algoritmo de CRIAO

Algoritmo de INCLUSO

19

Algoritmo de CONSULTA

Algoritmo de RETIRADA

20

Exerccio: considere uma rea de armazenamento de 5 nodos. Sobre esta rea ser montada uma fila circular de nome FILA_CIRC. Qual o comportamento da fila durante as seguintes operaes: Incluso de um nodo com valor VERMELHO Incluso de um nodo com valor VERDE Incluso de um nodo com valor AMARELO Incluso de um nodo com valor BRANCO Retirada de um nodo Retirada de um nodo Incluso de um nodo com valor ROSA Retirada de um nodo Retirada de um nodo Incluso de um nodo com valor CINZA Retirada de um nodo Incluso de um nodo com valor MARROM Incluso de um nodo com valor LARANJA

21

Alocao Encadeada
Como resolver-se-ia de forma eficiente o seguinte problema: Gerar 200 nmeros aleatrios. A cada gerao de um nmero, este deve ser inserido numa lista linear de forma que os nmeros componentes da mesma estejam constantemente organizados segundo a ordem crescente de seus valores.

Se num determinado instante a lista for :

1 3

199 200

15 29

e for gerado o nmero 7, aps a sua insero a lista ficar:

1 3

2 7

199 200

15 29

Na tentativa de inserir um novo elemento lista, eventualmente necessrio deslocar (empurrar) uma poro de lista a fim de que o novo nodo seja colocado em sua posio correspondente. Esta soluo ao problema bastante onerosa, devido ao tempo necessrio para ser realizado o deslocamento das informaes contidas nos nodos e este torna-se crtico se for considerado um nmero bastante grande de elementos. O uso de nodos compostos de vrios campos, sendo que um deles tem como objetivo indicar o endereo do nodo que o segue logicamente dentro da estrutura, torna a resoluo de certos problemas bastante mais eficiente. Considerando-se um nodo com a configurao:

INFO
22

ELO

em que o campo INFO formado de uma ou mais informaes (campos) com as informaes contidas no nodo ou uma indicao da localizao destas informaes e o campo ELO contm o endereo (ndice) do nodo seguinte na estrutura. Ao implementar-se estruturas encadeadas, utiliza-se uma matriz (ou vetor, dependendo das informaes contidas nos nodos), ou ainda um registro, para alocar os campos INFO dos nodos e um vetor para os campos ELO. Segundo esta forma de representao, os vetores INFO e ELO: Info 1 2 3 4 5 6 7 8 9 10 11 corresponde seguinte lista encadeada:
A 8 C 11 K 5 B 2 F 0

Elo 0 8 2

F A B

11

Neste tipo de alocao, denominada alocao encadeada , a Ordem Lgica dos componentes da lista determinada atravs do campo ELO, no importando a localizao fsica dos nodos dentro dos vetores que alocam a lista. Qualquer nodo da lista pode ser acessado se a mesma for percorrida seguindo-se os endereamentos fornecidos pelos campos ELO de cada nodo. O campo ELO do ltimo nodo da lista (no exemplo, o nodo ndice 2) contm o valor zero, indicando que no h mais nodos sucedendo-o. Basta, portanto, conhecer-se o ndice do primeiro nodo da lista para que se tenha acesso a qualquer outro. Info Elo 1 2 F 0 Incio 3 A 8 4 5 B 2 6 7 8 C 11 9 10 11 K 5

23

Em geral, utilizado um nodo especial, com funo especfica, cujos campos indicam os ndices do primeiro e do ltimo nodo da lista. Este nodo especial (e cada lista encadeada o tem) denomina-se NODO-CABEA e tem a seguinte forma:

INFO
ndice do ltimo nodo na O. L.

ELO
ndice do primeiro nodo na O. L.

Cada lista, portanto, tem um nodo-cabea associado. O mesmo tambm integrar a estrutura, bastando ento ser conhecido o ndice do nodo-cabea para que toda a lista seja identificada. Em geral, o ndice do nodo-cabea de uma lista ser armazenado numa varivel cujo nome seja significativo. NC 1 2 3 4 5 6 7 8 9 10 11 Info 2 F A B Elo 3 0 8 2

11

isto , o nodo-cabea da lista est no ndice 1, o primeiro nodo no ndice 3 e o ltimo no ndice 2 dos vetores. A representao grfica desta mesma lista, incluindo o nodo cabea :

A NC

Continuamente so realizadas operaes de insero e retirada sobre a lista linear. Como saber, ento, qual nodo est disponvel para ser inserido ou como fazer para que um nodo, uma vez retirado da lista, possa ser novamente utilizado? Todos os nodos que esto disponveis (isto , todas as posies dos vetores INFO e ELO que alocam a lista e no pertencem mesma) formam uma estrutura a parte, do tipo pilha, e esta denominada PILHA DE NODOS DISPONVEIS (PND). O topo desta pilha tem o seu valor armazenado na varivel DISP (disponvel).
24

Inicialmente, todos os nodos da rea de armazenamento que ser utilizada para futura alocao das listas (supondo que estas no tenham sido criadas) so nodos disponveis. As seguintes so condies iniciais que a PND deve obedecer: todos os nodos da rea esto encadeados entre si; a varivel DISP contm a localizao do primeiro destes nodos; o ltimo nodo da pilha contm zero em seu campo ELO Supondo que a varivel TAM possui a quantidade de nodos na rea a ser utilizada, um algoritmo para a criao da pilha de nodos disponveis o seguinte : Algoritmo CRIA_PND

Na modificao dinmica de listas encadeadas, sempre que for necessrio inserir um nodo mesma, este deve ser obtido na PND para ento ser vinculado numa posio adequada. O algoritmo para a obteno de um nodo na PND : Algoritmo OBTEM

25

A funo OBTEM deve retornar o ndice do nodo disponvel no momento, no qual ser inserida a informao. Caso o valor retornado for 0 (zero), indica que no h mais nodos disponveis. Ao mesmo tempo, a funo deve atualizar a varivel DISP para que ela aponte para o prximo nodo disponvel. O nodo-cabea deve ser inicializado antes de fazer-se qualquer operao com a lista encadeada. Quando da sua inicializao, o valor para os campos Elo e Info do nodo-cabea 0 (zero) Info 0 Elo 0

NC

Portanto, a funo de criao do nodo-cabea a seguinte:

Algoritmo CRIA_NC

Condio de Lista Cheia

OVERFLOW na lista

Condio de Lista Vazia

26

UNDERFLOW na lista

Listas Lineares Simplesmente Encadeada com ordenao pelo campo INFO Na maioria das vezes a lista est ordenada pelo campo INFO (ou um de seus sub-campos), tanto em forma crescente como decrescente. Isto , aps cada incluso ou retirada, ao percorrer-se a lista atravs do campo de encadeamento ELO, as informaes devero sempre estar ordenadas conforme o critrio adotado. Os exemplos e algoritmos a seguir sero baseados numa lista linear simplesmente encadeada com ordenao pelo campo Info em ordem crescente (de A at Z, de 0 at 9). Aps seres definidos os algoritmos CRIA_PND, OBTEM e CRIA_NC, as operaes na lista podem ser executadas. As principais operaes que ocorrem em uma lista so: Incluso Retirada Consulta Algoritmo de INCLUSO

27

Algoritmo de RETIRADA Neste algoritmo no deve ser esquecido que o nodo que antes estava ocupado, aps a sua retirada passa a ser disponvel, devendo, portanto, ser includo na PND.

28

Algoritmo de CONSULTA

29

LISTAS DUPLAMENTE ENCADEADAS A estrutura encadeada considerada at aqui permite somente que a mesma seja percorrida em nico sentido: qualquer pesquisa deve principiar no primeiro nodo da lista, conforme a Ordem Lgica, e continuar nos nodos seguintes at que seja encontrado o nodo procurado ou o ltimo nodo da lista. Entretanto, se a definio dos campos dos nodos for um pouco modificada, a lista poder ser percorrida em ambos os sentidos: do incio para o fim ou do fim para o incio. Supe-se, ento, outro campo de elo em cada nodo, que passa a ter a seguinte configurao:

ELO_A INFO

ELO_P

em que ELO_A(i) contm o ndice do nodo anterior ao nodo i na lista e ELO_P(i) o ndice do nodo posterior a i.

O nodo-cabea nas listas duplamente encadeada possui uma inicializao diferente da lista simplesmente encadeada, pois os valores iniciais do ELO_A e do ELO_P do nodo-cabea apontam para o ndice do prprio nodo-cabea. Elo_A NC NC Info Elo_P NC

Tambm diferente da lista simplesmente encadeada, o Elo_P do ltimo nodo na ordem lgica, ao invs de apontar para 0 (zero), aponta para o nodo-cabea. E o Elo_A do primeiro nodo na ordem lgica aponta tambm para o nodo-cabea.

NC 30

Condio de Lista Cheia

OVERFLOW na lista

Condio de Lista Vazia

UNDERFLOW na lista

Listas Lineares Duplamente Encadeada com ordenao pelo campo INFO Muitas vezes a lista pode estar ordenada pelo campo INFO (ou um de seus sub-campos), tanto em forma ascendente como descendente. Isto , aps cada incluso ou retirada, ao percorrer-se a lista atravs do campo de encadeamento ELO, as informaes devero sempre estar ordenadas conforme o critrio adotado. Os exemplos e algoritmos a seguir sero baseados numa lista linear duplamente encadeada com ordenao pelo campo Info em ordem crescente (de A at Z, de 0 at 9). Algoritmo CRIA_PND

Algoritmo OBTEM

31

Algoritmo CRIA_NC

Algoritmo INCLUSO

32

Algoritmo RETIRADA

33

Algoritmo CONSULTA

34

Potrebbero piacerti anche