Disciplina: Estrutura de dados e Algoritmos Docentes: MSc. Manuel Zunguze.

Slides:



Advertisements
Apresentações semelhantes
Introdução a Algoritmos
Advertisements

Analise de Algoritmos e Notação Assintótica
Complexidade de Algoritmos
Marco Antonio Montebello Júnior
Exercício Exercício. Considere um algoritmo sequencial que busca um elemento em uma lista não ordenada a) Qual é a complexidade de tempo deste algoritmo.
Definição de Parâmetros de Power System Stabilizers para Melhoria do Comportamento Dinâmico de Redes Ângelo Mendonça Orientador: Prof. João A. Peças Lopes.
Engenharia de Computação.
Introdução à Linguagem Prolog
Algoritmos e Estruturas de Dados
Medida do Tempo de Execução de um Programa
Pesquisa em Memória Primária
Medida do Tempo de Execução de um Programa
Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP.
Medida do Tempo de Execução de um Programa
Pesquisa em Memória Primária
Lógica de Programação Módulo II
NÃO DETERMINISMO Marcus Eduardo Cabral Seabra
INTRODUÇÃO À PROGRAMAÇÃO
THOBER CORADI DETOFENO, MSC. Aula 07
Complexidade de Computação Para avaliar a qualidade de um algoritmo usamos como critério o espaço e o tempo de execução. Ao.
Complexidade de Algoritmos
Noções de Estrutura de Dados Logica de Programação
INTRODUÇÃO À PROGRAMAÇÃO
PRC Bruno Correa.
Introdução a Programação
Aula 11 Fábio Nakano.
Listas e algoritmos (em Scratch)
O Portal do Estudante de Computação
Informática Teórica Engenharia da Computação
Aula 03 – BCC202 Análise de Algoritmos (Parte 1) Túlio Toffolo www
Ordenação por inserção
Desenvolvimento de Jogos e Entretenimento Digital
Aulas 9,10 Fábio Nakano.
Universidade Católica de Pelotas Mestrado em Ciência da Computação
Fábio de Oliveira Borges
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
Introdução e Busca Cega
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Faculdade de Informática e Tecnologia de Pernambuco ESTRUTURA DE DADOS
Aula 3 Vetores e Listas. Arrays (vetores) Array – sequência de elementos do mesmo tipo. Tamanho do Array – seu número de elementos (número fixo) Consequência:
Introdução a Programação Algoritmos
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Sistemas Operacionais
Princípios da Programação em Prolog
DCC 001 Programação de Computadores
Aula01 – Técnicas de Programação II
LOGICA DE PROGRAMAÇÃO ALUNO: OSIRES ALVES DE OLIVEIRA JUNIOR PABLO SANDREY RESENDE DE SOUSA RIBEIRO SAULO PEREIRA DA SILVA.
Complexidade em Tempo de um Algoritmo
1 Introdução aos Agentes Inteligentes Inventando Funções Heurísticas Flávia Barros.
Como analisar um algoritmo
Resolução de Problemas de Busca
Trabalho Prático 1 Estudo de Algoritmos de Busca de Soluções em Prolog
Fundamentos de linguagens de programação
Complexidade de Computação Katia Guimarães. Avaliando a Qualidade de um Algoritmo É preciso ter bem definido –O que é dado de entrada e –O que é esperado.
Programação de Computadores - 1
Analise de Algoritmos e Notação Assintótica
Algoritmos e Programação MC102
Linguagem Técnica de Programação
Algoritmos e Programação I
INE5408 Estruturas de Dados Apresentação e Programa da Disciplina.
Estruturas de Dados Murilo Salgado Razoli.
Algoritmo e Estrutura de Dados I Introdução ao conceito de algoritmo Márcia Marra
Berilhes Borges Garcia Algoritmos Uma ferramenta para resolver um problema de computação bem- especificado (O espírito da computação) Exemplo: ordenação.
INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC.
Ordenação Professor Paulo Gomide 27 de outubro de 2015.
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
Curso Programadores de Informática
Comportamento Assintótico
Transcrição da apresentação:

Disciplina: Estrutura de dados e Algoritmos Docentes: MSc. Manuel Zunguze

Um programa pode ser visto como a especificação formal da solução de um problema. N.Wirth expressa em sua equação Programa programa = algoritmo + estruturas de dados onde: o algoritmo contém a lógica do programa e os dados são organizados em estruturas de dados. 1. Introdução à análise de algoritmos

Estruturas de Dados A qualidade da solução de um problema depende, entre outros fatores, da forma como estão organizados os dados relevantes. Ex: Encontrar o número do telefone de um amigo na lista de contatos do telemóvel; Representação interna de uma string: 4GATO GATO\0 Toda uma classe de modelos desenvolveu- se, ao longo do tempo, com o objetivo de viabilizar o processamento de dados.

Estruturas de dados são formas genéricas de se estruturar informação de modo a serem registradas e processadas pelo computador. Definição Ex.: lista ordenada; vetores; árvores; grafos, etc. Contudo estas só adquirem significado quando associadas a um conjunto de operações, que visam, de um modo geral, manipulá-las (algoritmos).

Algoritmo 1. Conjunto claramente especificado de instruções a seguir para resolver um problema. 2. Sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador). Análise de algoritmos: – provar que um algoritmo está correcto – determinar recursos exigidos por um algoritmo (tempo, espaço, etc.)

Comparar os recursos exigidos por diferentes algoritmos que resolvem o mesmo problema (um algoritmo mais eficiente exige menos recursos para resolver o mesmo problema) Prever o crescimento dos recursos exigidos por um algoritmo à medida que o tamanho dos dados de entrada cresce  dados reais: verdadeira medida do custo de execução  dados aleatórios: assegura-nos que as experiências testam o algoritmo e não apenas os dados específicos Que dados usar ?

Caso médio dados perversos: mostram que o algoritmo funciona com qualquer tipo de dados Pior caso! dados benéficos: Melhor caso