Escolar Documentos
Profissional Documentos
Cultura Documentos
Estrutura Dados
Estrutura Dados
Lista linear é uma estrutura de dados na qual elementos de um mesmo tipo de dado estão
organizados de maneira sequencial. Não necessariamente, estes elementos estão fisicamente
em sequência, mas a idéia é que exista uma ordem lógica entre eles. Um exemplo disto seria
um consultório médico: as pessoas na sala de espera estão sentadas em qualquer lugar, porém
sabe-se quem é o próximo a ser atendido, e o seguinte, e assim por diante. Assim, é importante
ressaltar que uma lista linear permite representar um conjunto de dados afins (de um mesmo
tipo) de forma a preservar a relação de ordem entre seus elementos. Cada elemento da lista é
chamado de nó, ou nodo.
Definição:
Conjunto de N nós, onde N ≥ 0, x1, x2, ..., xn, organizados de forma a refletir a posição relativa
dos mesmos. Se N ≥ 0, então x1 é o primeiro nó. Para 1 < k < n, o nó xk é precedido pelo nó xk-
1 e seguido pelo nó xk+1 e xn é o último nó. Quando N = 0, diz-se que a lista está vazia. Exemplos
de listas lineares:
Dias da semana;
Vagões de um trem;
Pilha de pratos;
Cartas de baralho.
Quanto a forma de alocar memória para armazenamento de seu elementos, uma lista pode ser:
1. Sequencial ou Contígua
Numa lista linear contígua, os nós além de estarem em uma sequência lógica, estão
também fisicamente em sequência. A maneira mais simples de acomodar uma lista
linear em um computador é através da utilização de um vetor.
A representação por vetor explora a sequencialidade da memória de tal forma que os nós de
uma lista sejam armazenados em endereços contíguos.
2. Encadeada
Os elementos não estão necessariamente armazenados sequencialmente na memória,
porém a ordem lógica entre os elementos que compõem a lista deve ser mantida. Listas
lineares encadeadas são discutida na aula 11.
Classificação da lista
Cópia da lista
pilhas
Uma pilha é uma lista linear do tipo LIFO - Last In First Out, o último elemento que
entrou, é o primeiro a sair. Ela possui apenas uma entrada, chamada de topo, a partir da
qual os dados entram e saem dela. Exemplos de pilhas são: pilha de pratos, pilha de
livros, pilha de alocação de variáveis da memória, etc.
filas
Uma fila é uma lista linear do tipo FIFO - First In First Out, o primeiro elemento a
entrar será o primeiro a sair. Na fila os elementos entram por um lado (“por trás”) e
saem por outro (“pela frente”). Exemplos de filas são: a fila de caixa de banco, a fila do
INSS, etc.
deques
Um deque - Double-Ended QUEue) é uma lista linear na qual os elementos entram e
saem tanto pela “pela frente” quanto“por trás”. Pode ser considerada uma generalização
da fila.
Assim o que vai distinguir os diferentes tipos de listas são as operações que se podem realizar
sobre as mesmas, podendo tanto serem implementadas com alocação sequencial quanto com
alocação encadeada (próxima aula).
Vetor (Array)
Nome_Vetor:vetor[tamanho]tipo
Tomemos o primeiro exemplo (inteiro vector [10]) onde declaramos que estamos criando um
vetor para números chamado de VECTOR com dez posições. Desta forma o computador
entende que deve alocar 10 espaços para 10 números inteiros no computador que serão
inseridos conforme especificado pelo programa . Por exemplo, vamos construir dois laços de
repetição:
INDICE:numérico
INDICE<-0
fecha_para
exibeVECTOR [INDICE]
fecha_para
Podemos trabalhar com vetores numéricos, executando operações sobre eles da mesma forma
como executaríamos com variáveis numéricas comuns. Devemos assumir que ao declararmos
um determinado vetor[índice], com um índice específico, estamos fazendo referência a um
número.
Matrizes
Matrizes são arranjos ordenados que ao contrário dos vetores podem ter n dimensões, sendo
que estas dimensões lhes dão o nome n-dimensional . Uma matriz de duas dimensões será
chamada bi-dimensional, uma de três dimensões tri-dimensional e assim consecutivamente.
Funciona praticamente da mesma forma que um vetor exceto que utilizaremos o número n de
índices para acessar um dado que queremos. Para efeitos de estudo por enquanto nos
limitaremos somente às matrizes bidimensionais (duas dimensões linha X colunas). Assim se
possuimos uma matriz bidimensional de duas linhas e duas colunas:
Consideramos que para acessarmos o valor 3, localizamos o índice por sua linha (1) e coluna
(1) , deste modo seu índice é (1,1). O valor quatro por exemplo será (1, 2).