ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS
|
|
|
- Fábio Chaves Peixoto
- 9 Há anos
- Visualizações:
Transcrição
1 ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS Algoritmos e Complexidade 1
2 Plano Problemas e algoritmos. Estrutura de um algoritmo e dados manipulados. Métodos algorítmicos para resolução de problemas. Algoritmos: Pão de Ló de Alfeizerão; Soma de salários; Bubblesort; Torres de Hanoi; Tree sort; Merge sort; Rodovia mais barata; Caminho mais curto. Algoritmos e Complexidade 2
3 Um pouco de história Etimologia Algorismo Astrónomo matemático persa Abu Já Far Mohammed Ibn Musa Al-Khowarizmi [Bagdad; ] corruptela de Al-Khowarizmi aquando da tradução europeia para o latim (século XII) do seu livro de Álgebra descrevendo processos para adicionar, subtrair, multiplicar e dividir números decimais. Algoritmos e Complexidade 3
4 Um pouco de história Algoritmo de Euclides - o primeiro algoritmo não trivial Professor, matemático e escritor de origem desconhecida Euclides de Alexandria [ ] Para calcular o máximo divisor comum entre dois números naturais, subtrair o menor ao maior até ficarem iguais. x y Definição 1: Algoritmos são prescrições de processos que quando executados permitem a resolução de problemas Algoritmos e Complexidade 4
5 Departamento de Ciências e Tecnologias da Informação Um algoritmo para um problema delicioso Receita do Pão de Ló de Alfeizerão Ingredientes: 100 grs de açúcar 6 gemas 2 ovos 50 grs de farinha Confecção: Batem-se os ovos inteiros com o açúcar até a mistura ficar esbranquiçada. Juntam-se as gemas desfeitas e bate-se tudo muito bem até ficar cremoso. Envolve-se a farinha bem peneirada. Deita-se a massa numa forma forrada com um papel grosso. Leva-se a cozer em forno quente até ficar cozido nas bordas. Retira-se do forno e desenforma-se. C Algoritmos utilizam instruções elementares de um conjunto pré-definido em função das capacidades/experiência de quem as lê e executa (hardware/cozinheiro experiente) C Programas são algoritmos que podem ser lidos e executados por computador C Uma vez que se pretende discutir problemas que podem ser resolvidos computacionalmente, vamos aqui considerar apenas algoritmos precisos cujas acções elementares podem ser definidas precisamente/sem ambiguidade e executadas em tempo finito por um computador. Algoritmos e Complexidade 5
6 Problemas, Algoritmos e Computadores Um problema, consistindo em: 1. Caracterização de uma colecção de entradas / inputs potenciais (possivelmente em número infinito); 2. Especificação das saídas/outputs desejados em função dos inputs. Definição 2: Um algoritmo é uma solução de um problema. É composto por instruções elementares de um conjunto pré-definido e deve ser capaz de produzir o outputs especificado para cada um dos inputs potenciais. Exemplo Problema: Dados x,y N (input), calcular mdc(x,y) (output) Problema Algorítmico Solução algorítmica Solução/Algoritmo: Subtrair o menor ao maior até ficarem iguais Algoritmos e Complexidade 6
7 Estrutura de um algoritmo As instruções elementares de um algoritmo podem ser organizadas por estruturas de controlo que especificam a ordem com que as instruções devem ser executadas. Sequência {A B D fazer A e de seguida fazer B e de seguida fazer D Alternativa if(q) A else B se Q então fazer A caso contrário fazer B Iteração while(q)a fazer A enquanto Q for( Subrotinas permite definir novas instruções Output subrotina(input parametro) Algoritmos e Complexidade 7
8 Dados manipulados por um algoritmo A informação manipulada por um algoritmo é guardada em variáveis estruturadas de diversas maneiras (Tipos). Números, caracteres, booleanos, palavras int, long, float, double, char, boolean, String Arrays combinando várias variáveis todas do mesmo tipo Registos/Objectos combinando variáveis de tipos diferentes + operações Xavier 600 Algoritmos e Complexidade 8
9 Dados manipulados por um algoritmo Pilhas (sequência de elementos com disciplina de acesso LIFO) Filas (sequência de elementos com disciplina de acesso FIFO) Árvores (elementos dispostos hierarquicamente) Algoritmos e Complexidade 9
10 Dados manipulados por um algoritmo Grafos (elementos dispostos em rede) Algoritmos e Complexidade 10
11 Exemplos de algoritmos Problema máximo divisor comum : Dados x,y N (input), calcular mdc(x,y) (output) Solução: int euclides(int x,int y){ while(x!= y){ if(x>y) x = x y; else y = y x; return x ; Algoritmos e Complexidade 11
12 Exemplos de algoritmos Problema soma dos n primeiros naturais : Dado n N (input), calcular n (output) Solução 1: int soma(int n){ int s = 0, i = 1; while(i <= n){ s = s + i; i = i + 1; return s; Algoritmos e Complexidade 12
13 Exemplos de algoritmos Problema soma dos n primeiros naturais : Dado n N (input), calcular n (output) Solução 2: Solução de Carl Friedrich Gauss [ ] = = = = = = 5x6/ = 100x101/2 int soma(int n){ return n*(n+1)/2; Algoritmos e Complexidade 13
14 Exemplos de algoritmos Problema soma de salários : Dado um array de n N empregados (input), calcular a soma dos seus salários (output) Solução : class Empregado{ String nome; float salário; Empregado(String nome, float salário){ this.nome = nome; this.salário = salário; float somasalarios(empregado[] empregados, int n){ float soma = 0; for(int i = 0; i < n; i = i +1) soma = soma + empregados[i].salário; return soma; Algoritmos e Complexidade 14
15 Exemplos de algoritmos traço da execução: Xavier Maria Ana Gustavo soma = 0 i = 0 soma = 600 i = 1 soma = 900 i = 2 soma = 2400 i = 3 soma = 5900 i = 4 Algoritmos e Complexidade 15
16 Exemplos de algoritmos Problema ordenação : Dado um array de n N empregados (input), ordenar os empregados por nome (output) Solução: Empregado[] bublesort(empregado[] empregados, int n){ for(int i = 0; i < n-1; i = i +1){ for(int j = 0; j < n-1; j = j +1){ if(empregados[j].nome > empregados[j+1].nome){ Empregado aux = empregados[j]; empregados[j] = empregados[j+1]; empregados[j+1] = aux; return empregados; Algoritmos e Complexidade 16
17 Exemplos de algoritmos traço da execução: Xavier Maria Ana Gustavo Maria Xavier Ana Gustavo Maria Ana Xavier Gustavo Maria Ana Gustavo Xavier Ana Maria Gustavo Xavier Ana Gustavo Maria Xavier Algoritmos e Complexidade 17
18 Exemplos de algoritmos Problema Torres de Hanoi : Édouard Lucas, Nouveaux jeux scientifiques. La Nature, 17: , São dados n discos de diâmetro 1, 2,, n dispostos por ordem decrescente de diâmetro num de 3 postes. Pretende-se transferir todos os discos para um dos outros postes, respeitando as seguintes restrições: 1. apenas um disco pode ser movido de cada vez, 2. apenas se podem mover os discos do topo 3. nenhum disco pode ser colocado sobre outro menor. Algoritmos e Complexidade 18
19 Departamento de Ciências e Tecnologias da Informação Exemplos de algoritmos Solução: Algoritmos e Complexidade 19
20 Exemplos de algoritmos Solução: void Hanoi(int n, char posteinicial, char postefinal, char posteauxiliar){ if(n == 1) System.out.println(posteInicial + + postefinal); else{ Hanoi(n-1, posteinicial, posteauxiliar, postefinal); System.out.println(posteInicial + + postefinal); Hanoi(n-1, posteauxiliar, postefinal, posteinicial); Algoritmos e Complexidade 20
21 Exemplos de algoritmos traço da execução: Hanoi(3,A,B,C) Hanoi(2,A,C,B) Hanoi(2,C,B,A) Hanoi(1,A,B,C) Hanoi(1,B,C,A) Hanoi(1,C,A,B) Hanoi(1,A,B,C) A B A C B C A B C A C B A B Algoritmos e Complexidade 21
22 Departamento de Ciências e Tecnologias da Informação Exemplos de algoritmos Problema ordenação : Dado uma lista de n N números (input), ordenar os números por ordem crescente (output) Solução tree sort : Transformar a lista de input numa árvore binária de pesquisa e de seguida atravessar a árvore em travessia infixa. traço da execução: Algoritmos e Complexidade 22
23 Departamento de Ciências e Tecnologias da Informação Exemplos de algoritmos Solução merge sort : traço da execução: 1. Dividir a lista de input em duas metades (a esquerda e a direita); 2. ordenar a lista esquerda; 3. ordenar a lista direita; 4. juntar as duas listas para obter uma lista final ordenada. Algoritmos e Complexidade 23
24 Métodos algorítmicos para resolução de problemas Como encontrar soluções para problemas? Não existe uma receita fácil para o sucesso! Mas, alguns algoritmos seguem um padrão particular. Incrementais Incrementalmente exploram todos os elementos de uma estrutura de dados e constroem uma solução. Solução Incremental(Dados d){ resultado = valorinicial; for( cada x elemento de d ) actualiza(resultado); return resultado; Exemplos: soma de salários, ordenação tree sort Algoritmos e Complexidade 24
25 Métodos algorítmicos para resolução de problemas Dividir para conquistar Solução DividirparaConquistar(Prolema p){ if(fácil(p)) Resolver(p); else{ Dividir(p) em p1 e p2; sol1 = DividirparaConquistar(p1); sol1 = DividirparaConquistar(p2); solução = Combinar(p1,p2); return solução; Exemplos: Torres de Hanoi, ordenação merge sort Algoritmos e Complexidade 25
26 Métodos algorítmicos para resolução de problemas Gulosos A escolha óptima local conduz à escolha óptima global. Problema Rodovia mais barata : Dada uma rede de n N cidades com os preços de cada ligação (input), qual a rodovia mais barata unindo todas as cidades (output) Solução: 1. Escolhe-se a ligação mais barata ; 2. Enquanto houver ligações ainda por considerar 2.1 Escolhe-se a ligação que permitir estender a rodovia de modo mais barato e sem introduzir ciclos; Algoritmos e Complexidade 26
27 Métodos algorítmicos para resolução de problemas traço da execução: Algoritmos e Complexidade 27
28 Métodos algorítmicos para resolução de problemas Planeamento/Programação dinâmica A escolha óptima global é obtida considerando todas as combinações de: 1. decisões simples (locais); e 2. a escolha óptima global das restantes decisões. Problema Caminho mais Curto : Dada uma rede de n N cidades com os preços de cada ligação e duas cidades dessa rede (input), qual o caminho mais curto entre A e B. Solução: 1. Enquanto houver cidades X directamente ligadas a A 1.1 Calcular o comprimento do caminho mais curto de X a B 2.O caminho final A continua com a cidade X para a qual se tem o mínimo valor do comprimento de A a X + comprimento do caminho mais curto entre X e B Algoritmos e Complexidade 28
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
Programação Estruturada
Programação Estruturada Recursão Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Recursão Recursão 1 Recursão 2
Introdução à Programação. Expressões Booleanas e Comandos Condicionais
Introdução à Programação Expressões Booleanas e Comandos Condicionais Comandos Condicionais Misture os ingredientes Unte forma com manteiga Despeje a mistura na forma Algoritmo para preparação de bolo
Estruturas de dados e algoritmos fundamentais
Ministério da Ciência, Tecnologia e Ensino Superior U.C. 21046 Estruturas de dados e algoritmos fundamentais 11 de Setembro de 2015 INSTRUÇÕES PARA A RESOLUÇÃO DO EXAME, ACONSELHA-SE QUE LEIA ATENTAMENTE
Universidade Federal do ABC Programação Estruturada Fabrício Olivetti França Lista de Exercícios 02
1 Objetivos da lista Universidade Federal do ABC Programação Estruturada Fabrício Olivetti França Lista de Exercícios 02 Esta lista de exercícios tem como objetivo introduzir funções na linguagem C. Como
1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18
ÍNDICE MÓDULO 1 INTRODUÇÃO À ALGORITMIA 11 1.1 PROGRAMAS E ALGORITMOS 12 Fases da programação 12 Algoritmos e algoritmia 13 Algoritmos em linguagem informal, pseudocódigo e fluxogramas 14 Símbolos utilizados
Estruturas 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
Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada
Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre T. 04 Algoritmos e Programação Estruturada Objectivos: Aprender o conceito de algoritmo e suas características fundamentais
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
Lista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013
Lista 1 - PMR2300 Fabio G. Cozman 3 de abril de 2013 1. Qual String é impressa pelo programa: p u b l i c c l a s s What { p u b l i c s t a t i c void f ( i n t x ) { x = 2 ; p u b l i c s t a t i c void
Recursividade. Métodos iterativos. Prof. Cesar Augusto Tacla. Métodos iterativos utilizam estruturas de repetição
Recursividade Prof. Cesar Augusto Tacla Métodos iterativos Métodos iterativos utilizam estruturas de repetição For While Do while Normalmente, um método invoca outros métodos, não a si mesmo. 2 1 Recursividade
INTRODUÇÃO A PROGRAMAÇÃO
INTRODUÇÃO A PROGRAMAÇÃO Aula - 3 Edilson Hipolito da Silva [email protected] - http://wwww.hipolito.info Roteiro 2 Exercícios Lógica 3 Para podermos trabalhar com desenvolvimento de sistemas/programas
Simulado de Linguagem de Programação Java
Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as
Aula 21 - Algoritmos e Funções Recursivas
Aula 21 - Considere a definição da função fatorial: n! = 1 se n 0 Considere agora a seguinte definição equivalente: n! = 1 se n 0 Dizemos que essa
Estrutura de Dados. Algoritmos de Ordenação. Prof. Othon M. N. Batista Mestre em Informática
Estrutura de Dados Algoritmos de Ordenação Prof. Othon M. N. Batista Mestre em Informática Roteiro Introdução Ordenação por Inserção Insertion Sort Ordenação por Seleção Selection Sort Ordenação por Bolha
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
Análise de Complexidade para algoritmos iterativos e recursivos
Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa Análise de Complexidade para algoritmos iterativos e recursivos Algoritmos iterativos - complexidade expressa através de somatórios. Algoritmos
Introdução à Programação. Vanessa Braganholo
Introdução à Programação Vanessa Braganholo [email protected] Processo de resolução de problemas (Princípios de Pólya) Definição dos requisitos do problema (fazer o programa certo) Entradas Cálculos Casos
Revisão da Linguagem C Prof. Evandro L. L. Rodrigues
SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos
MC102 Aula 27 Recursão II
MC102 Aula 27 Recursão II Instituto de Computação Unicamp 17 de Novembro de 2016 Roteiro 1 Recursão Relembrando 2 Cálculo de Potências 3 Torres de Hanoi 4 Recursão e Backtracking 5 Exercício (Instituto
Recursividade. Recursividade
A recursão é uma técnica que define um problema em termos de uma ou mais versões menores deste mesmo problema. Esta ferramenta pode ser utilizada sempre que for possível expressar a solução de um problema
Projeto e Análise de Algoritmos Análise de Complexidade. Prof. Luiz Chaimowicz
Projeto e Análise de Algoritmos Análise de Complexidade Prof. Luiz Chaimowicz AGENDA Modulo 1 Data Assunto Capítulos 05/03 Algoritmos / Invariantes / Intro Análise de Complexidade 07/03 Não Haverá Aula
INF 1010 Estruturas de Dados Avançadas
INF 1010 Estruturas de Dados Avançadas Complexidade de Algoritmos 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.2 1 Introdução Complexidade computacional Termo criado por Hartmanis e Stearns (1965)
Introdução à Programação
Introdução à Programação Leonardo Gresta Paulino Murta [email protected] Processo de resolução de problemas (Princípios de Pólya) Definição dos requisitos do problema (fazer o programa certo) Entradas
INF111 Programação II Aulas 11, 12, 13 Ordenação
INF Programação II Aulas,, Ordenação Departamento de Informática UFV Ordenação A ordenação é o processo de organizar um conunto (vetor) de n obetos ou registros segundo uma determinada ordem crescente
Estrutura de Dados. Diego Silveira Costa Nascimento
Estrutura de Dados Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte [email protected] 31 de agosto de 2017 Ementa do Curso 1 Introdução
LISTA DE EXERCÍCIOS MÊS 04
São José dos Campos, 05 de Junho de 2008 Disciplina: CES 10 Introdução à Computação. Semestre 2008-2º Período Professor: Carlos Henrique Quartucci Forster Estagiária: Michelle de Oliveira Parreira Instituto
SCC Capítulo 2 Recursão
SCC-501 - Capítulo 2 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
Recursividade. Objetivos do módulo. O que é recursividade
Recursividade Objetivos do módulo Discutir o conceito de recursividade Mostrar exemplos de situações onde recursividade é importante Discutir a diferença entre recursividade e iteração O que é recursividade
CURSO DE ESTRUTURA DE DADOS MÓDULO: ALGORITMOS DE ORDENAÇÃO E PESQUISA PROFESSORA: DANIELA ELOISE FLÔR COLABORADORA: MARIA CAROLINA SILA VANUCHI
CURSO DE ESTRUTURA DE DADOS MÓDULO: ALGORITMOS DE ORDENAÇÃO E PESQUISA PROFESSORA: DANIELA ELOISE FLÔR COLABORADORA: MARIA CAROLINA SILA VANUCHI O QUE SÃO ALGORITMOS DE ORDENAÇÃO? São algoritmos que organizam
Linguagem C: Ordenação
Instituto de C Linguagem C: Ordenação Luis Martí Instituto de Computação Universidade Federal Fluminense [email protected] - http://lmarti.com Tópicos Principais Introdução Algoritmos de ordenação Ordenação
FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara
Universidade do Estado de Minas Gerais - UEMG Curso de Engenharia da Computação FUNÇÕES EM C 1 Material adaptado da profa Silvana Maria Affonso de Lara ROTEIRO DA AULA Definição de Função Argumentos, retornos
Métodos de ordenação. Bubble sort:
Métodos de ordenação Bubble sort: O método de ordenação por bubble sort ou conhecido como bolha consiste em compara dados armazenados em um vetor de tamanho qualquer, comparando cada elemento de uma posição
Programação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões
Processamento de Dados aplicado à Geociências 1 AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO
Teoria da Computação. Aula 4 Técnicas de Análise 5COP096. Aula 4 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr
5COP096 Teoria da Computação Aula 4 Prof. Dr. Sylvio Barbon Junior 1 Sumário 1) Técnicas de Análise de Algoritmos 2) Paradigmas de Projeto de Algoritmos 1) Indução 2) Recursão 3) Algoritmos Tentativa e
Exemplos. Jogo dos oito :-) Mundo dos blocos (ex: torre de Hanoi) Poblema das rainhas. Criptoaritmética. Missionários e Canibais.
istemas Inteligentes, 10-11 1 Exemplos Jogo dos oito :-) Mundo dos blocos (ex: torre de Hanoi) Poblema das rainhas Criptoaritmética Missionários e Canibais Resta-um e muitos outros... istemas Inteligentes,
Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.
Computação L2 Linguagem C++ [email protected] Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);
Sub-rotinas em C. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto
Sub-rotinas em C Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Agenda Sub-rotinas: Função e Procedimentos A função main Variáveis globais e locais Escopo de variáveis Passagem
05 Análise de Algoritmos (parte 4) SCC201/501 - Introdução à Ciência de Computação II
05 Análise de Algoritmos (parte 4) SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2010/2 Moacir
ALGORITMOS DE ORDENAÇÃO RECURSIVOS
1/14 ALGORITMOS DE ORDENAÇÃO RECURSIVOS Ordenação rápida ( Quicksort ) 2/14 Ordenação rápida ( Quicksort ) Ideia - Baseia-se num princípio muito simples que, quando aplicado recursivamente, acaba por ordenar
1. Selecione a Estrutura de Dados que melhor representa os diretórios ou pastas de arquivos do computador.
1. Selecione a Estrutura de Dados que melhor representa os diretórios ou pastas de arquivos do computador. 1) Fila 2) Pilha 3) Árvore 4) Lista 5) Grafo 2. Selecione a Estrutura de Dados que melhor representa
Recursividade. Prof. Jesus José de Oliveira Neto
Recursividade Prof. Jesus José de Oliveira Neto Algoritmos podem ser definidos de duas formas: Forma iterativa ou não recursiva: utiliza laços de repetição (while, for, do/while) Forma recursiva: métodos
UNIMINAS. 101.. Só é necessário o armazenamento de: Sinal da mantissa: - (menos). Valor da mantissa: 00110101. Sinal do expoente: -(na realidade, háh
Representação em Ponto Flutuante Utiliza-se a representação científica normalizada: 2500 = 2,5 x 10 3 0,00009 = 9,0 x 10-5. Mantissa: 1 =< M < 2. Na realidade, trabalha-se na base 2: -1,00110101 x 2-1012
Métodos de Ordenação: Selection, Insertion, Bubble, Merge (Sort)
Métodos de Ordenação: Selection, Insertion, Bubble, Merge (Sort) Hebert Coelho e Nádia Félix Ordenação É a operação de rearranjar os dados em uma determinada ordem. Problema da ordenação - Definição formal
Planificação Anual da disciplina de Programação e Sistemas de Informação 10º 1PI
Res e M ó d u l o 1 - I n t r o d u ç ã o à P r o g r a m a ç ã o e A l g o r i t m i a 1. Introdução à Lógica de Programação 1.1. Lógica 1.2 Sequência Lógica 1.3 Instruções 1.4 Algoritmos 2. Desenvolvimento
S U M Á R I O. Definição de Estrutura de Dados. Vetores. Listas Ligadas. Pilhas. Filas
ESTRUTURA DE DADOS DEBORAH FERREIRA S U M Á R I O Definição de Estrutura de Dados 1 Vetores 2 Listas Ligadas 4 Pilhas 6 Filas 8 D E F I N I Ç Ã O D E E S T R U T U R A D E D A D O S Estruturas de dados
Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet
Aula 17 Quick Sort Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno Ordenação
TCC 00308: Programação de Computadores I Introdução
TCC 00308: Programação de Computadores I 2017.1 Introdução Processo de resolução de problemas Definição dos requisitos do problema (fazer o programa certo) Entradas Cálculos Casos especiais Saídas Desenvolvimento
Fundamentos de Programação
Fundamentos de Programação CP41F Aula 2 Prof. Daniel Cavalcanti Jeronymo Conceito de algoritmo. Raciocínio lógico na construção de algoritmos. Estrutura de algoritmos. Universidade Tecnológica Federal
Recursividade. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Recursividade David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Conceito de Recursividade Fundamental em Matemática e Ciência da Computação Um programa recursivo é um programa que chama a si
ALGORITMOS AVANÇADOS UNIDADE II Recursividade. Luiz Leão
Luiz Leão [email protected] http://www.luizleao.com Conteúdo Programático 2.1 - Definições recursivas 2.2 - Como implementar recursividade 2.3 - Quando não usar recursividade 2.4 - Desenvolvendo algoritmos
Projeto e Desenvolvimento de Algoritmos
Projeto e Desenvolvimento de Algoritmos O que são algoritmos? Índice Objetivos Introdução Representação de Algoritmos Linguagem Natural Fluxogramas Pseudo-Linguagem Técnicas de Projeto de Algoritmos Objetivos
Algoritmos e Estruturas de dados
Algoritmos e Estruturas de dados Listas Encadeadas Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas) 1 / 21 Definição: Anteriormente estudamos listas encadeadas que foram implementadas como vetores
Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;
1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e
Algoritmos de ordenação Ordenação rápida ( Quicksort )
Ordenação rápida ( Quicksort ) Baseia-se num princípio muito simples que, quando aplicado recursivamente, acaba por ordenar o vector. Este princípio é composto por 2 passos essenciais: 1. Escolher um elemento
TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados
TÉCNICAS DE PROGRAMAÇÃO Estrutura de dados O que são estrutura de dados? É a forma como os armazenamos tipos de dados, vistos dia a dia, ou seja, nada mais são do que a transformação de uma forma de armazenamento
Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes
Aula 03 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www3.ifrn.edu.br/~brunogomes Agenda da Aula Representação de Algoritmos em Pseudocódigo: Tipos de Dados;
Aula 7 e 8 Filas e suas Aplicações. Prof. Leticia Winkler
Aula 7 e 8 Filas e suas Aplicações Prof. Leticia Winkler 1 Definição de Fila (Queue) São estruturas de dados do tipo FIFO (first-in first-out) - o primeiro elemento a ser inserido, será o primeiro a ser
Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP. Recursividade
Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Recursividade Conceito de Recursividade Fundamental em Matemática e Ciência da Computação Um programa recursivo é um programa que chama a si mesmo
Capacitação em Linguagem C Parte 2
Capacitação em Linguagem C Parte 2 Andrey Souto Maior Giuseppe Portolese Universidade Estadual de Maringá - Centro de Tecnologia Departamento de Informática 22 de outubro de 2015 Sumário I Tipos abstratos
ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza
ESTRUTURAS CONDICIONAIS Introdução à Ciência da ComputaçãoI Simone Senger de Souza Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURA CONDICIONAL ESTRUTURA DE REPETIÇÃO 2 Estruturas Condicionais Estrutura
Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga
Algoritmos e Programação II Aula 3 Sobrecarga *Adaptado do material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, com nomes
1ª Lista de Exercícios
Universidade Federal do Rio de Janeiro Data: 26/04/05 Disciplina: Computação I 1ª Lista de Exercícios 1) Faça um programa, em pseudo-código, que peça ao usuário que informe n números reais e então calcule
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Prof. Daniel M. Martin ([email protected]) Aula 10 (Baseada nos slides do Prof. André Balan) Recursão Recursão Da wikipedia: A recursão é o processo pelo qual
Algoritmos e Programação
Algoritmos e Programação Joyce França Professora de Ciência da Computação - IFNMG Roteiro aula 1 Apresentação da disciplina Definição de algoritmos Plano de Ensino EMENTA OBJETIVOS CONTEÚDO PROGRAMÁTICO
GABARITO Questão a b c d e
Documento gerado por Contato: [email protected] Instituto Federal Catarinense Curso: Engenharia Mecânica Turma: 2016/Turma Extra Disciplina: Informática para Engenharia Docente: Ricardo Antonello
