Você está na página 1de 6

ALGORITIMOS E ESTRUTURAS DE DADOS

Docente: Fabricio Carneiro

Discente: Anna Hellen Freire Oliveira

Antõnio Deci Correia Júnior

Igor Pereira Gomes

João Victor Guimarães Morais

Yasmin dos Santos Dicthl


Juazeiro do Norte, 27 de Setembro

ESTRUURA DE DADOS

LISTAS - As listas são estruturas de dados que são utilizadas frequentemente.


Elas têm a capacidade de armazenar os dados em um formato de lista (dado o
nome). Basicamente, uma lista é, na verdade, um conjunto de estruturas
chamadas “nós”. Um nó é uma estrutura que armazena a informação a ser
gerenciada por uma lista. Na computação, existem dois tipos de lista: as listas
ligadas e as listas duplamente ligadas. Cada um dos nós de uma lista ligada,
além de conhecer o valor que está sendo armazenado em seu interior, também
conhece o elemento posterior a ele: por isso ela é chamada de “lista ligada”,
pois os nós são amarrados com essa indicação de qual é o próximo nó.

Lista Ligada - Imagine uma lista ligada com o nome de funcionários de uma
empresa. No começo, ela pode se apresentar da seguinte maneira (já que ela
está vazia). Quando adicionamos o primeiro nome à nossa lista, nós
adicionamos um novo nó a essa lista. Esse nó não sabe quem será o próximo
nó, já que nossa lista por hora só possui um único nó. Além disso, nossa lista
precisa saber onde ela começa e onde ela termina, por isso, o nó inicial e o nó
final também são indicados em uma lista ligada. Após adicionar nosso primeiro
nome, como temos um único nó, ele é indicado como o primeiro nó e como o
último nó, além de não ter indicação do próximo nó (que ainda não existe). para
adicionarmos um novo nó a uma lista ligada, fizemos basicamente as seguintes
operações: Apontamos como sendo o último nó da lista o novo nó, já que ele
foi o último a ser adicionado; pegamos quem era anteriormente o último nó e
indicamos que o próximo nó dele será este último nó adicionado.

Lista Duplamente ligada: A grande diferença das listas duplamente ligadas


para as listas ligadas é que elas são bidirecionais. Vimos que, naturalmente,
não conseguimos “andar para trás” em listas ligadas, pois os nós de uma lista
ligada sabem somente quem é o próximo elemento. Nas listas duplamente
ligadas, os nós sabem quem é o próximo elemento e também quem é o
elemento anterior, o que permite a navegação reversa. Para essa indicação, os
nós também passam a apontar quem é o nó anterior. (ANDRADE, 2020)

PILHAS: São estruturas de dados que armazenam os elementos em um


formato sequencial, empilhando um item acima do outro. Mais especificamente,
uma pilha é uma estrutura sujeita à seguinte regra de operação: sempre que
houver uma remoção, o elemento removido é o que está na estrutura há menos
tempo.
Segue um padrão conhecido como LIFO (Last In First Out), onde o último a
entrar será o primeiro a sair. Em uma pilha sempre adicionamos um item ao
seu topo, e sempre que retiramos também é o do topo. Uma pilha é
naturalmente um LIFO.

Exemplo prático: é a utilização em logística de produtos que não tem


vencimento, isso traz algumas vantagens para essas empresas pois
geralmente as empresas que operam com esse modelo de negócio precificam
a mercadoria com base na última compra, isso faz com que os produtos mais
antigos em estoque que porventura fossem comprados com custo menor
tenham margem de lucro maior, pois serão vendidos com preço de venda
maior baseado na compra mais recente.
GRAFOS - Grafos são estruturas matemáticas que possibilitam a codificação
de relacionamento entre pares de objetos. Os objetos são os vértices de um
grafo, os relacionamentos são suas arestas.

1.

As letras A, B, C, D e E são os vértices e as linhas são as arestas


Os grafos podem ser usados para realizar diversas conexões, tais como: redes
sociais, rotas de metrô, labirintos e etc.
Exemplo em redes sociais: A pessoa “A” conhece a pessoa “B”, a pessoa “B”
conhece a pessoa “C” e “D”, a pessoa “C” conhece “D” e “E”, a pessoa “D
conhece a “E”.

