Tópicos Avançados em Algoritmos
|
|
|
- Thomaz Araújo Correia
- 9 Há anos
- Visualizações:
Transcrição
1 Tópicos Avançados em Algoritmos Armando Matos 2008 Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto
2 2 Tópicos Avançados de Algoritmos Armando B. Matos DCC-FC-UP 2009
3 Conteúdo 0 Introdução 9 1 Preliminares: fundamentos da análise de algoritmos Eficiência dos algoritmos Eficiência dos algoritmos: duas análises Recursos e modelos de computação Pior caso e caso médio Recorrências, pior caso e caso médio, um exemplo Ordens de grandeza Majoração, minoração e ordem exacta Tempo de execução em algoritmos de ordenação e pesquisa Solução de recorrências Exemplos de funções definidas através de recorrências definições indutivas O que é uma recorrência Método Tabelar suspeitar demonstrar Método das diferenças finitas constantes Método da mudança de variável Método da equação característica homogénea Equação característica homogénea raízes distintas Equação característica homogénea, caso geral: existência de raízes múltiplas Método da equação característica não homogénea Um exemplo de análise: tempo médio do quicksort Tempo de execução dos algoritmos complementos Tempo de execução Sobre os modelos de computação
4 4 CONTEÚDO O modelo externo dos dados Monotonia de t(n) Análise amortizada de algoritmos Stack com gestão de memória A função potencial Outro exemplo, um contador binário Contador binário com custo exponencial na ordem do bit Sobre o esquema Dividir para Conquistar Uma recorrência associada ao esquema dividir para conquistar Multiplicar mais rapidamente Multiplicação de inteiros Multiplicação de matrizes Algoritmos aleatorizados e classes de complexidade Um problema de coloração O produto de duas matrizes iguala uma terceira? O quick sort Esquema básico do quick sort Análise no pior caso do quick sort clássico Análise do tempo médio do quick sort clássico O quick sort aleatorizado Técnica de redução da probabilidade de erro Outro algoritmo aleatorizado: o algoritmo de Rabin-Miller Ineficiência dos algoritmos elementares de primalidade Existem algoritmos polinomiais para a primalidade Testemunhos rarefeitos da não primalidade Testemunhos frequentes da não primalidade Computação aleatorizada: classes de complexidade Panorama geral das classes de complexidade Classes de complexidade aleatorizadas Sobre a ordenação e a selecção Quando o universo é pequeno: indexação nos valores Vector sem elementos repetidos
5 CONTEÚDO Comentário: uma representação de conjuntos Vector com elementos repetidos Notas sobre as tentativas de generalização do universo Ordenação de reais no intervalo [0, 1) Métodos de ordenação baseados na representação dos valores Radix sort : começando pelo símbolo mais significativo Radix sort : começando pelo símbolo menos significativo Mediana; selecção Mediana em tempo médio O(n) Mediana em tempo O(n) (pior caso) Circuitos e redes de ordenação Circuitos Classes de complexidade associadas ao modelo dos circuitos Redes de comparação e redes de ordenação Introdução e conceitos fundamentais Princípio 0/ Ordenadores bitónicos Rede de ordenação baseada no merge sort Sumário, complexidade e minorantes Hash universal e perfeito Considerações gerais sobre os métodos de hash Universos grandes, funções de hash Variantes do método de hash Hash universal: aleatorização do hash O método matricial de construção Hash perfeito Construção com espaço O(n 2 ) Construção com espaço O(n) Contar o número de elementos distintos Programação Dinâmica: complementos Introdução Alguns exemplos
6 6 CONTEÚDO Parentização óptima de um produto matricial Máxima sub-sequência comum Problema da mochila ( knapsack problem ) Comentário final Sobre o algoritmo FFT Transformações de representação, generalidades Polinómios em corpos. Representações Cálculo de um polinómio num ponto Dois modos de representar um polinómio Multiplicação de 2 polinómios Corpos Raízes primitivas da unidade A DFT: dos coeficientes para os valores O que é a transformada discreta de Fourier, DFT? A inversa da transformada discreta de Fourier O algoritmo FFT Análise da eficiência do algoritmo FFT Aplicações Multiplicação eficiente de matrizes Transformadas tempo frequência Notas sobre minorantes de complexidade Exemplos introdutórios Um problema simples O problema das 12 bolas Entropia, informação e minorantes de complexidade Introdução Informação e os problemas de pesagens Minorantes de algoritmos de ordenação Algoritmos de ordenação em que o custo é o número de trocas Minorantes de algoritmos de determinação do maior elemento Determinação do segundo maior elemento Minorantes do problema de Merge Conectividade de grafos
7 CONTEÚDO 7 11 Apêndices Apêndice: Alguns resultados úteis Apêndice: Implementações do quick sort em Haskell, Prolog e Python Apêndice: Algoritmo eficiente de potenciação modular Apêndice: Algoritmo de Rabin-Miller (teste de primalidade) Apêndice: Algoritmo do radix sort em python
8 8 CONTEÚDO Tópicos Avançados de Algoritmos Armando B. Matos DCC-FC-UP 2009
9 Capítulo 0 Introdução Nesta publicação reunimos um conjunto de notas informais das aulas teóricas da disciplina de Tópicos Avançados em Algoritmos 1. Incluimos também diversos exercícios propostos nas aulas teóricas. Uma grande parte da Ciência de Computadores consiste no estudo dos algoritmos projecto ( design ), prova da correcção, análise da eficiência e implementação 2. Há muitos, muitos, algoritmos nas mais diversas áreas: algoritmos de ordenação e pesquisa, algoritmos para procura de padrões em textos ( pattern matching ) algoritmos de compressão de ficheiros, algoritmos numéricos, algoritmos geométricos, algoritmos para análise léxica ou sintática, algoritmos para garbage collection, algoritmos para problemas relacionados com grafos, algoritmos usados na Teoria dos Grupos... a lista quase não tem fim. Contudo, vale a pena estudarmos algoritmos específicos: quando se compreende bem ou se inventa um algoritmo concreto está-se muitas vezes a utilizar uma ideia ou um conjunto de ideias que são aplicáveis com muito mais generalidade. Nesta publicação estudaremos os seguintes temas relacionados com algoritmos: Algumas técnicas de análise da eficiência de algoritmos. Algoritmos específicos. Algumas técnicas genéricas aplicáveis em muitos problemas: dividir para conquistar e Programação Dinâmica. Minorantes de complexidade. 1 Anos de 2008 e 2009, Departamento de Ciência de Computadores, Faculdade de Ciências da Universidade do Porto. 2 O projecto, a prova da correcção e a análise da eficiência estão intimamente relacionados; devem efectuar-se em paralelo.
10 10 CAPÍTULO 0. INTRODUÇÃO Este livro está organizado daseguinte forma. No próximo capítulo apresentam-se alguns elementos de análise de algoritmos, sendo especialmente estudadas as ordens de grandeza das funções e alguns métodos de solução de recorrências. O Capítulo 2 trata dos modelos de computação e do tempo de execução dos algoritmos, estudando-se em especial a análise amortizada do tempo de execução. O esquema dividir para conquistar, bem como a solução das recorrências que lhe estão associadas são estudados no Capítulo 3; esse esquema é aplicado a algoritmos de multiplicação de inteiros e de matrizes grandes. No capítulo seguinte são considerados os algoritmos aleatorizados, isto é, que têm acesso a uma fonte de números aleatórios (ou pseudo-aleatórios); em particular é estudado o quick-sort aleatorizado e o algoritmo de primalidade Rabin-Miller. As classes de complexidade aleatorizadas são também estudadas. O Capítulo 5 trata de alguns algoritmos relacionados com o problema da ordenação, sendo considerados métodos de ordenação aplicáveis a universos pequenos, o radix-sort e um algoritmo eficiente de determinação da mediana. Os circuitos como modelos de computação são mencionados no Capítulo 6, sendo estudadas em algum pormenor as redes de ordenação. No Capítulo 7 são consideradas 2 questões relacionadas com os métodos de hash : o hash universal e o hash perfeito. Algumas aplicações típicas da Programação Dinâmica parentização óptima de um produto matricial, máxima sub-sequência comum e o problema da mochila ( knapsack problem ) são considerados em algum pormenor no Capítulo 8. O capítulo seguinte trata do importante algoritmo FFT ( Fast Fourier Transform ); este algoritmo é estudado do ponto de vista da conversão entre 2 representações dos polinómios representação por coeficientes e representação por valores em determinados pontos. A Teoria da Informação é aplicada no Capítulo 10 à determinação de minorantes de complexidade de algoritmos de ordenação e pesquisa. Pré-requesitos. Para a boa compreensão destes apontamentos é necessário : (i) ter alguma maturidade matemática, em particular na área da matemática discreta, (ii) ter conhecimentos mínimos da teoria das probabilidades, (iii) conhecer os principais algoritmos de ordenação e respectiva eficiência, (iv) ter alguma experiência de programação numa linguagem como, por exemplo, o C, o C++, o Python ou até o Java, e ter capacidade de implementar nessa linguagem algoritmos descritos numa linguagem informal, (v) conhecer os fundamentos da teoria dos problemas completos em NP.
11 11 Os exercícios são parte integrante deste curso. O leitor deverá fazer um esforço sério para os resolver!
Tópicos Avançados em Algoritmos - exercícios de Prog. Din. com correcção parcial
Armando Matos, 2008/2009 Tópicos Avançados em Algoritmos - exercícios de Prog. Din. com correcção parcial 1. Optimizar o produto de matrizes Considere o problema da parentização óptima de uma multiplicação
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG
Matriz Curricular FGGMATE - Licenciatura em Matemática 0. Disciplinas Obrigatórias FGGMATE.090 Filosofia da Educação Matemática FGGMATE.00 Fundamentos de Cálculo FGGMATE.00 Fundamentos de Matemática Elementar
Análise e Projeto de Algoritmos
Análise e Projeto de Algoritmos Prof. Josenildo Silva [email protected] IFMA, Campus Monte Castelo Depto. Academico de Informática 2 o Semestre, 2013 Prof. Josenildo Silva (IFMA) Algoritmos 2 o Semestre,
Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas
Arquitetura de Computadores, Arquitetura de Computadores Organização de Computadores, Conjunto de Instruções, Sistemas Operacionais, Sistemas Operacionais, Sistemas Mecanismos de Interrupção e de Exceção,
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG
Matriz Curricular FGGMATE - Licenciatura em Matemática 0. Disciplinas Obrigatórias FGGMATE.090 Filosofia da Educação Matemática FGGMATE.00 Fundamentos de Cálculo FGGMATE.00 Fundamentos de Matemática Elementar
Algoritmos 3/17/ Algoritmos como área de estudo e investigação
Algoritmos e Complexidade Ana Teresa Freitas INESC-ID/IST ID/IST 3/17/2005 1 O que é um algoritmo? Algoritmos: Sequência de instruções necessárias para a resolução de um problema bem formulado [passíveis
BCC Projeto e Análise de Algoritmos Aula 0: Apresentação
1 BCC 241 - Projeto e Análise de Algoritmos Aula 0: Apresentação DECOM/UFOP 5º. Período - 2013/01 Anderson Almeida Ferreira BCC 241/2012-2 2 Objetivos do curso Dados dois algoritmos, compará-los quanto
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG
Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG
Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria
Algoritmos e Estrutura de Dados. Algoritmos Prof. Tiago A. E. Ferreira
Algoritmos e Estrutura de Dados Aula 3 Conceitos Básicos de Algoritmos Prof. Tiago A. E. Ferreira Definição de Algoritmo Informalmente... Um Algoritmo é qualquer procedimento computacional bem definido
Hash universal e perfeito
Capítulo 7 Hash universal e perfeito Neste capítulo vamos estudar alguns aspectos importantes sobre os métodos de hash e, em especial o hash universal e hash perfeito. Os métodos de hash são de certo modo
Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista ( )
Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista (2.1-2.2) DECOM/UFOP 2013/1 5º. Período Anderson Almeida Ferreira Adaptado do material desenvolvido por Andréa Iabrudi
PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GBC052 PERÍODO:
Algoritmos para Automação e Sistemas
Universidade Federal do Amazonas Departamento de Eletrônica e Computação Algoritmos para Automação e Sistemas Lucas Cordeiro [email protected] Notas de Aula Estes slides estão baseados livro do
Análise de complexidade
Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura
Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia
Introdução à Análise de Algoritmos Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia Aula de hoje Nesta aula veremos: Sobre a disciplina Exemplo: ordenação Sobre a disciplina
MCTA028 Programação Estruturada Aula 19 Custos de um algoritmo e funções de complexidade
MCTA028 Programação Estruturada Aula 19 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco 3Q-2017 1 0 A = n-1... 2 0 A = n-1... - O programa funciona (está correto)? - Como medir/mensurar
Algoritmos de Ordenação
Algoritmos de Ordenação! Problema: encontrar um número de telefone em uma lista telefônica! simplificado pelo fato dos nomes estarem em ordem alfabética! e se estivesse sem uma ordem?! Problema: busca
NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016
NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 Metaheurística: São técnicas de soluções que gerenciam uma interação entre técnicas de busca local e as estratégias de nível superior para criar um processo de
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG
Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria
Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão
Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão [email protected] Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns
Algoritmos e Estruturas de Dados LEE 2013/2014. popular devido à facilidade de implementação e eficiência
Algoritmos e Estruturas de Dados LEE 2013/2014 Algoritmos de Ordenação Parte II Quicksort [1] Provavelmente o algoritmo mais usado inventado nos anos 60 muito estudado e analisado desempenho bem conhecido
Sumário Introdução Revisão de Números Complexos Programação em Delphi... 94
Sumário Introdução... 14 01.Revisão de Números Complexos... 15 01. Introdução... 15 02. Propriedades dos Números Complexos... 19 03. Conjugado de um Número Complexo... 21 04. Adição de Complexos... 22
Matriz de Referência da área de Matemática Ensino Fundamental
Matemática EF Matriz de Referência da área de Matemática Ensino Fundamental C1 Utilizar o conhecimento numérico para operar e construir argumentos ao interpretar situações que envolvam informações quantitativas.
ESCOLA SECUNDÁRIA DE LOUSADA
ESCOLA SECUNDÁRIA DE LOUSADA 2012 2013 PLANIFICAÇÃO DA DISCIPLINA DE MATEMÁTICA Curso Profissional de Técnico de Multimédia ELENCO MODULAR A7 Probabilidades 28 A6 Taxa de variação 36 A9 Funções de crescimento
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG
LEI Nº.9, DE 9//00, PUBLICADA NO DOU DE 0//00, SEÇÃO I, PAGS. I - Rua São Luiz Gonzaga, s/n - São Luiz - Formiga - MG - CEP: 70-000 Tel: (7)-09 - Site: www.formiga.ifmg.edu.br Matriz Curricular FGGCOMP
Estruturas de Dados 2
Estruturas de Dados 2 Algoritmos de Ordenação em Tempo Linear IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/38 Algoritmos de Ordenação em Tempo Linear Limite Assintótico
6.Elaboração de algoritmos...13
Índice de conteúdos Capítulo 1. Computação Científica...1 1.Definição...1 2.Modelo genérico...2 3.Modelo matemático...2 4.Tipos de modelos matemáticos...3 5.Modelação matemática...5 5.1.Definição (formulação)
Matriz de Referência da área de Matemática Ensino Médio
Matriz de Referência da área de Matemática Ensino Médio C1 Utilizar o conhecimento sobre números e suas representações em situações relacionadas a operações matemáticas, grandezas e unidades de medidas.
CAPÍTULO 1 Operações Fundamentais com Números 1. CAPÍTULO 2 Operações Fundamentais com Expressões Algébricas 12
Sumário CAPÍTULO 1 Operações Fundamentais com Números 1 1.1 Quatro operações 1 1.2 O sistema dos números reais 1 1.3 Representação gráfica de números reais 2 1.4 Propriedades da adição e multiplicação
Teoria da Computação Aula 9 Noções de Complexidade
Teoria da Computação Aula 9 Noções de Complexidade Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Análise de um Algoritmo em particular Qual é o custo de usar um dado algoritmo para resolver um
DOSSIER DA DISCIPLINA
DOSSIER DA DISCIPLINA PI - PROGRAMAÇÃO IMPERATIVA Licenciatura em Matemática e Ciências da Computação (1º ano) Docente responsável: José Carlos Ramalho Ano lectivo de 2004/2005-2º semestre INDICE Apresentação...
DISCIPLINA DE MATEMÁTICA OBJETIVOS: 1ª Série
DISCIPLINA DE MATEMÁTICA OBJETIVOS: 1ª Série Compreender os conceitos, procedimentos e estratégias matemáticas que permitam a ele desenvolver estudos posteriores e adquirir uma formação científica geral.
PROJETO E ANÁLISE DE ALGORITMOS (INF 2926)
PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão Horário: 4as-feiras de 13 às 16 horas - Sala 511 RDC 29 de abril de 2015 Data da Entrega: 10 de junho de 2015 Período: 2015.1
Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina
Estrutura de Dados Plano de Ensino Vilson Heck Junior Instituto Federal de Santa Catarina Campus Lages Sumário 1 Sumário 2 Plano de Ensino Competências, Habilidades e Atitudes Bases Tecnológicas Instrumentos
Projeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 01 Complexidade de Algoritmos Edirlei Soares de Lima O que é um algoritmo? Um conjunto de instruções executáveis para resolver um problema (são
Programação de Conteúdos de Matemática SPE Ensino Médio REGULAR 2013
Programação de Conteúdos de Matemática SPE Ensino Médio REGULAR 2013 1ª série - volume 1 1. Conjuntos - Conceito de conjunto - Pertinência - Representação de um conjunto - Subconjuntos - União de conjuntos
2. Complexidade de Algoritmos
Introdução à Computação II 5952011 2. Complexidade de Algoritmos Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2.1. Introdução 2.1.1. Revisão de Pseudo-Código 2.1.2.
Análise e Síntese de Algoritmos. Revisão CLRS, Cap. 7-10
Análise e Síntese de Algoritmos Revisão CLRS, Cap. 7-10 Contexto Revisão Algoritmos e complexidade Notação Fundamentos: somatórios, recorrências, etc. Exemplos de algoritmos Ordenação Procura Selecção
Nº de aulas de 45 minutos previstas 66. 1º Período. 1- Isometrias Nº de aulas de 45 minutos previstas 18
Escola Secundária de Lousada Planificação anual disciplina de Matemática Ano: 8º Ano lectivo: 01-013 CALENDARIZAÇÃO Nº de aulas de 5 minutos previstas 1 1º Período º Período 3º Período 9 7 DISTRIBUIÇÃO
FFT Fast Fourier Transform
FFT Fast Fourier Transform Carlos Alexandre Mello 1 Algoritmos Rápidos Objetivo: melhoria do desempenho de algoritmos Implementam de forma mais eficiente um algoritmo sem modificar seu resultado final
TEORIA: 60 LABORATÓRIO: 0
Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166 1. CÓDIGO E NOME DA DISCIPLINA: BC1435 - Análise de Algoritmos
Circuitos Lógicos Aula 5
Circuitos Lógicos Aula 5 Aula passada Sistemas numéricos Metodo de conversão Conversão entre sistemas Números fracionários Aula de hoje Conversão fracionária Método da multiplicação Código BCD Código ASCII
ESCOLA E B 2,3/S MIGUEL LEITÃO DE ANDRADA - AGRUPAMENTO DE ESCOLAS DE PEDRÓGÃO GRANDE DEPARTAMENTO DAS CIÊNCIAS EXATAS 2015/2016
ESCOLA E B 2,3/S MIGUEL LEITÃO DE ANDRADA - AGRUPAMENTO DE ESCOLAS DE PEDRÓGÃO GRANDE DEPARTAMENTO DAS CIÊNCIAS EXATAS 2015/2016 PLANIFICAÇÃO DE MATEMÁTICA 7ºANO 1º Período 2º Período 3º Período Apresentação,
ESTRUTURAS DE DADOS E ALGORITMOS APRESENTAÇÃO DO CURSO E INTRODUÇÃO
ESTRUTURAS DE DADOS E ALGORITMOS APRESENTAÇÃO DO CURSO E INTRODUÇÃO Adalberto Cajueiro ([email protected]) Departamento de Sistemas e Computação Universidade Federal de Campina Grande 1
Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo
Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo [email protected] www.tiagodemelo.info Observações O conteúdo dessa aula é parcialmente proveniente do Capítulo 11 do livro Fundamentals of
Projeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática
Projeto e Análise de Algoritmos Introdução Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática Projeto e Análise de Algoritmos Eu penso que o projeto de algoritmos eficientes
Análise e Síntese de Algoritmos. Programação Dinâmica CLRS, Cap. 15
Análise e Síntese de Algoritmos Programação Dinâmica CLRS, Cap. 15 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais curtos
Teoria da Computação Aula 8 Noções de Complexidade
Teoria da Computação Aula 8 Noções de Complexidade Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Motivação: Por que estudar algoritmos? Perguntas: - Por que estudar algoritmos se os computadores
MATEMÁTICA PARA A VIDA
MATEMÁTICA PARA A VIDA B3 6 Interpretar, organizar, analisar e comunicar informação processos e procedimentos matemáticos Sequencializar as tarefas elementares de um projecto; Usar relações de conversão
ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS
1/18 ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS Algoritmos 2/18 Algoritmos Algoritmo - sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador)
SCC-501 Introdução à Ciência de Computação II
SCC-501 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis 2011 João
Análise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Professor Ariel da Silva Dias Algoritmos Divisão e Conquista Construção incremental Resolver o problema para um sub-conjunto dos elementos de entrada; Então, adicionar
SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG
LEI Nº.9, DE 9//00, PUBLICADA NO DOU DE 0//00, SEÇÃO I, PAGS. I - Rua São Luiz Gonzaga, s/n - São Luiz - Formiga - MG - CEP: 0-000 Tel: ()-09 - Site: www.formiga.ifmg.edu.br Matriz Curricular FGGCOMP -
Nível 1 (equivalência ao 1º ciclo do Ensino Básico)
MATEMÁTICA PARA VIDA Nível 1 (equivalência ao 1º ciclo do Ensino Básico) Interpretar, organizar, analisar e comunicar informação utilizando processos e procedimentos matemáticos. MV 1 A Usar a matemática
ESTRUTURA DE DADOS I AULA I
ESTRUTURA DE DADOS I AULA I PROF. ME. HÉLIO ESPERIDIÃO O que é um dado? Dado pode ser definido como a matéria-prima originalmente obtida de uma ou mais fontes (etapa de coleta). o que é a informação A
Exame de Ingresso. Física Aplicada (Física Computacional) Segundo Semestre de 2009
Exame de Ingresso Física Aplicada (Física Computacional) Segundo Semestre de 2009 Nome do Candidato: Mecânica 1. Uma menina lança uma bola em direção a uma parede vertical afastada 4 m. A bola está 2 m
Algoritmos de Ordenação. Profº Carlos Alberto T. Batista
Algoritmos de Ordenação Profº Carlos Alberto T. Batista E-mail: [email protected] [email protected] Por que ordenar os dados? Encontrar elementos em uma lista torna-se algo simples e
DEPARTAMENTO DE MATEMÁTICA INFORMÁTICA DISCIPLINA: Matemática (9º Ano) METAS CURRICULARES/CONTEÚDOS ... 1º PERÍODO. Medidas de localização
ANO LETIVO 2017/2018... 1º PERÍODO DEPARTAMENTO DE MATEMÁTICA INFORMÁTICA DISCIPLINA: Matemática (9º Ano) METAS CURRICULARES/CONTEÚDOS Metas Curriculares Conteúdos Aulas Previstas Medidas de localização
Projeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Apresentação da Disciplina Edirlei Soares de Lima Por que Estudar Algoritmos? Razões Práticas e Teóricas: Devemos conhecer um conjunto de algoritmos
Introdução à Programação. João Manuel R. S. Tavares
Introdução à Programação João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de
SUMÁRIO PARTE 1 MODELAGEM, COMPUTADORES E ANÁLISE DE ERROS 3. PT1.1 Motivação... 3 Pt1.2 Fundamentos Matemáticos... 5 Pt1.3 Orientação...
PARTE 1 MODELAGEM, COMPUTADORES E ANÁLISE DE ERROS 3 PT1.1 Motivação... 3 Pt1.2 Fundamentos Matemáticos... 5 Pt1.3 Orientação... 7 CAPÍTULO 1 Modelagem matemática e resolução de problemas de engenharia...10
Matemática e suas tecnologias
Matemática e suas tecnologias Fascículo 1 Módulo 1 Teoria dos conjuntos e conjuntos numéricos Noção de conjuntos Conjuntos numéricos Módulo 2 Funções Definindo função Lei e domínio Gráficos de funções
Teoria dos Grafos Aula 7
Teoria dos Grafos Aula 7 Aula passada Implementação BFS DFS, implementação Complexidade Aplicações Aula de hoje Classe de funções e notação Propriedades da notação Funções usuais Tempo de execução Comparando
Curso Profissional de Nível Secundário
Curso Profissional de Nível Secundário Técnico Auxiliar de Saúde 2 TAS Ano Letivo: 2014/2015 Matemática (200 horas) 11º Ano PLANIFICAÇÃO A LONGO PRAZO A7 Probabilidades Fenómenos aleatórios. 2 aulas Argumento
Projeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 02 Técnicas de Projeto de Algoritmos (Força Bruta) Edirlei Soares de Lima Tipos Importantes de Problemas Problemas de Ordenação: Reorganizar
Limite assintótico para a ordenação, Ordenação em tempo linear
Algoritmos e Estruturas de Dados I Limite assintótico para a ordenação, Ordenação em tempo linear Prof. Jesús P. Mena-Chalco [email protected] 1Q-2017 1 Ordenação Ordenar corresponde ao processo
Noções de Algoritmos
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Noções de Algoritmos DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Tópicos da aula Algoritmos
Introdução à Ciência da Computação II
Introdução à Ciência da Computação II Análise de Algoritmos: Parte I Prof. Ricardo J. G. B. Campello Este material consiste de adaptações e extensões de slides disponíveis em http://ww3.datastructures.net
Algoritmos e Estruturas de Dados
Algoritmos e Estruturas de Dados Ano Lectivo 2009/10 Margarida Mamede DI FCT/UNL Capítulo I Apresentação e Avaliação Margarida Mamede, DI FCT/UNL AED, 2009/10, Capítulo I 1 Enquadramento na LEI IP Introdução
Análise e Técnicas de Algoritmos
Análise e Técnicas de Algoritmos Prof. Jorge Figueiredo http://www.dsc.ufcg.edu.br/~abrantes/atal032.html Jorge Figueiredo Aula 1-1 Agenda Apresentação do curso Motivação Introdução informal Jorge Figueiredo
BCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 13: Ordenação: MergeSort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes Email: [email protected]
Teoria da Computação. Complexidade computacional classes de problemas
Teoria da Computação Complexidade computacional classes de problemas 1 Universo de problemas Problemas indecidíveis ou não-computáveis Não admitem algoritmos Problemas intratáveis Não admitem algoritmos
PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM GESTÃO DA INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GGI026 PERÍODO:
