Algoritmos e Estruturas de Dados II
2014/2
Prof. Rodrigo Pinto de Carvalho
rpinto.carvalho@gmail.com
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

Adii aula1

  • 1.
    Algoritmos e Estruturasde Dados II 2014/2 Prof. Rodrigo Pinto de Carvalho rpinto.carvalho@gmail.com profrodrigocarvalho.blogspot.com
  • 2.
    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)
  • 3.
    Programa Geral • Diasde 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
  • 4.
  • 5.
    Resolução de Problemas •Tecnologias digitais são apoiadas na teoria da resolução de problemas: – Objetivo, regras, situação inicial
  • 6.
    Tipos de Dados/Estruturas •Tipos primitivos de dados – Inteiro – Real – Caracter – Lógico • Estruturas básicas de controle – Seleção – Repetição
  • 7.
    Estruturas de Controle •Seleção – Se, senão, senão se • Repetição – Enquanto – Para – Repita Até
  • 8.
  • 9.
    Linguagem de Programação •Meio de representação de algoritmos para a execução por um computador • C • JAVA
  • 10.
    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.
  • 11.
    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
  • 12.
    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
  • 13.
  • 14.
    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).
  • 15.
  • 16.
    Fila • As filasdeterminam a ordem de elementos na estrutura. • Nas Filas, os elementos são adicionados na última posição e removidos da primeira posição. FIFO
  • 17.
  • 18.
    Lista • Estrutura quepermite 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
  • 19.
  • 20.
    Árvore • Estrutura dedados 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
  • 21.
    Grafo • Estrutura nãolinear • 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
  • 22.
  • 23.
    Tabelas • A buscapor 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.
  • 24.