Você está na página 1de 27

USP – SSC0603 – ED1 - Semestre 2020-2

Estrutura de Dados 1 – Eng. Comp.


Prof. Fernando Osório - ERE Ensino Remoto

USP - ICMC - SSC – Curso de Engenharia de Computação


SSC 0603 - 2o. Semestre 2020 – ERE (Ensino Remoto)

Disciplina de
Estrutura de Dados 1
SSC0603 - ED1

Prof. Fernando Santos Osório – LRM / ICMC - USP


Lab. de Robótica Móvel
Email: fosorio [at] { icmc.usp.br }
Página Pessoal: http://www.icmc.usp.br/~fosorio/
Web - WIKI ICMC: http://wiki.icmc.usp.br/index.php/SSC-603
http://wiki.icmc.usp.br/index.php/SSC-603-2020(FOsorio)
Grupo no
https://www.facebook.com/groups/SSC603.FOsorio/
Monitor PEEG: Thiago Henrique Vicentini
1
Set. 2020
Aula 04t
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp.
Prof. Fernando Osório - ERE Ensino Remoto
Agenda da Aula

Agenda:

1. LDES – Lista Dinâmica Encadeada Simples


Exercícios – Insere Antes / Insere Depois

2. LDES Fila
LDES Pilha

** Material de Aulas baseado no Livro:


Estrutura de Dados Descomplicada em Linguagem C
André Backes – Editora Elsevier, 2016

Informações Complementares a Atualizadas:


Join SSC0603
Consulte REGULARMENTE o material disponível na
WIKI ICMC: http://wiki.icmc.usp.br/index.php/SSC-603
2
Set. 2020 ou http://wiki.icmc.usp.br/index.php/SSC-603-2020(FOsorio)
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

Novas Rotinas: Ver lista de Exercícios 03


➢ LDES => Insere Antes / Insere Depois [LDES-V1]

3
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples
➢ LDES => Insere Antes / Insere Depois [LDES-V1]

4
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

Novas Rotinas: Ver lista de Exercícios 03


➢ LDES => Insere Antes / Insere Depois [LDES-V1]

5
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. ➢ Dinâmicas
Estruturas de Dados LDES
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples
Insere Antes
[LDES-V1]

6
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp.
Prof. Fernando Osório - ERE Ensino Remoto
Tipos Abstratos de Dados - TAD

Alocação Estática - Vetores : Listas Lineares Sequenciais


TAD Pilha Estática Pilhas - LIFO (Last In, First Out)
Push

Entra

Pop
Sai
(Topo = Fim) (Topo = Fim)
.
.
.
.

D
C
B
A Base = Início
7
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp.
Prof. Fernando Osório - ERE Ensino Remoto
Tipos Abstratos de Dados - TAD

Alocação Estática - Vetores : Listas Lineares Sequenciais


TAD Fila Estática (Queue) Filas - FIFO (First In, First Out)
S ai = F im Retira Fila
.
out
.
.
.

D
C
B
A
.
.
.
.
in
8 E n tra = In ício Insere Fila
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp.
Prof. Fernando Osório - ERE Ensino Remoto
Tipos Abstratos de Dados - TAD

Alocação Estática - Vetores : Listas Lineares Sequenciais


TAD Deque Deque (In, Out em ambos lados)
Double Ended Queue
Entra / Topo Sai / Topo Insere Fim Deque
.
.
Remove Fim Deque
.
.
in / out end
D
C
B
A
.
.
.
. in / out begin
Sai / Base Entra / Base
Insere Inicio Deque
9 Remove Inicio Deque
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas

Estruturas de Dados
➢ Listas Dinâmicas Encadeadas => LINKED LISTS
LISTA SIMPLES (LDES / LS) “prox”
LISTA DUPLA (LDED / LD) “prox & ant”

TAD LISTAS ENCADEADAS:


▪ FILA: First In – First Out (FIFO / Queue)
▪ PILHA: Last In – First Out (LIFO / Stack)
▪ DEQUE: Double Ended QUEue - DEQueue
Double Sided Queue (Fila de 2 lados)
Insere Início/Fim - Retira Início/Fim
▪ Priority Queue – PQ
10
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

Estruturas de Dados
➢ Listas Dinâmicas Encadeadas Simples (LS / LDES)
FILA

11
Agosto 2018 [Backes 2016]
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

Estruturas de Dados
➢ Listas Dinâmicas Encadeadas Simples (LS / LDES)
FILA

12
Agosto 2018 [Backes 2016]
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

Estruturas de Dados
➢ Listas Dinâmicas Encadeadas Simples (LS / LDES)
FILA

13
Agosto 2018 [Backes 2016]
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp.
Prof. Fernando Osório - ERE Ensino Remoto
Tipos Abstratos de Dados - TAD

Alocação Estática - Vetores : Listas Lineares Sequenciais


TAD Fila Estática (Queue) Filas - FIFO (First In, First Out)
S ai = F im Retira Fila
.
out
.
.
.

D
C
B
A
.
.
.
.
in
14 E n tra = In ício Insere Fila
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

Estruturas de Dados
➢ Listas Dinâmicas Encadeadas Simples (LS / LDES)
FILA

