adii aula1

24
Algoritmos e Estruturas de Dados II 2014/2 Prof. Rodrigo Pinto de Carvalho [email protected] profrodrigocarvalho.blogspot.com

Upload: rodrigopinto77

Post on 14-Jul-2015

707 views

Category:

Education


1 download

TRANSCRIPT

Algoritmos e Estruturas de Dados II

2014/2

Prof. Rodrigo Pinto de Carvalho

[email protected]

profrodrigocarvalho.blogspot.com

Apresentação Disciplina

EMENTA: Representação, manipulação e

aplicações de: matrizes, listas, pilhas, filas,

árvores, grafos, tabelas.

Bibliografia básica:GOODRICH, Michael T. Estruturas de Dados e Algoritmos em Java.

Bookman (4ª ed. Ano 2007).

SILVA, OSMAR QUIRINO DA. ESTRUTURA DE DADOS E

ALGORITMOS USANDO C : FUNDAMENTOS E APLICAÇOES. 1ª Ed, ,

2007. Ciência Moderna.

TANENBAUM, Aaron M.; LANGSAM, Yedidyah; AUGENSTEIN, Moshe J.

Estruturas de Dados Usando C . MAKRON BOOKS (Ano 2008)

Programa Geral

• Dias de aula: Segundas-feiras

• Horário: 18 e 45 às 22:00

• Intervalo: 20:15 às 20:30

• Avaliações:

– 23/08 – Parcial G1

– 29/09 – G1

– 27/10 – Parcial G2

– 01/12 – G2

Algoritmos

• Resolução de problemas

Resolução de Problemas

• Tecnologias digitais são apoiadas na

teoria da resolução de problemas:

– Objetivo, regras, situação inicial

Tipos de Dados/Estruturas

• Tipos primitivos de dados

– Inteiro

– Real

– Caracter

– Lógico

• Estruturas básicas de controle

– Seleção

– Repetição

Estruturas de Controle

• Seleção

– Se, senão, senão se

• Repetição

– Enquanto

– Para

– Repita Até

Exemplos

•Média

•Média 2

•Repetição

•Repetição2

•Somatório

•Triângulo

Linguagem de Programação

• Meio de representação de algoritmos para

a execução por um computador

• C

• JAVA

Exercícios de Revisão

• Utilizando as 3 estruturas de repetição:

– Algoritmo para apresentar na tela a contagem

de 1 até 10

– Algoritmo para apresentar na tela a contagem

de 10 até 1

– Algoritmo para apresentar qual o maior entre

dois números. Se igual também informar.

Estruturas de Dados

• Tipo estruturado de dados: Combinação

entre os tipos primitivos

• Organização dos dados – estático e

dinâmico/linear não linear

• Estruturação da resolução de problemas

Vetor e Matriz

• Vetor – Array

– Estrutura indexada simples, unidimensional,

com dados do mesmo tipo

• Matriz – arranjo

– Estrutura n vezes indexada, n dimensões,

com dados do mesmo tipo

Vetor e Matriz

Pilha

• STACK - Uma pilha é uma estrutura de

dados que admite inserção e remoção

• Regra de operação: sempre que houver

uma remoção, o elemento removido é o

que está na estrutura há menos tempo.

• O primeiro objeto a ser inserido na pilha é

o último a ser removido. Essa política é

conhecida pela sigla LIFO (= Last-In-First-

Out).

Pilha exemplo

Fila• As filas determinam a ordem de elementos na

estrutura.

• Nas Filas, os elementos são adicionados na última posição e removidos da primeira posição. FIFO

Fila

Lista

• Estrutura que permite inserção e remoção

de elementos em qualquer posição

• Encadeada simples: ponteiro para o

próximo elemento

• Duplamente encadeada: ponteiro para o

elemento anterior e também para o

próximo elemento

Estrutura Lista

Árvore

• Estrutura de dados não linear, permitindo

eficiente organização para inserção,

remoção e rápida recuperação de

informação – busca

• Árvore binária:

– Raiz

– Pai

– Filho/folha

Grafo

• Estrutura não linear

• Amplia o conceito da árvore, oferecendo

um conjunto de operações e organização

mais eficiente com um número maior de

dados. Esquematização

• Vértices e arestas – Teoria dos Grafos

Grafos

Tabelas

• A busca por uma chave ocorre sempre

através de comparações.

• Busca em tabelas por cálculo da posição

que uma chave ocupa na tabela através

de uma função hash – índice valores

inteiros

• tabela manipulada dessa forma é uma

tabela hash.

Tabelas