Você está na página 1de 93

ESTRUTURA DE DADOS

Aula 1- Apresentando as Estruturas de Dados

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

Conceito de 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)

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Conceito de 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)
O campo da Estruturas de Dados concebido para construir
ferramentas

para

serem

incorporadas

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)
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

L
I
D
O
S
O

C
O
N
H
E
C
I
M
E
N
T
O
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 coleo de operaes que
atuam sobre esses valores.
As operaes devem ser consistentes com os tipos de
valores.
(MORAES, C.R., 2001, p.5)

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

UE

ESTRUTURA DE DADOS

FAZER

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

UE

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
C
DE
OM
O
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Exemplo
Como se processa o comando de atribuio?

FAZER
C
DE
OM
O
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Contedo da Disciplina
muito extenso, mas apaixonante.
Procurei

desmistificar, abusando

de

figuras,

cores

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.

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

2a AULA - FUNES

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 - ORDENAO / 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 ALOCAO DINMICA


LISTA ENCADEADA

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

8a AULA ALOCAO DINMICA


LISTA ENCADEADA

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

9a AULA LISTAS LINEARES

PILHA DINMICA
FILA DINMICA

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
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).
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

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.

SER?
Que tal pesquisar o que significa

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Referncias Bibliogrficas
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.
33
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

REVISO - MATRIZES

34
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

MATRIZES

A1x4

13
A4x1

3
1

Amxn

a11

a12 a13 ... a1n

a21

a22 a23 ... a3n

a31

a32 a33 ... a3n

...

...

13

... ... ...

am1 am1 am2 ... amn


APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

MATRIZES

A1x4

13
A4x1

unidimensional
bidimensional

Amxn

a11

a12 a13 ... a1n

a21

a22 a23 ... a3n

a31

a32 a33 ... a3n

...

...

3
1
13

... ... ...

am1 am1 am2 ... amn


APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Operao Multiplicar por um escalar

2
A4x1

X2=

D4x1

13

26

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Operao Somar duas matrizes

2
A

4
+

13

26

39

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Operao: calcular mdia aritmtica

4
A

8
+

6
/2= M

7.5

10

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Operao: somar os elementos da matriz

4
A

Soma = 25

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 mdia de 50 alunos.

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

1) Guardar 10 idades.

2) Duas notas e a mdia de 50 alunos.

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

1) Guardar 10 idades.

2) Duas notas e a mdia de 50 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

3) Matrcula e CR de 60 alunos.

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

3) Matrcula e CR de 60 alunos.

4) Sexo de 30 pessoas.

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

3) Matrcula 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 Memria Principal


Vetor de tamanho 5 e do tipo inteiro de quatro bytes

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Armazenamento na Memria 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 Memria 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 Memria Principal

Por que a primeira


varivel tem
deslocamento 0?

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Armazenamento na Memria Principal

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.
endereo-base + deslocamento * tamanho do tipo

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Armazenamento na Memria Principal

10000

endereo-base
endereo-base + deslocamento * tamanho do tipo
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Armazenamento na Memria Principal

10000

endereo-base + 2 * 4 = 1008
endereo-base + deslocamento * tamanho do tipo
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Armazenamento na Memria Principal

10000

10008

endereo-base + 2 * 4 = 1008
endereo-base + deslocamento * tamanho do tipo
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Armazenamento na Memria Principal

10000

10004

10008

10012

10016

endereo-base
endereo-base + deslocamento * tamanho do tipo
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

Armazenamento na Memria Principal

E onde indicamos isso?

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Armazenamento na Memria Principal

Observe o vetor idades[5]. Ele formado por cinco variveis


todas com nome, idades. Dentro de um par de colchetes, fica
o deslocamento.

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Armazenamento na Memria Principal


Vetor de char

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Armazenamento na Memria Principal


Vetor de char

nome[1] = toupper(nome[1]);

REnato

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

Armazenamento na Memria Principal


Vetor de char

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.
APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

DECLARAO / ATRIBUIO
Numrico ou vetor de char unidimensional

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

DECLARAO / ATRIBUIO
Numrico ou vetor de char unidimensional

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

DECLARAO / ATRIBUIO
Numrico ou vetor de char unidimensional

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

DECLARAO / ATRIBUIO
Numrico ou vetor de char Bidimensional

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

DECLARAO / ATRIBUIO
Numrico ou vetor de char Bidimensional

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1

ESTRUTURA DE DADOS

ATRIBUIO

Numrico Bidimensional

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
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

APRESENTANDO AS ESTRUTURAS DE DADOS AulA1