Está en la página 1de 8

INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA DO

PAR
PR-REITORIA DE EXTENSO
DIRETORIA DE EDUCAO ABERTA E A DISTNCIA

Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas

Estrutura de Dados

2010

SUMRIO
PLANO DE ENSINO
APRESENTAO

1 Introduo
1.1

Conceitos Bsicos ..................................................................................................10

1.2

Tipos de Dados.......................................................................................................11

1.3

Dados Numricos ...................................................................................................12

1.3.1

Dados Numricos Inteiros ...............................................................................12

1.3.2

Dados Numricos Reais...................................................................................12

1.3.3

Nmeros de ponto flutuante.............................................................................12

1.4

2.

1.4.1

Adio e subtrao ..........................................................................................14

1.4.2

Multiplicao ..................................................................................................14

1.4.3

Diviso ............................................................................................................14

1.4.4

Exponenciao ................................................................................................14

1.4.5

Operao com Strings......................................................................................15

1.4.6

Cuidados nas operaes ...................................................................................15

1.4.7

Variveis e expresses.....................................................................................16

1.5

Constantes ..............................................................................................................17

1.6

Operao de atribuio ...........................................................................................17

1.7

Expresses .............................................................................................................18

1.8

Prioridade dos Operadores Aritmticos...................................................................18

CONJUNTO MONODIMENSIONAIS - VETORES ....................................................22


2.1

3.

4.

Operaes Primitivas ..............................................................................................14

Operando Sobre Vetores .........................................................................................24

CONJUNTO BIDIMENSIONAIS - MATRIZES ..........................................................29


3.1

CRIAO DE MATRIZES ...................................................................................29

3.2

CONJUNTOS COM MAIS DE UMA DIMENSO ...............................................31

3.3

EXERCCIOS ........................................................................................................32

REGISTROS - INTRODUO ....................................................................................36


4.1

A estrutura de um registro ......................................................................................36

4.2

Criao de Registros ...............................................................................................36

4.3

Leitura de um Registro ...........................................................................................37

4.4

Escrita de um Registro ............................................................................................37

4.5

Estrutura de um Registro de Conjuntos ...................................................................38

5.

4.6

Leitura de Registro de Conjunto .............................................................................38

4.7

Escrita de um Registro de Conjuntos ......................................................................39

4.8

Estrutura de um Conjunto de Registros ...................................................................39

4.9

Leitura e Escrita de um Conjunto de Registros........................................................40

CLASSIFICAO E PESQUISA COM VETORES - INTRODUO ........................43


5.1

5.1.1

Problemas com esta abordagem .......................................................................45

5.1.2

Anlise do Desempenho ..................................................................................46

5.1.3

Exerccio .........................................................................................................46

5.2

6.

Pesquisa Bsica ......................................................................................................46

5.2.1

Pesquisa Linear ...............................................................................................46

5.2.2

PESQUISA BINRIA ....................................................................................47

5.2.3

INTERCALAO ..........................................................................................50

RECURSIVIDADE ......................................................................................................54
6.1

7.

Classificao por Seleo .......................................................................................43

Exerccios...............................................................................................................55

PONTEIROS - INTRODUO ..................................................................................59


7.1

Ponteiro ..................................................................................................................60

7.1.1

Manipulao de grandes quantidades de dados na memria .............................60

7.1.2

Tamanho do dado desconhecido ...................................................................60

7.1.3

Buffers de dados temporrios ..........................................................................61

7.1.4

Gerenciando tipos de dados diferentes .............................................................61

7.1.5

Ligas ligadas ...................................................................................................61

7.2

Declarao de Ponteiros .........................................................................................62

7.2.1

8.

7.3

Variveis Dinmicas ...............................................................................................65

7.4

Problemas comuns com ponteiros ...........................................................................68

LISTAS - INTRODUO ...........................................................................................73


8.1

9.

Exerccios .......................................................................................................64

Representao de Listas Lineares ...........................................................................73

8.1.1

Listas Lineares com Alocao Seqencial ou Contguas ..................................74

8.1.2

Listas Lineares Encadeadas ou Ligadas ...........................................................76

8.2

Criando uma lista encadeada usando arquivos ........................................................79

8.3

Exerccios...............................................................................................................80

8.4

LISTAS COM DESCRITOR ..................................................................................81

8.5

LISTAS DUPLAMENTE ENCADEADA ..............................................................84

8.6

Exerccios...............................................................................................................86

PILHAS - INTRODUO ...........................................................................................89


9.1

Pilhas Implementadas em Vetores ..........................................................................89

9.2

Pilhas Implementadas em Listas Encadeadas ..........................................................91

9.2.1
10.

Inicializao ....................................................................................................92

RVORES - INTRODUO ....................................................................................96

10.1

DEFINIES .....................................................................................................96

10.1.1

RVORE ORDENADA .................................................................................96

10.1.2

RVORE BINRIA .......................................................................................97

10.1.3

NS PAI E FILHO .........................................................................................97

10.1.4

NVEIS DE UMA RVORE ..........................................................................97

10.1.5

. ALTURA DE UMA RVORE .....................................................................98

10.1.6

IRMOS .........................................................................................................98

10.1.7

GRAU DE UM N .........................................................................................98

10.2

REPRESENTAO DE RVORES BINRIAS ...............................................98

10.3

FORMAS DE CAMINHAR EM UMA RVORE ..............................................99

10.3.1

PR-ORDEM .................................................................................................99

10.3.2

IN-ORDEM (EM ORDEM) ............................................................................99

10.3.3

PS-ORDEM ............................................................................................... 100

10.4

APLICAES EM QUE SE USAM RVORES ............................................. 100

10.5

DEFINIES DE RVORES BINRIAS ....................................................... 101

10.5.1

PERCURSO PR-ORDEM........................................................................... 101

10.5.2

PERCURSO EM-ORDEM ............................................................................ 101

10.5.3

PERCURSO PS-ORDEM........................................................................... 101

10.6

REPRESENTAO DE EXPRESSES ARITMTICAS ............................... 102

PLANO DE ENSINO
1 IDENTIFICAO GERAL
Instituio: Instituto Federal de Educao, Cincia e Tecnologia do Par
Curso: Curso Superior de Tecnologia em Anlise e Desenvolvimento de
Sistemas Modalidade EAD
Disciplina: Estrutura de Dados
Professor(a): MSc. Iranildo Ramos da Encarnao
Carga Horria: 80h (total)

2 EMENTA
Introduo; Conceitos Bsicos de Estruturas de Dados; Listas Lineares;
Pilhas; Filas; Arvores; Recursividade; Pesquisa de Dados; Ordenao;

3 OBJETIVOS
3.1 OBJETIVO GERAL
Analisar os mecanismos que possibilitam o projeto de algoritmos e a
implementao de programas de computador para solucionar problemas associados
s necessidades de informatizao.

3.2 OBJETIVOS ESPECFICOS


Rever os conceitos bsicos de programao.
Conhecer as estruturas de dados lineares e suas aplicaes.
Conhecer as estruturas de dados no lineares e suas aplicaes.
Conhecer e aplicar os mtodos de pesquisa e classificao de dados
Conhecer e implementar rvores

4 CONTEDO PROGRAMTICO
Tipos de Dados
Conceitos Bsicos.
Tipos de dados .
Operaes primitivas
Constantes
Operao de atribuio
Expresses
- Prioridade dos operadores aritmticos

Conjunto Monodimensionais - Vetores


Operando sobre vetores.
Conjunto Bidimensionais - Matrizes
Criao de Matrizes
Conjunto de mais de uma dimenso.
Registros
Estrutura
Criao
Leitura
Classificao e Pesquisa com vetores
Classificao por seleo
Pesquisa Bsica
Recursividade
Definies e uso.
Ponteiros
Manipulao de grandes quantidades de dados.
Declarao de ponteiros
Variveis dinmincas
- Problemas com ponteiros.
Listas
Representao de listas lineares.
Criando uma lista linear
Lista com descritor
- Listas duplamente encadeadas
.
Pilhas
Pilhas implementadas em vetores
Pilhas implementadas em listas encadeadas

rvores
Definies
Representao de rvores binrias.
Aplicaes em que se usam rvores
Definies de rvores binrias
Representao de Expresses Aritmticas

5 PROCEDIMENTOS DE AVALIAO
A avaliao ser realizada de acordo com as normas da instituio, sendo
realizada uma prova e implementao de algoritmos.

6 REFERNCIAS
Borland Turbo Pascal 7.0 Users Guide. Borland International,Inc. Scotts Valey, CA.USA.
1993
Estruturas de Dados com Pascal.Instituto Brasileiro de Pesquisa em InformticaIBPI.Rio de janeiro.1993
LAFORE, Robert. Aprenda em 24 Horas Estrutura de Dados e Algoritmos - CDROM, Campus.
SALVETTI, D. D., BARBOSA, L. M., Algoritmos, So Paulo, Makron Books, 1998
VILLAS, Marcos Vianna. FERREIRA ,Andra Gomes de Matos et al.Estrutura de
Dados Conceitos e Tcnicas de Programao. Rio de Janeiro. ed.Campus. 5ed.
1993
VELOSO,Paulo[et al]. Estrutura de Dados. Rio de janeiro.ed.Campus. 1986
ZIVIANI, Nvio,. Projeto de Algoritmos com implementaes em Pascal e C, 5ed,
Pioneira, 2002

APRESENTAO
As estruturas de dados esto presentes em todas as linguagens de
programao. Esta disciplina, atravs do uso de pseudocdigos, mostra as
principais estruturas de dados disponveis na maioria das linguagens de
programao.
O uso de pseudocdigo para facilitar o entendimento das estruturas, uma
vez que no ficam atreladas a uma linguagem de programao especfica, pois
linguagens de programao vo e vem. O programador no deve se apegar a uma
linguagem de programao especfica e sim ser conhecedor de algoritmos.
Neste caderno so mostrados diversos exemplos para a implementao.
importante que eles sejam resolvidos, ou seja, escritos em uma linguagem de
programao. Interessante se o leitor puder implementar em diversas linguagens de
programao. No necessrio ser conhecer a fundo de vrias linguagens para
implementar os exemplos, basta conhecer o bsico. H diversos compiladores e
interpretadores disponveis na Internet em que o leitor pode usar de forma gratuita
para tais testes.