Estruturas de Dados 2
|
|
- Yago Bennert Guimarães
- 6 Há anos
- Visualizações:
Transcrição
1 Estruturas de Dados 2 Técnicas de Projeto de Algoritmos Força Bruta IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/36
2 Técnica de Projeto de Algoritmos por Força Bruta Introdução Busca: Seqüencial e String Matching Ordenação: Métodos da Seleção da Bolha Busca Exaustiva Resumo IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 2/36
3 Introdução É a mais simples estratégia de projeto de algoritmos Solução direta e mais simples para resolver um problema, usualmente baseada no próprio enunciado do problema e nas definições dos conceitos envolvidos. IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 3/36
4 Introdução Aplicar a força dos computadores, ao invés do intelecto do programador... Just do It!!!! Usualmente, é a técnica de programação mais fácil de se aplicar. IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 4/36
5 Introdução (Justificativa) Apesar desta técnica raramente gerar algoritmos eficientes, é uma importante técnica para projeto de algoritmos; É aplicável a uma ampla variedade de problemas; IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 5/36
6 Introdução (Justificativa) Pode ser empregada em diversas situações comuns porém importantes: Encontrar o maior elemento de uma lista; Somar N números; IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 6/36
7 Introdução (Justificativa) Alternativa válida quando se deseja resolver um problema pequeno através de um algoritmo simples e direto. Para alguns problemas, a força bruta gera algoritmos razoáveis, práticos e sem limitações no tamanho da instância(ex.: String matching, multiplicação de matrizes). IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 7/36
8 Introdução (Justificativa) O esforço para projetar algoritmos mais eficientes pode não compensar o trabalho, quando o tamanho das instâncias, ou a quantidade de problemas a resolver, é pequena (velocidade aceitável) IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 8/36
9 Algoritmos de Busca por Força Bruta Qual a forma mais direta de encontrar um elemento em uma lista? Busca Seqüencial!!!! IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 9/36
10 Busca Seqüencial : Pseudo-Código IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 10/36
11 Busca Seqüencial : Método Força Bruta Clássico, simples e (relativamente) ineficiente! Comportamento Assintótico: O(n)(pior caso) Melhor Caso? Caso médio? IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 11/36
12 String Matching: Força Bruta Dada uma seqüência de caracteres(string) de tamanho N, verificar se uma outra string de tamanho M<=N é sub-string de N. IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 12/36
13 String Matching: Algoritmo 1.Alinha no início do texto 2.Mova para a direita, comparando cada caractere do padrão com o caractere no texto, até: Todos os caracteres sejam coincidentes; Um não-casamento seja encontrado; 5.Enquanto o padrão não for encontrado, e o texto não for completamente percorrido, realinhar o padrão uma posição a direita e repetir o passo 2. IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 13/36
14 String Matching: Pseudo-Código IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 14/36
15 String Matching: Eficiência: O(nm) Exemplo: NOBODY NOTICED HIM NOT NOT NOT NOT NOT NOT NOT NOT Força Bruta IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 15/36
16 Ordenação Qual a maneira mais direta de ordenar um vetor numérico? Localizar o menor elemento, e substitui-lo com o primeiro elemento do vetor; Realizar o mesmo processo para o vetor remanescente [2..N] Repetir o processo N vezes... IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 16/36
17 Ordenação Qual a maneira mais direta de ordenar um vetor numérico? Localizar o menor elemento, e substitui-lo com o primeiro elemento do vetor; Realizar o mesmo processo para o vetor remanescente [2..N] Repetir o processo N vezes... IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 17/36
18 Ordenação por Seleção - Pseudo-Código IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 18/36
19 Ordenação por Seleção Eficiência IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 19/36
20 Ordenação por Seleção Exemplo IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 20/36
21 Ordenação por Seleção Exemplo IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 21/36
22 Ordenação por Seleção Exemplo IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 22/36
23 Ordenação por Seleção Exemplo IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 23/36
24 Ordenação por Seleção Exemplo IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 24/36
25 Ordenação por Seleção Exemplo IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 25/36
26 Ordenação por Seleção Exemplo IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 26/36
27 Ordenação por Bolha Compara elementos adjacentes de uma lista, verificando se eles estão fora de ordem : se estiverem, troque-os; Ao fazer isto, o maior elemento acaba flutuando para o topo da lista, como uma bolha; Repita o processo para a lista com n-1 elementos restante, eliminando-se o último(maior) elemento. Após n-1 passos, a lista está ordenada. IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 27/36
28 Ordenação por Bolha - Pseudo-Código IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 28/36
29 Ordenação por Bolha - Eficiência IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 29/36
30 Ordenação Bolha Exemplo IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 30/36
31 Prós: Força Bruta - Prós e Contras: Aplicabilidade... Simplicidade Algoritmos simples e funcionais Busca String Matching Multiplicação de matrizes Vários algoritmos padrão utilizam esta técnica: Soma/produto de seqüências numéricas Localização de maior/menor elemento IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 31/36
32 Contras: Força Bruta - Prós e Contras: Raramente fornece algoritmos eficientes Usualmente fornece algoritmos altamente ineficientes, inaplicáveis a instâncias médias ou grandes Existem melhores técnicas para projeto de algoritmos... IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 32/36
33 Busca Exaustiva Abordagem Força Bruta para localizar soluções para problemas de otimização; Encontrar um elemento em um conjunto que cresce exponencialmente com o tamanho da entrada esta abordagem envolve testar todas as possibilidades... Busca Exaustiva é uma estratégia Força Bruta para problemas combinatoriais. IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 33/36
34 Busca Exaustiva Método: Construir uma forma de listar todas as situações possíveis para o problema, de forma sistemática Todas as soluções são testadas Nenhuma solução é repetida Avaliar as soluções uma a uma, armazenando a melhor solução até o momento; Ao finalizar a busca, retornar a melhor solução. IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 34/36
35 Busca Exaustiva Exemplo: Caixeiro Viajante Encontrar o circuito Hamiltoniano mais curso em um grafo conectado ponderado. IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 35/36
36 Busca Exaustiva Exemplo: Caixeiro Viajante Eficiência: (n-1)! IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 36/36
Estruturas de Dados 2
Estruturas de Dados 2 Técnicas de Projeto de Algoritmos Dividir e Conquistar IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/83 Projeto de Algoritmos por Divisão
Leia maisBusca em Memória Primária Estrutura de Dados II
Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Busca em Memória Primária Estrutura de Dados II Estrutura de Dados II COM10078 2017-I Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br
Leia maisEstruturas de Dados 2
Estruturas de Dados 2 Análise Empírica de Algoritmos IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/13 Análise da Eficiência de Algoritmos: Velocidade de Execução;
Leia maisMedida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Classes de Comportamento Assintótico Se f é uma função de complexidade para um algoritmo F, então
Leia maisTeoria da Complexidade Computacional
Teoria da Complexidade Computacional 25 de novembro de 2011 Enquanto a teoria de análise de algoritmos estuda a análise de complexidade de algoritmos, a teoria da complexidade estuda a classificação de
Leia maisAula 10: Tratabilidade
Teoria da Computação DAINF-UTFPR Aula 10: Tratabilidade Prof. Ricardo Dutra da Silva Na aula anterior discutimos problemas que podem e que não podem ser computados. Nesta aula vamos considerar apenas problemas
Leia maisUma forma de classificação
Uma forma de classificação L. Não-RE ou f. nãocomputáveis LRE ou MT ou f. comput. L. Indecidíveis ou Procedimentos L. Recursivas ou Decidíveis ou Algoritmos Outra forma de classificação Problemas Indecidíveis
Leia maisMedida do Tempo de Execução de um Programa
Medida do Tempo de Execução de um Programa Livro Projeto de Algoritmos Nívio Ziviani Capítulo 1 Seção 1.3.1 http://www2.dcc.ufmg.br/livros/algoritmos/ Comportamento Assintótico de Funções O parâmetro n
Leia maisAlgoritmos 2 - Introdução
DAINF - Departamento de Informática Algoritmos 2 - Introdução Prof. Alex Kutzke (http://alex.kutzke.com.br/courses) 19 de Agosto de 2015 Slides adaptados do material produzido pelo Prof. Rodrigo Minetto
Leia maisAnálise e Projeto de Algoritmos
Análise e Projeto de Algoritmos Mestrado em Ciência da Computação Prof. Dr. Aparecido Nilceu Marana Faculdade de Ciências I think the design of efficient algorithms is somehow the core of computer science.
Leia maisAlgoritmos 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
Leia maisPERCURSOS. André Falcão, Carlos Augusto, Rafael Broédel e Lucas Dipré
PERCURSOS André Falcão, Carlos Augusto, Rafael Broédel e Lucas Dipré Serra 2011 Índice 1...O que é caminho e circuito 1.1...Caminho 1.2...Circuito 1.3...Classificação 2...Caminhos Eulerianos 2.1...Definição
Leia maisPrincípio da Multiplicação Gerando todas as palavras de um alfabeto. > Princípios de Contagem e Enumeração Computacional 0/18
Conteúdo 1 Princípios de Contagem e Enumeração Computacional Princípio da Multiplicação Gerando todas as palavras de um alfabeto Permutações > Princípios de Contagem e Enumeração Computacional 0/18 Objetivos
Leia maisProjeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão
Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns
Leia maisMétodo BubbleSort. Estrutura de Dados II Prof Jairo Francisco de Souza
Método BubbleSort Estrutura de Dados II Prof Jairo Francisco de Souza Introdução Ordenar corresponde ao processo de reorganizar um conjunto de objetos em uma ordem ascendente ou descendente Consiste em
Leia mais4 Casamento de Padrões
4 Casamento de Padrões O casamento de padrões é uma técnica que tem por objetivo localizar os elementos constituintes de uma seqüência em um conjunto de outras seqüências. Chamemos de padrão a seqüência
Leia maisMétodos de Ordenação
Métodos de Ordenação Conceitos básicos sobre ordenação Ordenar corresponde ao processo de rearranjar um conjunto de objetos em uma ordem específica. Objetivo da ordenação: facilitar a recuperação posterior
Leia maisResolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema
ALGORITMIA Resolução De Problemas Em Informática Docente: Ana Paula Afonso 2000-2001 Resolução de Problemas 1. Analisar o problema Conhecer o bem o problema Descrever o problema: subdividir, detalhar 2.
Leia maisTópicos Avançados em Algoritmos
Tópicos Avançados em Algoritmos Armando Matos 2008 Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto 2 Tópicos Avançados de Algoritmos Armando B. Matos DCC-FC-UP 2009
Leia maisAprendendo a Programar Programando numa Linguagem Algorítmica Executável (ILA)
Jaime Evaristo Sérgio Crespo Aprendendo a Programar Programando numa Linguagem Algorítmica Executável (ILA) Segunda Edição Capítulo 7 Versão 13052010 7. Pesquisa e Ordenação 7.1 Introdução Embora os problemas
Leia mais5COP096 TeoriadaComputação
Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema
Leia maisTrabalho: Algoritmos de Busca e Ordenação. 1 Introdução. Prof. Bruno Emerson Gurgel Gomes IFRN - Câmpus Currais Novos. 31 de outubro de 2012
Trabalho: Algoritmos de Busca e Ordenação Prof. Bruno Emerson Gurgel Gomes IFRN - Câmpus Currais Novos 31 de outubro de 2012 1 Introdução Os algoritmos de busca e de ordenação compreendem um conjunto de
Leia maisInteligência Artificial
Inteligência Artificial Prof. Rafael Stubs Parpinelli DCC / UDESC-Joinville parpinelli@joinville.udesc.br www.joinville.udesc.br/portal/professores/parpinelli www2.joinville.udesc.br/~coca/ Agentes solucionadores
Leia maisBuscas Informadas ou Heurísticas - Parte II
Buscas Informadas ou Heurísticas - Parte II Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Graduação em Ciência da Computação / 2006 FUNÇÕES HEURÍSTICAS - 1/7 FUNÇÕES HEURÍSTICAS - 2/7 Solução
Leia maisBanco de Dados. Métodos de Ordenação de Dados. Prof. Walteno Martins Parreira Jr
Banco de Dados Métodos de Ordenação de Dados Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 Ordenação de Dados Ordenação é o ato de se colocar os elementos de
Leia maisGRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?
8/0/06 GRAFOS Prof. André Backes Definição Como representar um conjunto de objetos e as suas relações? Diversos tipos de aplicações necessitam disso Um grafo é um modelo matemático que representa as relações
Leia maisLISTA DE EXERCÍCIOS - ro. 04
USP ICMC SSC SSC0100 - Introdução à Ciência da Computação I (Prática) Professor responsável: Fernando Santos Osório Semestre: 2009/1 Horário: Terça 14h20 (Turma A2) E-mail: fosorio.at. icmc.usp.br fosorio.at.
Leia maisEstruturas de Dados 2
Estruturas de Dados 2 Recorrências IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/31 Recorrências Análise da Eficiência de Algoritmos: Velocidade de Execução; Análise
Leia mais2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006
Introdução à Computação I IBM1006 2. Algoritmos Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2. Algoritmos 2.1. Introdução 2.2. Pseudo-código 2.3. Fluxograma
Leia maisTratamento dos Erros de Sintaxe. Adriano Maranhão
Tratamento dos Erros de Sintaxe Adriano Maranhão Introdução Se um compilador tivesse que processar somente programas corretos, seu projeto e sua implementação seriam grandemente simplificados. Mas os programadores
Leia maisDepartamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Algoritmos de busca Basicamente podem ser citadas duas estratégias para procurar (ou buscar) algo em uma coleção de dados: Busca
Leia maisComplexidade de algoritmos Notação Big-O
Complexidade de algoritmos Notação Big-O Prof. Byron Leite Prof. Tiago Massoni Engenharia da Computação Poli - UPE Motivação O projeto de algoritmos é influenciado pelo estudo de seus comportamentos Problema
Leia maisAlgoritmo. Conjunto finito de instruções que permitem a realização de uma tarefa. 2.1: Introdução 2. ALGORITMOS
2 - Algoritmo 2.1: Introdução 2. ALGORITMOS Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Antes de se utilizar uma linguagem de computador,
Leia maisExercícios de Laboratório de ICC Engenharia Ambiental 2º Semestre de 2004
Exercícios de Laboratório de ICC Engenharia Ambiental 2º Semestre de 2004 1. Cada um dos métodos de ordenação tem uma eficiência associada que depende fortemente de quão ordenada está a seqüência entrada.
Leia maisLista de Exercícios Programação Inteira. x 2 0 e inteiros.
Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + 2 y s.a x + y 2 x + y 5 x, y 0, x e y inteiros b) Max z = 2 x + y s.a x + 2y 0 x + y 25 x, y
Leia maisExercícios: Vetores e Matrizes
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor
Leia mais2. Ordenação por Seleção
1 Algoritmos de Ordenação Simples (SelectionSort, InsertionSort, BubbleSort) 1. Introdução Objetivo: Determinar a seqüência ordenada dos elementos de um vetor numérico. Algumas considerações: O espaço
Leia maisO ALEATÓRIO EM COMPUTAÇÃO. Por Diogo Anderson Integrante do Grupo PET Computação
O ALEATÓRIO EM COMPUTAÇÃO Por Diogo Anderson (diogo@dsc.ufcg.edu.br) Integrante do Grupo PET Computação AGENDA Introdução Definição Aplicações Números aleatórios Números aleatórios vs pseudo-aleatórios
Leia maisBuscas Informadas ou Heurísticas - Parte III
Buscas Informadas ou Heurísticas - Parte III Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Mestrado em Ciência da Computação / 2006 BUSCA SMA* (Simplified Memory-Bounded A*) BUSCA SMA* (Simplified
Leia maisProf. MSc. David Roza José 1/27
1/27 Splines e Interpolação por Partes - A Objetivos: Compreender que splines minimizam oscilações ao ajustar polinômios de menor ordem a partições do domínio; Aprender a desenvolver um código para procurar
Leia maisGrafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá
Grafos Hamiltonianos e o Problema do Caixeiro Viajante Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá Grafo Hamiltoniano Definição: Um circuito hamiltoniano em um
Leia maisMétodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato:
Inteligência Artificial Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Métodos de Busca Busca Cega ou Exaustiva: Não sabe qual o melhor nó da fronteira a ser expandido. Apenas distingue o estado objetivo
Leia maisMatriz 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.
Leia maisBC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade
BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco 1Q-2016 1 1995 2015 2 Custo de um algoritmo e funções de complexidade Introdução
Leia maisExercícios sobre algoritmos
Exercícios sobre algoritmos Exercícios envolvendo estruturas de decisão Fazer um algoritmo para: 1) Receber um número do usuário e mostrar se esse número é par ou não par 2) Receber 3 valores numéricos,
Leia mais2. ALGORITMOS. Unesp Campus de Guaratinguetá
2. ALGORITMOS Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante Problemas: Unesp-Campus de Guaratinguetá
Leia maisAlgoritmos Avançados Análise de Complexidade
CCAE Centro de Ciências Aplicadas e Educação UFPB - Campus IV - Litoral Norte Algoritmos Avançados Análise de Complexidade COMPLEXIDADE DE ALGORITMOS Definição: A Complexidade de um Algoritmo consiste
Leia maisCES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches
CES-11 Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra Ideia de Tarjan (1972) Durante a exploração em profundidade de um digrafo, podemos numerar seus vértices de
Leia maisMatrizes esparsas: definição
Matrizes esparsas: definição o objetivo é mostrar os métodos de armazenamento e manipulação de matrizes esparsas esparsidade de uma matriz é a relação entre o número de elementos nulos de uma matriz e
Leia maisO mais leve e o mais pesado Algoritmos de Ordenação
Atividade 7 O mais leve e o mais pesado Algoritmos de Ordenação Sumário Os computadores são muitas vezes utilizados para colocar listas em algum tipo de ordem, por exemplo, nomes em ordem alfabética, compromissos
Leia maisMétodos de Ordenação Parte 3
Estrutura de Dados II Métodos de Ordenação Parte 3 Prof a Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material baseado nos materiais do Prof. Robson Lins Classificação em Memória Primária
Leia maisMC102 - Algoritmos e programação de computadores. Aula 16: Busca e Ordenação em vetores
MC102 - Algoritmos e programação de computadores Aula 16: Busca e Ordenação em vetores Busca Dada uma coleção de n elementos, pretende-se saber se um determinado elemento valor está presente nessa coleção.
Leia maisLinguagem de Descrição de algoritmos
FTC Faculdade de Tecnologia e Ciências Engenharia Civil 1º Semestre Linguagem de Descrição de algoritmos Rafael Barbosa Neiva rafael@prodados.inf.br Definição - Algoritmo Diariamente, executamos uma série
Leia maisOrdenação em Memória Primária Estrutura de Dados II
- Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Ordenação em Memória Primária Estrutura de Dados II Estrutura de Dados II COM10078-2017-I Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br
Leia maisétodos uméricos SOLUÇÃO NUMÉRICA DE EQUAÇÕES DIFERENCIAIS ORDINÁRIOAS Prof. Erivelton Geraldo Nepomuceno
étodos uméricos SOLUÇÃO NUMÉRICA DE EQUAÇÕES DIFERENCIAIS ORDINÁRIOAS Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UNIVERSIDADE DE JOÃO DEL-REI PRÓ-REITORIA DE PESQUISA
Leia maisLista de exercícios sobre contagem de operações Prof. João B. Oliveira
Lista de exercícios sobre contagem de operações Prof. João B. Oliveira 1. metodo m ( Vetor V ) int i, res = 0; para i de 1 a V.size res = res + V[i]; return res; Soma de elementos de um vetor, O( ). 2.
Leia mais1. [VETOR][SALA] Cálculo da média aritmética de 10 valores armazenados em um vetor.
Universidade Estadual de Maringá - Departamento de Informática Disciplina: 1640/31 - Fundamentos da Computação Física 2007 Prof.: Mauro Henrique Mulati Exercícios de vetores e matrizes do 2. o Bimestre
Leia maisTeoria da computabilidade Indecidíveis Decidíveis
Bacharelado em Ciência da Computação Disciplina: Algoritmos e Estruturas de Dados I Professor: Mário Luiz Rodrigues Oliveira Teoria da computabilidade Indecidíveis Decidíveis Teoria da complexidade Intratáveis:
Leia maisInteligência Artificial
Inteligência Artificial Aula 6 Algoritmos Genéticos M.e Guylerme Velasco Roteiro Introdução Otimização Algoritmos Genéticos Representação Seleção Operadores Geneticos Aplicação Caixeiro Viajante Introdução
Leia maisTEORIA DE COMPLEXIDADE
TEORIA DE COMPLEXIDADE Fundamentos: classes P e N P Mauricio Ayala-Rincón Grupo de Teoria da Computaç~ao http://ayala.mat.unb.br/tcgroup Instituto de Ciências Exatas Universidade de Brasília, Brasília
Leia maisIntrodução Métodos de Busca Parte 1
Introdução Métodos de Busca Parte 1 SCC-201 Introdução à Ciência da Computação II Rosane Minghim 2009 Importância em estudar busca Busca é uma tarefa muito comum em computação? Vários métodos e estruturas
Leia maisAlgoritmos e Estruturas de Dados I1 Prof. Eduardo 1
Algoritmos e Estruturas de Dados I1 Prof. Eduardo 1 ORDENAÇÃO E BUSCA Ordenação: Bublesort, seleção direta e inserção direta. Busca: linear e binária 1 - ORDENAÇÃO (CLASSIFICAÇÃO) DE DADOS Em diversas
Leia maisComplexidade de Algoritmos
Complexidade de Algoritmos ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo dbeder@usp.br 08/2008 Material baseado
Leia maisSUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca
ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização
Leia maisIntrodução à Programação
Introdução à Program 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 um programa.
Leia maisTeoria da Computação. Clique de um Grafo. Alexandre Renato Rodrigues de Souza 1
Teoria da Computação Clique de um Grafo Alexandre Renato Rodrigues de Souza 1 O que é um grafo? Definição 1: grafo é uma estruturas utilizada para representar relações entre elementos de um dado conjunto.
Leia maisReconhecimento de Padrões. Prof. Flávio Humberto Cabral Nunes
Reconhecimento de Padrões Prof. Flávio Humberto Cabral Nunes Conteúdo 1. Força Bruta 2. Knuth-Morris-Pratt 3. Boyer-Moore 4. Aho-Corasick Capítulo: 13 (APOSTILA). Força Bruta Características principais
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 5 Estruturas de Repetição Profa. Marina Gomes marinagomes@unipampa.edu.br 26/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura de repetição Comando for
Leia maisUniversidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula
Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Problema do casamento de cadeias Algoritmo
Leia maisQuantidade de memória necessária
Tempo de processamento Um algoritmo que realiza uma tarefa em 10 horas é melhor que outro que realiza em 10 dias Quantidade de memória necessária Um algoritmo que usa 1MB de memória RAM é melhor que outro
Leia maisVamos estudar o que se entende por «programação», que é uma linguagem de programação e ver algumas terminologias própria de programação e como
Vamos estudar o que se entende por «programação», que é uma linguagem de programação e ver algumas terminologias própria de programação e como utilizá-la. 1 Por si só, uma equipe não é muito inteligente.
Leia maisResolução de Problemas. Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial
Resolução de Problemas Universidade Católica de Pelotas Engenharia da Computação Disciplina: Inteligência Artificial 2 Resolução de Problemas Introdução Componentes Solução Busca de soluções 3 Resolução
Leia maisEXERCÍCIOS: Estrutura Sequencial, IF (SE), ELSE (Senão)
EXERCÍCIOS: Estrutura Sequencial, IF (SE), ELSE (Senão) Exercício 1) Escreva um programa para ler um número o o Se o número é par, mostre na tela o texto "O número é par" Senão, mostre na tela o texto
Leia maisUNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA
UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Teste de Software Engenharia de Software 2o. Semestre de 2006 Slide
Leia maisa complexidade no desempenho de algoritmos
capítulo 1 introdução Os algoritmos são o cerne da computação. Este capítulo introdutório procura ressaltar a importância da complexidade e dos métodos de projeto e análise de algoritmos. Partindo da ideia
Leia maisAlgoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto
Algoritmo Genético Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução 2. Conceitos Básicos 3. Aplicações 4. Algoritmo 5. Exemplo Introdução São técnicas de busca
Leia maisTeoria dos Grafos Aula 2
Teoria dos Grafos Aula 2 Aula passada Logística, regras Objetivos Grafos, o que são? Formando pares Encontrando caminhos Aula de hoje Outro problema real Definições importantes Algumas propriedades Grafo
Leia maisBCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1
BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 Na aula anterior Prova 2 Na aula de hoje Técnicas básicas de contagem; Tentativa e Erro; Recursividade.
Leia maisTEORIA DE COMPLEXIDADE
UFMG/ICEX/DCC PROJETO E ANÁLISE DE ALGORITMOS TEORIA DE COMPLEXIDADE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO 1 O SEMESTRE DE 2008 Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro
Leia maisEstudo e implementação de heurísticas para determinação do caminho de menor custo para atender a rotas pré estabelecidas. Por: Charles Pereira
Estudo e implementação de heurísticas para determinação do caminho de menor custo para atender a rotas pré estabelecidas Por: Charles Pereira Objetivos Principal: - Criar, implementar e avaliar heurísticas
Leia maisIntrodução à Ciência da Computação. Sumário. Estruturas de Dados. Agradecimentos. Arranjos: Vetores, Strings & Matrizes em C
Agradecimentos Introdução à Ciência da Computação Arranjos: Vetores, Strings & Matrizes em C Parte dos slides a seguir são adaptações dos originais gentilmente cedidos por: Prof. Rudinei Goularte Prof.
Leia maisLista de Exercícios Programação Inteira. x 2 0 e inteiros.
Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + y s.a x + y x + y 5 b) Max z = x + y s.a x + y 0 x + y 5 c) Max z = x + y s.a x + 9y 6 8 x +
Leia maisIntrodução à Computação: Máquinas Multiníveis
Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisALGORITMOS ALGORITMOS ALGORITMOS. Natureza dos passos. Apresentação das Estruturas de Algoritmos - Fluxograma
Etapas da Construção de Programas ALGORITMOS Etapas da Construção de Programas DEFINIÇÃO (o que) Codificar a Solução DESENVOLVIMENTO (como) Definição do Problema Projetar a Solução (ALGORITMO) (Programar
Leia maisAlgoritmos Fundamento e Prática
Everton Coimbra de Araújo Algoritmos Fundamento e Prática 3 a Edição Ampliada e Atualizada Visual Books Sumário Prefácio... 15 Introdução... 17 Capítulo 1 - Os Cursos de Informática e Computação... 23
Leia maisEstruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches
CT-234 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches CT-234 2) Algoritmos recursivos Indução matemática, recursão, recorrências Indução matemática Uma
Leia maisProcessos de software
Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de
Leia maisOrdenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa
Ordenação Externa Ordenação Externa Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação
Leia maisAlgoritmos Computacionais
UNIDADE 2 ALGORITMO E RESOLUÇÃO DE PROBLEMAS Noções de lógica para construção de algoritmos Construção de algoritmos sobre problemas do cotidiano O QUE É LÓGICA? Em termos usuais falamos de lógica no nosso
Leia maisLinguagem C vetores multidimensionais
Linguagem C vetores multidimensionais IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C... Operadores aritméticos, de comparação
Leia maisESTRUTURAS COMPOSTAS. Variáveis Compostas Unidimensionais VETOR. Baseado nos slides de Rosely Sanches e Simone Senger de Souza
ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR Baseado nos slides de Rosely Sanches e Simone Senger de Souza 2 ESTRUTURAS COMPOSTAS Pode-se organizar os dados dos tipos simples em tipos
Leia maisAula 02 ALGORITMOS. Introdução à Computação
Aula 02 ALGORITMOS Introdução à Computação Etapas da Construção de Software Na elaboração de programas complexos, é necessário utilizar um método sistemático de programação que permita a obtenção de programas
Leia maisLinguagem de Programação
Linguagem de Programação Vetores e Strings int vetor[] / rand() / #define / char string[] / gets() Gil Eduardo de Andrade Vetores Introdução Um vetor pode ser definido como é um conjunto de elementos (variáveis)
Leia maisExercícios: Arquivos
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Arquivos 1. Codifique, compile e execute um programa que: (a) crie/abra
Leia maisMatemática Aplicada às Ciências Sociais- 11º ano (Versão: para o manual a partir de 2016/17)
Matemática Aplicada às Ciências Sociais- 11º ano (Versão: para o manual a partir de 2016/17) Professor: Pedro Nóia Livro adotado: Matemática Aplicada às Ciências Sociais- 11º ano Elisabete Longo e Isabel
Leia maisÁrea que visa determinar a complexidade (custo) de um algoritmo, com isso é possível:
Área que visa determinar a complexidade (custo) de um algoritmo, com isso é possível: Comparar algoritmos: existem algoritmos que resolvem o mesmo tipo de problema. Determinar se o algoritmo é ótimo :
Leia maisGrafos: caminhos mínimos
quando o grafo é sem pesos, a determinação de um caminho mais curto pode ser feita através de uma busca em largura caminho mais curto é aquele que apresenta o menor número de arestas quando o grafo tem
Leia maisAlgoritmo: Definição. Algoritmo. O que é Lógica? Lógica de Programação. Mas e a Lógica de Programação?
: Definição Introdução a s Prof. Araken Medeiros araken@ufersa.edu.br Um algoritmo pode ser definido como uma sequência de passos finitos, que se executados em um determinado período de tempo, atingirá
Leia mais4º 20/10/2003. ÍNDICE
Universidade Federal de Juiz de Fora UFJF. Departamento de Ciência da Computação DCC. Curso de Ciência da Computação. Análise e Projeto de Algoritmos 4º período. Filippe Jabour. Atualizado em 20/10/2003.
Leia maisAULA 24. Algoritmos p.856/905
AULA 24 Algoritmos p.856/905 Máximo divisor comum CLRS 31.1 e 31.2 Algoritmos p.857/905 Divisibilidade Suponha que a, b e d são números inteiros. Dizemos que d divide a se a = k d para algum número inteiro
Leia mais