ESTRUTURA DE DADOS
Aula 1- Apresentando as Estruturas de Dados
ESTRUTURA DE DADOS
Atenção aos Temas Principais dessa
Aula
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Conteúdo Programático desta aula
O conceito de Estruturas de Dados;
O conceito de TAD;
Apresentar o conceito de funções;
Apresentar o conceito de struct;
Apresentar os conceitos de ordenação e pesquisa;
Apresentar o conceito de Lista, Pilha e Fila Estática;
Apresentar o conceito de Ponteiro;
Apresentar o conceito de Alocação Dinâmica;
Revisão de Matrizes
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Direto ao
Assunto
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Conceito de Estrutura de
Dados
“Estruturas de Dados são construções de uma
linguagem de programação que agregam um ou
mais elementos de dados para formar um tipo de
dado que armazena uma quantidade maior de
informações”.(OLIVEIRA, R., TAVEIRA, G., BOTTINI, J.,
2003, p.11)
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Conceito de Estrutura de
Dados
“Estruturas de Dados são construções de uma
linguagem de programação que agregam um ou
mais elementos de dados para formar um tipo de
dado que armazena uma quantidade maior de
informações”.(OLIVEIRA, R., TAVEIRA, G., BOTTINI, J.,
“O campo
2003, p.11) da Estruturas de Dados é concebido para
construir ferramentas para serem incorporadas e
usadas pelos programas de aplicação e para
encontrar Estruturas de Dados que possam realizar
certas operações rapidamente sem impor muita
carga à memória do computador”.(DROZDEK, A,
2002, P.31) APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento
da Informação
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento
da Informação
Construção de
Algoritmos
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento
da Informação
Construção de
Algoritmos
Características
das ED
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento C
da Informação O
N
S
H
Ó
E
L
Construção de C
I
Algoritmos I
D
M
O
E
S
N
O
T
Características
O
das ED
S (PREISS, B. R., 2000
p.1)
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Tipo de Dados
Abstratos(TDA)
“Um tipo de dado abstrato pode ser definido
como um conjunto de valores e uma coleção de
operações que atuam sobre esses valores.
As operações devem ser consistentes com os
tipos de valores”.
(MORAES, C.R., 2001, p.5)
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
E
U
Q
O
FAZER
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
E
U
Q
O
FAZER
Exemplos
1 – Gravar um vetor em um arquivo
binário
2 – Usar o TDA int
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
DE FAZER
CO
MO
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Exemplo
Como se processa o comando de
atribuição?
DE FAZER
CO
MO
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Conteúdo da
Disciplina
É muito extenso, mas apaixonante.
Procurei desmistificar, abusando de figuras, cores
e exemplos clássicos bem escolhidos.
Sei que é um grande desafio, mas nós,
professores, estaremos com vocês o tempo todo
para que, ao final do curso, possamos dizer:
conseguimos.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
2a AULA -
FUNÇÕES
void asterisco()
{
int x;
for(x=1: x<=50;
x++)
cout<<“*”;
}
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
3a AULA -
STRUCT
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
3a AULA -
STRUCT
struct cadastro
{
char nome[30], e-mail[20], plano[20], end [40],
tel1[15], tel2[15];
int idade;
};
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
4a AULA - ORDENAÇÃO /
PESQUISA
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
5a AULA - LISTAS
LINEARES
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
6a AULA – PILHA(LIFO)
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
7a AULA – FILA(FIFO)
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
8a AULA – ALOCAÇÃO
DINÂMICA
LISTA
ENCADEADA
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
8a AULA – ALOCAÇÃO
DINÂMICA
LISTA
ENCADEADA
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
9a AULA – LISTAS
LINEARES
PILHA
DINÂMICA
FILA
DINÂMICA
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
10a AULA – LISTAS DUPLAMENTE
ENCADEADAS
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
METODOLOGIA DE
ESTUDO
Não acumule aulas porque elas estão muito
extensas .
Lembre-se de que Algoritmos e Estruturas de
Dados formam uma parceria perfeita,
contribuindo para seu aperfeiçoamento como
desenvolvedor.
Reveja todos os conceitos da aula.
Aprimore seus conhecimentos pesquisando no
material didático e na bibliografia recomendada
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Assista aos filmes, se estiverem disponíveis na
aula, ou então, pesquise na Internet.
Esteja sempre em contato com seu professor
on-line.
Assista a esta aula quantas vezes for
necessário.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
SERÁ?
Que tal pesquisar o que
significa
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
E, o mais importante: nós, professores de
Estrutura de Dados, vamos fazer de tudo para
que isso se torne real porque já abstraímos
muito nesta primeira aula.
SERÁ?
Que tal pesquisar o que
significa
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Referências
Bibliográficas
DROZDEK, A. Estruturas de Dados e Algoritmos em C++.
São Paulo:
Pioneira Thomson, 2002.
MORAES, C. R. Estruturas de Dados e Algoritmos. São Paulo:
Berkley
Brasil, 2001.
PREISS, B. R. Estruturas de Dados e Algoritmos. Rio de
Janeiro: Campus,
2000.
[Link]. Estruturas de Dados. OLIVEIRA, R.S., TAVEIRA, G.
A.,BOTINI, J.
Ed. Senac Nacional, 1999.
33
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
REVISÃO -
MATRIZES
34
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
2 3 1 2
MATRIZE A1x4
S 13 3
A4x1
1
1
a11 a12 a13 ... 3
a1n
Amxn a21 a22 a23 ...
a3n
a31 a32 a33 ...
a3n
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
2 3 1 2
MATRIZE A1x4
S 13 3
A4x1
unidimensio 1
bidimensio nal
nal 1
a11 a12 a13 ... 3
a1n
Amxn a21 a22 a23 ...
a3n
a31 a32 a33 ...
a3n
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Operação – Multiplicar por um
escalar
2 4
A4x1 3 X2= D4x1 6
1 2
13 26
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Operação – Somar duas
matrizes
2 4 6
A 3 + B 6 = S 9
1 2 3
13 26 39
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Operação: calcular média
aritmética
4 8 6
A 5 + B 7 /2= M 6
6 9 7.5
10 4 7
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Operação: somar os elementos da
matriz
4
5 Soma = 25
A
6
10
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Dimensionando
Matrizes
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Dimensionando
Matrizes
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Dimensionando
Matrizes
int
float
double
char
long long
int
...
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
1) Guardar 10 idades.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
1) Guardar 10 idades.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
1) Guardar 10 idades.
2) Duas notas e a média de 50 alunos.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
1) Guardar 10 idades.
2) Duas notas e a média de 50 alunos.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
1) Guardar 10 idades.
2) Duas notas e a média de 50 alunos.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
3) Matrícula e CR de 60 alunos.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
3) Matrícula e CR de 60 alunos.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
3) Matrícula e CR de 60 alunos.
4) Sexo de 30 pessoas.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
3) Matrícula e CR de 60 alunos.
4) Sexo de 30 pessoas.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
5) Nome de uma pessoa.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
5) Nome de uma pessoa.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
5) Nome de uma pessoa.
6) Nomes de 10 pessoas.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
5) Nome de uma pessoa.
6) Nomes de 10 pessoas.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
Vetor de tamanho 5 e do tipo inteiro de
quatro bytes
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
Vetor de tamanho 5 e do tipo inteiro de
quatro bytes
Vetor
idades
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
Vetor de tamanho 5 e do tipo inteiro de
quatro bytes
Vetor
idades
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
Por que a
primeira variável
tem
deslocamento 0?
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
O nome de uma matriz corresponde ao primeiro
endereço do conjunto de endereços da Memória
Principal. Para localizarmos um elemento da
matriz, usamos a fórmula abaixo.
endereço-base + deslocamento *
tamanho do tipo
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
10000
endereço-base
endereço-base + deslocamento *
tamanho do tipo
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
10000
endereço-base + 2 * 4 = 1008
endereço-base + deslocamento *
tamanho do tipo
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
10000 10008
endereço-base + 2 * 4 = 1008
endereço-base + deslocamento *
tamanho do tipo
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
10000 10004 10008 10012 10016
endereço-base
endereço-base + deslocamento *
tamanho do tipo
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
Conclui-se que 0 significa que não existe
deslocamento em relação ao endereço-base.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
E onde indicamos
isso?
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
Observe o vetor idades[5]. Ele é formado por cinco
variáveis todas com nome, idades. Dentro de um
par de colchetes, fica o deslocamento.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
Vetor de
char
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
Vetor de
char
nome[1] = toupper(nome[1]);
REnato
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Armazenamento na Memória
Principal
Vetor de
char
O \0 serve para finalizar o vetor de char. Dessa
forma, não se esqueça de acrescentar mais uma
posição quando dimensionar um vetor de char.
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
DECLARAÇÃO /
ATRIBUIÇÃO
Numérico ou vetor de char –
unidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
DECLARAÇÃO /
ATRIBUIÇÃO
Numérico ou vetor de char –
unidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
DECLARAÇÃO /
ATRIBUIÇÃO
Numérico ou vetor de char –
unidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
DECLARAÇÃO /
ATRIBUIÇÃO
Numérico ou vetor de char –
Bidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
DECLARAÇÃO /
ATRIBUIÇÃO
Numérico ou vetor de char –
Bidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
ATRIBUIÇÃ
O
Numérico –
Bidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
TRECHO de ENTRADA
Numérico ou char de um caracter –
unidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
TRECHO de ENTRADA
Numérico ou char de um caracter –
unidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
TRECHO de ENTRADA
Vetor de char –
unidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
TRECHO de ENTRADA
Vetor de char –
unidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
TRECHO de ENTRADA
Numérico –
bidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
TRECHO de ENTRADA
Numérico –
bidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
TRECHO de ENTRADA
char – bidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
TRECHO de ENTRADA
char – bidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
TRECHO de
SAÍDA
Numérico ou char (Matriz Coluna) –
unidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
TRECHO de
SAÍDA
Numérico ou char (Matriz Linha) –
unidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
TRECHO de
SAÍDA
Vetor de char –
unidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
TRECHO de
SAÍDA
Numérico –
bidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
TRECHO de
SAÍDA
char –
bidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Vamos ao Bate
Pronto
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
1)
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1
ESTRUTURA DE DADOS
Resumindo
APRESENTANDO AS ESTRUTURAS DE DADOS – AulA1