streams

14884 palavras 60 páginas
Estruturas de Dados e Algoritmos

2001, Claudio Esperança

1

Introdução
 O que é um algoritmo?
• Processo sistemático para computar um resultado a partir de dados de entrada
 O que são estruturas de dados?
• Maneira de organizar dados e operar sobre eles
 Algoritmos + estruturas de dados = programas
• Um programa é a expressão em linguagem formal
(inteligível por um computador) de um algoritmo.

2

Projeto de Algoritmos
 Entender a entrada
 Entender o que se espera na saída
 Repetir:
• Bolar um método,
• Se o método é correto, então
– Analisar a complexidade do método,
– Se complexidade é aceitável, terminar.
 Implementar (programar)

3

Projeto de Estruturas de Dados




Uma modelagem abstrata dos objetos a serem manipulados e das operações sobre eles
• Tipo de Dados Abstrato (“Abstract Data Type”)
• Ex.: Uma “pilha”, com operações “push”, “pop” etc.
Uma modelagem concreta do TDA, isto é, como armazenar o TDA em memória/disco e que algoritmos devem ser usados para implementar as operações
• Ex.: Pilha armazenada como lista encadeada ou vetor ...

4

Projeto versus Implementação
 Um bom projeto leva a uma boa implementação
• Todas as idéias principais já foram estudadas
• A tradução do projeto em programa é quase mecânica
 (ou não)
• Programar é uma arte
• Um algoritmo inferior bem programado pode ser mais útil que um algoritmo eficiente mal programado
• Há considerações práticas quase tão importantes quanto um bom projeto, como por exemplo,
– Interfaces
– Manutenibilidade
– Documentação
5

Algoritmos e Complexidade
 Eficiência de um algoritmo
• Complexidade de tempo: quanto “tempo” é necessário para computar o resultado para uma instância do problema de tamanho n
– Pior caso: Considera-se a instância que faz o algoritmo funcionar mais lentamente
– Caso médio: Considera-se todas as possíveis instâncias e mede-se o tempo médio
 Eficiência de uma estrutura de dados

Relacionados

  • Stream
    456 palavras | 2 páginas
  • Método stream
    8540 palavras | 35 páginas
  • Streams de java
    2360 palavras | 10 páginas
  • Value Stream Mapping
    557 palavras | 3 páginas
  • Value stream map
    377 palavras | 2 páginas
  • Value Stream Manager
    1628 palavras | 7 páginas
  • Aplicativos de tv por stream
    1784 palavras | 8 páginas
  • VSM Value Stream Mapping
    741 palavras | 3 páginas
  • Application Octet Stream 1
    289 palavras | 2 páginas
  • Uma ferramenta de monitoramento de redes usando sistemas gerenciadores de streams de dados
    5604 palavras | 23 páginas