Alguns grafos nomeamos como dirigidos ou direcionados, por que as arestas


têm seus sentidos definidos, outros modelos são os que chegam e saem do
mesmo vértice, denominamos (self-loop). Grafos não dirigidos ou não
direcionados são aqueles que as arestas não seguem um sentido específico,
podendo seguir qualquer sentido ou direção.
Grau de entrada: São os números de arestas que chegam em cada vértice.
Grau de saída: São os números de arestas que saem de cada vértice.
Ciclo em um grafo: É quando se percorre um caminho que nos leve de volta
para o ponto inicial, Exemplo: O vértice “B” conecta no “C” que conecta do “D”
que volta para o “B” novamente. Em grafos não dirigidos, o ciclo deve conter no
mínimo 3 arestas. Os grafos que não possuem um ciclo, são chamados de
acíclicos, uma árvore é um exemplo de grafo acíclico.

Árvore- é uma estrutura de dados que herda as características das topologias


em árvore.Sendo diferente das listas encadeadas, em que os dados se
encontram numa sequência, nas árvores os dados estão dispostos de forma
hierárquica. A árvore é composta por um elemento principal chamado raiz, que
possui ligações para outros elementos, que são denominados de galhos ou
filhos. Estes galhos levam a outros elementos que também possuem outros
galhos. O elemento que não possui galhos é conhecido como folha ou nó
terminal. O número máximo de galhos em um elemento é chamado ordem da
árvore. Uma árvore binária é aquela de ordem 2, i.e., em que cada elemento
possui no máximo 2 galhos. Uma das operações importantes consiste em
percorrer cada elemento da árvore uma única vez. Esse percurso, também
chamado de travessia da árvore, pode ser feito em pré-ordem (os filhos de um
nó são processados após o nó) ou em pós-ordem (os filhos são processados
antes do nó). Em árvores binárias é possível ainda fazer uma travessia em-
ordem, em que se processa o filho à esquerda, o nó, e finalmente o filho à
direita.

O algoritmo abaixo descreve uma travessia pré-ordem:

PercursoPreordem(nó):
Processa nó
Para cada filho de nó (se houver)
Executa recursivamente PercursoPreordem(filho)

FILAS-
* É uma maneira de armazenar dados de forma organizada e sequencial.
* Segue um padrão conhecido como FIFO (first-in first-out), o primeiro que
entra é o primeiro que sai.
* Funciona como uma fila no mundo real, onde o elemento que chega será
colocado no começo da fila e os próximos inseridos logo atrás.
* Chamamos o processo de inserção de dados de ENQUEUE e o processo de
remoção de dados de DEQUEUE.

REFERÊNCIAS:

ANDRADE, Ana Paula. O que é e como funciona a Estrutura de Dados


Lista. 2020. Disponível em: O que é e como funciona a Estrutura de Dados
Lista. Acesso em: 24 set. 2021.

ROMAM, Norton. Grafos. You tube, 05/06/2017. Disponível em:


https://www.youtube.com/watch?v=MC0u4f334mI

LIVROS, Wiki. Algoritmos e Estruturas de Dados/Árvore. 2017. Disponível em:


https://pt.wikibooks.org/wiki/Algoritmos_e_Estruturas_de_Dados/%C3%81rvore
. Acesso em: 26 set. 2021.
ROMAN, Norton T.. Estrutura de dados: grafos. grafos. 2017. Disponível em:
https://www.youtube.com/watch?v=MC0u4f334mI. Acesso em: 27 set. 2021.

PROGRESSIVO, C. Https://www.cprogressivo.net/2013/10/Estrutura-de-dados-
dinamica-em-C-Listas-Filas-Pilhas-Arvores.html. Disponível em:
https://www.cprogressivo.net/2013/10/Estrutura-de-dados-dinamica-em-C-
Listas-Filas-Pilhas-Arvores.html. Acesso em: 27 set. 2021.

Você também pode gostar