Sunteți pe pagina 1din 93

ESTRUTURA DE DADOS

Aula 1- Apresentando as Estruturas de Dados


APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Ateno aos Temas Principais dessa Aula
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Contedo Programtico desta aula
O conceito de Estruturas de Dados;
O conceito de TAD;
Apresentar o conceito de funes;
Apresentar o conceito de struct;
Apresentar os conceitos de ordenao e pesquisa;
Apresentar o conceito de Lista, Pilha e Fila Esttica;
Apresentar o conceito de Ponteiro;
Apresentar o conceito de Alocao Dinmica;
Reviso de Matrizes
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Direto ao Assunto
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Estruturas de Dados so construes de uma linguagem de
programao que agregam um ou mais elementos de dados
para formar um tipo de dado que armazena uma quantidade
maior de informaes.(OLIVEIRA, R., TAVEIRA, G., BOTTINI,
J., 2003, p.11)
Conceito de Estrutura de Dados
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
O campo da Estruturas de Dados concebido para construir
ferramentas para serem incorporadas e usadas pelos
programas de aplicao e para encontrar Estruturas de Dados
que possam realizar certas operaes rapidamente sem impor
muita carga memria do computador.(DROZDEK, A, 2002,
P.31)
Estruturas de Dados so construes de uma linguagem de
programao que agregam um ou mais elementos de dados
para formar um tipo de dado que armazena uma quantidade
maior de informaes.(OLIVEIRA, R., TAVEIRA, G., BOTTINI,
J., 2003, p.11)
Conceito de Estrutura de Dados
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Armazenamento
da Informao
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Armazenamento
da Informao
Construo de
Algoritmos
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Armazenamento
da Informao
Construo de
Algoritmos
Caractersticas
das ED
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Armazenamento
da Informao
Construo de
Algoritmos
Caractersticas
das ED
C
O
N
H
E
C
I
M
E
N
T
O
S

S

L
I
D
O
S
O

(PREISS, B. R., 2000,
p.1)
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Um tipo de dado abstrato pode ser definido como um
conjunto de valores e uma coleo de operaes que
atuam sobre esses valores.
As operaes devem ser consistentes com os tipos de
valores.
(MORAES, C.R., 2001, p.5)
Tipo de Dados Abstratos(TDA)
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
FAZER
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
FAZER
Exemplos
1 Gravar um vetor em um arquivo binrio
2 Usar o TDA int
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
FAZER
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
FAZER
Exemplo
Como se processa o comando de atribuio?
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
muito extenso, mas apaixonante.
Procurei desmistificar, abusando de figuras, cores e
exemplos clssicos bem escolhidos.
Sei que um grande desafio, mas ns, professores,
estaremos com vocs o tempo todo para que, ao final do
curso, possamos dizer: conseguimos.
Contedo da Disciplina
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
void asterisco()
{
int x;
for(x=1: x<=50; x++)
cout<<*;
}
2
a
AULA - FUNES
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
3
a
AULA - STRUCT
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
3
a
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
4
a
AULA - ORDENAO / PESQUISA
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
5
a
AULA - LISTAS LINEARES
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
6
a
AULA PILHA(LIFO)
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
7
a
AULA FILA(FIFO)
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
8
a
AULA ALOCAO DINMICA
LISTA ENCADEADA
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
8
a
AULA ALOCAO DINMICA
LISTA ENCADEADA
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
9
a
AULA LISTAS LINEARES
PILHA DINMICA
FILA DINMICA
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
10
a
AULA LISTAS DUPLAMENTE ENCADEADAS
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
No acumule aulas porque elas esto muito extensas .
Lembre-se de que Algoritmos e Estruturas de Dados
formam uma parceria perfeita, contribuindo para seu
aperfeioamento como desenvolvedor.
Reveja todos os conceitos da aula.
Aprimore seus conhecimentos pesquisando no material
didtico e na bibliografia recomendada (procure na
Biblioteca Virtual/ SIA ou na Biblioteca do campus).
METODOLOGIA DE ESTUDO
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Assista aos filmes, se estiverem disponveis na aula, ou
ento, pesquise na Internet.
Esteja sempre em contato com seu professor on-line.
Assista a esta aula quantas vezes for necessrio.

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
SER?
Que tal pesquisar o que significa
E, o mais importante: ns, professores de Estrutura de
Dados, vamos fazer de tudo para que isso se torne real
porque j abstramos muito nesta primeira aula.
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
33
DROZDEK, A. Estruturas de Dados e Algoritmos em C++. So Paulo:
Pioneira Thomson, 2002.
MORAES, C. R. Estruturas de Dados e Algoritmos. So Paulo: Berkley
Brasil, 2001.
PREISS, B. R. Estruturas de Dados e Algoritmos. Rio de Janeiro: Campus,
2000.
SENAC.DN. Estruturas de Dados. OLIVEIRA, R.S., TAVEIRA, G. A.,BOTINI, J.
Ed. Senac Nacional, 1999.
Referncias Bibliogrficas
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
34
REVISO - MATRIZES
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
MATRIZES
2
3
1
13
A
4x1

