Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso...

26
Noções sobre estruturas de dados Equipe 1 : Giovanna Yoshida RA: 173261 Krismann Pedrosa RA: 177758 Luccas Fortunatto RA: 182805 Marianna Degani RA: 183865

Transcript of Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso...

Page 1: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Noções sobre estruturas de dados

Equipe 1 : Giovanna Yoshida RA: 173261 Krismann Pedrosa RA: 177758

Luccas Fortunatto RA: 182805Marianna Degani RA: 183865

Page 2: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Introdução

Dado Estrutura

Page 3: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Apontadores/Ponteiros

Page 4: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Apontadores/Ponteiros

Page 5: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Nodo

Page 6: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Vetores

Um vetor é um conjunto de itens guardados em sequência. A ideia é guardar múltiplos itens do mesmo

tipo juntos, por facilitar o cálculo da posição de cada elemento.

1 2 3 n

...V

M

123

n

… … … …

………

...

1 2 3 m

Page 7: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Lista

Page 8: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Lista ligada

Page 9: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Lista Ligada

https://www.cs.usfca.edu/~galles/visualization/StackLL.html

Page 10: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Lista Ligada vs Vetores

Vetores podem ser utilizados para armazenar dados lineares do mesmo tipo, mas vetores têm as seguintes limitações:

Vantagens das listas sobre os vetores:

1) Tamanho dinâmico

2) Facilidade de inserção ou remoção

Page 11: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Lista Ligada vs Vetores

Desvantagens das listas sobre os vetores:

1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro nodo. Logo, não podemos fazer uma busca binária eficiente com listas ligadas

2) Espaço extra é necessário para cada elemento da lista (ponteiro)

Page 12: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Lista ligada circular

Page 13: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Lista Ligada Dupla

Page 14: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Skip List

Page 15: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Pilha

Page 16: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Fila

Page 17: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Fila

Page 18: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Fila

https://www.cs.usfca.edu/~galles/visualization/QueueArray.html

Page 19: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Árvore

Page 20: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Árvore

Page 21: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Árvore

Page 22: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Grafo

Vértice

Aresta

Page 23: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Heap

Page 24: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Heap

https://www.cs.usfca.edu/~galles/visualization/Heap.html

Page 25: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Hash

Page 26: Noções sobre estruturas de dados - Unicampsandra/MS614/handouts/SlidesNocoesSo...1) Acesso aleatório não permitido. Devemos acessar os elementos sequencialmente começando do primeiro

Referências

http://canvas.projekti.info/ebooks/Algorithm%20Design%20and%20Applications%5BA4%5D.pdf

http://usuarios.upf.br/~mcpinto/ed-tsi/ed_parte01.pdf

https://en.wikipedia.org/wiki/Pointer_(computer_programming)

https://www.geeksforgeeks.org/data-structures/

http://ticki.github.io/blog/skip-lists-done-right/

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

http://www.ic.unicamp.br/~francesquini/mc202/#_aulas

https://pt.wikipedia.org/wiki/Tabela_de_dispers%C3%A3o

https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm#Using_a_priority_queue

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

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