15
[Backes 2016] Site: https://programacaodescomplicada.wordpress.com/complementar/ (Fila Dinâmica)
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

Estruturas de Dados
➢ Listas Dinâmicas Encadeadas Simples (LS / LDES)
FILA: FilaDinamica.Zip
[Backes 2016]

16
[Backes 2016] Site: https://programacaodescomplicada.wordpress.com/complementar/ (Fila Dinâmica)
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

Estruturas de Dados
➢ Listas Dinâmicas Encadeadas Simples (LS / LDES)
FILA: FilaDinamica.Zip
[Backes 2016]

17
[Backes 2016] Site: https://programacaodescomplicada.wordpress.com/complementar/ (Fila Dinâmica)
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

➢ Listas Dinâmicas Encadeadas Simples (LS / LDES)


FILA: FilaDinamica.Zip [Backes 2016]

18
[Backes 2016] Site: https://programacaodescomplicada.wordpress.com/complementar/ (Fila Dinâmica)
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

➢ Listas Dinâmicas Encadeadas Simples (LS / LDES)


FILA: FilaDinamica.Zip [Backes 2016]

19
[Backes 2016] Site: https://programacaodescomplicada.wordpress.com/complementar/ (Fila Dinâmica)
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

➢ Listas Dinâmicas Encadeadas Simples (LS / LDES)


PILHA (Stack)

20
Agosto 2018
[Backes 2016]
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

➢ Listas Dinâmicas Encadeadas Simples (LS / LDES)


PILHA

21
Agosto 2018 [Backes 2016]
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp.
Prof. Fernando Osório - ERE Ensino Remoto
Tipos Abstratos de Dados - TAD

Alocação Estática - Vetores : Listas Lineares Sequenciais


TAD Pilha Estática Pilhas - LIFO (Last In, First Out)
Push

Entra

Pop
Sai
(Topo = Fim) (Topo = Fim)
.
.
.
.

D
C
B
A Base = Início
22
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

➢ Listas Dinâmicas Encadeadas Simples (LS / LDES)


PILHA - PilhaDinamica.Zip [Backes]

[Backes 2016] Site: https://programacaodescomplicada.wordpress.com/complementar/ (Pilha Dinâmica)


23 Também disponível junto ao material de aulas na Wiki-ICMC
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

➢ Listas Dinâmicas Encadeadas Simples (LS / LDES)


DEQUE (Double Ended Queue)

Head Tail

24
Agosto 2019
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp.
Prof. Fernando Osório - ERE Ensino Remoto
Tipos Abstratos de Dados - TAD

Alocação Estática - Vetores : Listas Lineares Sequenciais


TAD Deque Deque (In, Out em ambos lados)
Double Ended Queue
Entra / Topo Sai / Topo Insere Fim Deque
.
.
Remove Fim Deque
.
.
in / out end
D
C
B
A
.
.
.
. in / out begin
Sai / Base Entra / Base
Insere Inicio Deque
25 Remove Inicio Deque
Agosto 2018
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp. Estruturas de Dados Dinâmicas
Prof. Fernando Osório - ERE Ensino Remoto
Listas Dinâmicas Encadeadas Simples

➢ Referências Adicionais
• Visual Algorithms Demos: https://visualgo.net/en
• Visual Algo – LISTS: https://visualgo.net/en/list
• Livro: [Backes 2016]
• Wikipedia:
https://en.wikipedia.org/wiki/Queue_(abstract_data_type)
https://en.wikipedia.org/wiki/Stack_(abstract_data_type)
https://simple.wikipedia.org/wiki/Stack_(data_structure)
https://en.wikipedia.org/wiki/Double-ended_queue

➢ Exercícios
1. Implemente as rotinas no LDES de Remove_Antes e Remove_Depois
completando assim o nosso TAD de Listas Simples.
2. Implemente um TAD com rotinas específicas para DEQUES:
Insere_Inicio_Deque, Remove_Inicio_Deque, Insere_Fim_Deque, Remove_Fim_Deque
26
Consulta_Inicio_Deque, Consulta_Fim_Deque (Sem remover, tipo “peek”)
Agosto 2019
USP – SSC0603 – ED1 - Semestre 2020-2
Estrutura de Dados 1 – Eng. Comp.
Prof. Fernando Osório - ERE Ensino Remoto

INFORMAÇÕES SOBRE A DISCIPLINA

USP - Universidade de São Paulo - São Carlos, SP


ICMC - Instituto de Ciências Matemáticas e de Computação
SSC - Departamento de Sistemas de Computação

Prof. Fernando Santos OSÓRIO


Web institucional: http://www.icmc.usp.br/ssc/
Página pessoal: http://www.icmc.usp.br/~fosorio/
Página disciplina: http://wiki.icmc.usp.br/index.php/SSC-603-2020(FOsorio)
Facebook disciplina: https://www.facebook.com/groups/SSC603.FOsorio
E-mail: fosorio [at] icmc. usp. br

Disciplina de SSC0603 - Estrutura de Dados 1 (ED1)


Web disciplina: Wiki ICMC - Http://wiki.icmc.usp.br
> Programa, Material de Aulas, Critérios de Avaliação,
27 > Trabalhos Práticos, Datas das Provas, Notas
Set. 2020

Você também pode gostar