2 3 1 13 A
1x4

a
11
a
12
a
13
... a
1n
a
21
a
22
a
23
... a
3n
a
31
a
32
a
33
... a
3n
... ... ... ... ...
a
m1
a
m1
a
m2
... a
mn
A
mxn

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
unidimensional
bidimensional
MATRIZES
2
3
1
13
A
4x1

2 3 1 13 A
1x4

a
11
a
12
a
13
... a
1n
a
21
a
22
a
23
... a
3n
a
31
a
32
a
33
... a
3n
... ... ... ... ...
a
m1
a
m1
a
m2
... a
mn
A
mxn

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Operao Multiplicar por um escalar
4
6
2
26
D
4x1

2
3
1
13
A
4x1

X 2 =
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Operao Somar duas matrizes
2
3
1
13
A
6
9
3
39
S
+ =
4
6
2
26
B
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Operao: calcular mdia aritmtica
4
5
6
10
A
6
6
7.5
7
M
+ / 2 =
8
7
9
4
B
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Operao: somar os elementos da matriz
4
5
6
10
A
Soma = 25
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
2) Duas notas e a mdia de 50 alunos.
1) Guardar 10 idades.
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
2) Duas notas e a mdia de 50 alunos.
1) Guardar 10 idades.
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
2) Duas notas e a mdia de 50 alunos.
1) Guardar 10 idades.
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
3) Matrcula e CR de 60 alunos.
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
3) Matrcula e CR de 60 alunos.
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
4) Sexo de 30 pessoas.
3) Matrcula e CR de 60 alunos.
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
4) Sexo de 30 pessoas.
3) Matrcula e CR de 60 alunos.
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
Vetor de tamanho 5 e do tipo inteiro de quatro bytes
Armazenamento na Memria Principal
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Vetor idades
Vetor de tamanho 5 e do tipo inteiro de quatro bytes
Armazenamento na Memria Principal
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Vetor idades
Vetor de tamanho 5 e do tipo inteiro de quatro bytes
Armazenamento na Memria Principal
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Por que a primeira
varivel tem
deslocamento 0?
Armazenamento na Memria Principal
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
endereo-base + deslocamento * tamanho do tipo
O nome de uma matriz corresponde ao primeiro endereo
do conjunto de endereos da Memria Principal. Para
localizarmos um elemento da matriz, usamos a frmula
abaixo.

Armazenamento na Memria Principal
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
10000
endereo-base + deslocamento * tamanho do tipo
endereo-base
Armazenamento na Memria Principal
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
10000
endereo-base + deslocamento * tamanho do tipo
Armazenamento na Memria Principal
endereo-base + 2 * 4 = 1008
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
10000
endereo-base + deslocamento * tamanho do tipo
Armazenamento na Memria Principal
endereo-base + 2 * 4 = 1008
10008
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
10000
endereo-base + deslocamento * tamanho do tipo
Armazenamento na Memria Principal
endereo-base
10012 10016 10004 10008
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Armazenamento na Memria Principal
Conclui-se que 0 significa que no existe deslocamento
em relao ao endereo-base.
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
E onde indicamos isso?
Armazenamento na Memria Principal
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Observe o vetor idades[5]. Ele formado por cinco variveis
todas com nome, idades. Dentro de um par de colchetes, fica
o deslocamento.

Armazenamento na Memria Principal
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Vetor de char
Armazenamento na Memria Principal
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Vetor de char
Armazenamento na Memria Principal
nome[1] = toupper(nome[1]); REnato
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
O \0 serve para finalizar o vetor de char. Dessa forma, no se
esquea de acrescentar mais uma posio quando
dimensionar um vetor de char.

Vetor de char
Armazenamento na Memria Principal
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Numrico ou vetor de char unidimensional
DECLARAO / ATRIBUIO
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Numrico ou vetor de char unidimensional
DECLARAO / ATRIBUIO
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Numrico ou vetor de char unidimensional
DECLARAO / ATRIBUIO
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Numrico ou vetor de char Bidimensional
DECLARAO / ATRIBUIO
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Numrico ou vetor de char Bidimensional
DECLARAO / ATRIBUIO
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
ATRIBUIO
Numrico Bidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
Numrico ou char de um caracter unidimensional
TRECHO de ENTRADA
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
TRECHO de ENTRADA
Numrico 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
Numrico bidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
TRECHO de ENTRADA
Numrico 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 SADA
Numrico ou char (Matriz Coluna) unidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
TRECHO de SADA
Numrico ou char (Matriz Linha) unidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
TRECHO de SADA
Vetor de char unidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
TRECHO de SADA
Numrico bidimensional
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1
ESTRUTURA DE DADOS
TRECHO de SADA
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

S-ar putea să vă placă și