Algoritmos de Ordena??o e Busca
|
|
- Diogo Barbosa
- 5 Há anos
- Visualizações:
Transcrição
1 Algoritmos de Ordena??o e Busca September 6, 2018 In [2]: from IPython.display import HTML from IPython.display import Image 1 Algoritmos de Ordenação e Busca Nessa aula termos uma introdução aos algoritmos de ordenação Bubble Sort e a analise de complexidade desse algortimo. No vídeo a seguir é apresentado a visão geral dos principais algoritmos de ordenação: In [3]: HTML('<iframe width="560" height="315" src=" f Out[3]: <IPython.core.display.HTML object> 1.1 Algoritmo de Ordenação Por Troca (Bubble Sort) 1. São efetuadas comparações entre os dados armazenados num vetor de tamanho n. 2. Cada elemento da posição i é comparado como o elemento da posição i+1 3. Quando a ordenação procurada é encontrada, uma troca de posição entreo os elementos é feita. In [3]: HTML('<iframe width="560" height="315" src=" f Out[3]: <IPython.core.display.HTML object> In [4]: Image(filename='./imagens/bubbleSort01.png') Out[4]: 1
2 In [5]: Image(filename='./imagens/bubbleSort02.png') Out[5]: 2
3 In [6]: Image(filename='./imagens/bubbleSort03.png') Out[6]: 3
4 In [7]: Image(filename='./imagens/bubbleSort04.png') Out[7]: 4
5 In [8]: Image(filename='./imagens/bubbleSort05.png') Out[8]: 5
6 1.2 Implementação do Bubble Sort em Python Primeira Versão: In [4]: n = int(input("entre com o número de elementos de X: ")) #Criando a lista de 5 elementos a partir da entrada do usuário X = [int(input("digite o {0}{1}: ".format(i+1, chr(176)))) for i in range(n)] print("o vetor de entrada é: ") print(x) #Ordenação de forma crescente, a partir do número de elementos em X #Laço com a quantidade de elementos do vetor for k in range(1, n+1): #Laço que percorre da primeiira à penultima posição do vetor for i in range(0, n-1): if(x[i] > X[i+1]): X[i], X[i+1] = X[i+1], X[i] 6
7 print("o vetor ordenado é: ") print(x) Entre com o número de elementos de X: 5 Digite o 1ř: 3 Digite o 2ř: 8 Digite o 3ř: 9 Digite o 4ř: 5 Digite o 5ř: 7 O vetor de entrada é: [3, 8, 9, 5, 7] O vetor ordenado é: [3, 5, 7, 8, 9] Análise de Complexidade do Algorítmo O trecho importante para a anállise de complexidade do algorítmo é o que relaiza a comparação for k in range(1, n+1): for i in range(0, n-1): if(x[i] > X[i+1]): X[i], X[i+1] = X[i+1], X[i] Quantas vezes o laço interno será executado, se a entrada for n=5? Veja que temos n (n 1) = n 2 n c 2, com c = 1, n 1, logo, a complexidade do algoritmo é O(n 2 ). 1.3 Versão Melhorada 1 do Bubble Sort 1. Cada elemento de posição i será comparada com o de posiçãoi i-1 2. Quando a ordenação procurada é encontrada, uma troca de posição de elementos é feita 3. Precisamos de um laço com a quantidade de elementos do vetor menos um 4. Dentro desse laço, um outro vetor percorre da última posição à posição j, fazendo com que as posições já ordenadas não sejam mais percorridas. In [20]: Image(filename='./imagens/bubbleSort_v01_01.png') Out[20]: 7
8 In [21]: Image(filename='./imagens/bubbleSort_v01_02.png') Out[21]: 8
9 In [22]: Image(filename='./imagens/bubbleSort_v01_03.png') Out[22]: 9
10 In [23]: Image(filename='./imagens/bubbleSort_v01_04.png') Out[23]: Implementação da nova versão em Python In [46]: n = int(input("entre com o número de elementos de X: ")) #Criando a lista de 5 elementos a partir da entrada do usuário X = [int(input("digite o {0}{1}: ".format(i+1, chr(176)))) for i in range(n)] print("o vetor de entrada é: ") print(x) for j in range(1, n): for i in range(n-1, j-1, -1): if X[i] < X[i-1]: X[i], X[i-1] = X[i-1], X[i] print("o vetor ordenado é: ") print(x) Entre com o número de elementos de X: 9 Digite o 1ř: 5 Digite o 2ř: 9 Digite o 3ř: 3 Digite o 4ř: 0 Digite o 5ř: 7 Digite o 6ř: 2 Digite o 7ř: 4 Digite o 8ř: 1 Digite o 9ř: 6 O vetor de entrada é: [5, 9, 3, 0, 7, 2, 4, 1, 6] O vetor ordenado é: [0, 1, 2, 3, 4, 5, 6, 7, 9] 10
11 Análise da Complexidade for j in range(1, n): O techo de código que importa nesse caso é for i in range(n-1, j-1, -1): if X[i] < X[i-1]: X[i], X[i-1] = X[i-1], X[i] Quantas vezes cada laço será executado? 1. A laço superior será executado (n-1) vezes. 2. Já o número de vezes que o laço interno irá executar depende do valor de j. 3. Para j=1, o laço interno executa 4 vezes, para j=2 o laço executa será executado 3 vezes, para j= 3, duas vezes e uma para j=4. Assim, o número de comparações, para um vetor de tamanho n será: ((n 1) Com isso chegamos ao seguinte somatório: T(n) = n 1 i=1 = (1+n 1)(n 1) 2 = n2 n 2 Ou seja, o algoritmo é de ordem O(n 2 ) 1.4 Versão Melhorada 2 do Bubble Sort 1. Comparação entre elementos de um vetor de tamanho n 2. Cada elemento de posição i será comparado com o de posição i+1 3. Quando a ordenação que se busca é encontrada, uma troca de posição é feita entre os dados 4. Laço com a quantidade de elemento será executada enquanto houver troca 5. Um laço interno será executado, percorrendo da primeira à penúltima posição do vetor. In [47]: Image(filename='./imagens/bubbleSort_v02_01.png') Out[47]: 11
12 In [48]: Image(filename='./imagens/bubbleSort_v02_02.png') Out[48]: 12
13 1.4.1 Implementação em Python In [53]: n = int(input("entre com o número de elementos de X: ")) #Criando a lista de 5 elementos a partir da entrada do usuário X = [int(input("digite o {0}{1}: ".format(i+1, chr(176)))) for i in range(n)] 13
14 print("o vetor de entrada é: ") print(x) troca = True #Ordenação de forma decrescente #Laço com a quantidade de elementos do vetor e enquanto houver troca for k in range(1, n+1): troca = False for i in range(0, n-1): if X[i] < X[i+1]: troca = True X[i], X[i+1] = X[i+1], X[i] if troca is False: break print("o vetor ordenado é: ") print(x) Entre com o número de elementos de X: 5 Digite o 1ř: 1 Digite o 2ř: 3 Digite o 3ř: 9 Digite o 4ř: 8 Digite o 5ř: 8 O vetor de entrada é: [1, 3, 9, 8, 8] O vetor ordenado é: [9, 8, 8, 3, 1] Exercícios 1. Qual a complexidade do algoritmo melhorado versão 2 do Bubble sort? 2. Execute as três versões do código Bubble sort e faça uma comparação de tempo de execução para cada caso, para um vetor de tamanho Para isso, use também como base o seguinte código em Python: In [58]: import time import random t0 = time.time() time.sleep(2) t1 = time.time() deltat = t1 - t0 print(deltat) 14
15 meusnumeros = random.sample(range(100), 10) print(meusnumeros) [0, 18, 36, 58, 77, 86, 32, 45, 59, 46] 3. Rode o Bubble Sort melhorado versão 2, vezes, em que cada rodada deve ser gerado um vetor aleatório, de tamanho Para cada rodada, armazene o tempo de execução em uma tabela. Compare os tempos de execução. São sempre iguais? Se existe diferença, qual o motivo para essa variação? 15
Estruturas de Repetição. Vanessa Braganholo
Estruturas de Repetição Vanessa Braganholo vanessa@ic.uff.br Estruturas de Repetição } Permitem que um bloco de comandos seja executado diversas vezes } Dois tipos de Repetição: } Repetição condicional:
Leia maisaula05 September 6, 2018
aula05 September 6, 018 In [1]: from IPython.display import HTML from IPython.display import Image 1 Filas de Prioridade 1. Estrutura de Dados do tipo pilha e fila são consideradas listas especializadas..
Leia maisListas e Tuplas. Vanessa Braganholo
Listas e Tuplas Vanessa Braganholo vanessa@ic.uff.br Exemplo Motivacional } Programa para auxiliar a escrever Parabéns! nas melhores provas de uma disciplina com 3 alunos } Ler os nomes e as notas de 3
Leia maisQuick Sort. Considerações Sobre Algoritmos de Ordenação. Estagiário PAE: Jesimar da S. Arantes Professor: Claudio Quick F. M.
Quick Sort Considerações Sobre Algoritmos de Ordenação Professor: Claudio F. M. Toledo 26 de Outubro de 2016 Professor: Claudio Quick F. M. Sort Toledo 26 de Outubro de 2016 1 / 14 Quicksort: Escolha do
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 maisEstruturas de Repetição. Leonardo Murta
Estruturas de Repetição Leonardo Murta leomurta@ic.uff.br Estruturas de Repetição } Permitem que um bloco de comandos seja executado diversas vezes } Dois tipos de Repetição: } Repetição condicional: executa
Leia maisACH5531 Introdução à Computação Estruturas de repetição
ACH5531 Introdução à Computação Estruturas de repetição Prof. Dr. Grzegorz Kowal grzegorz.kowal@usp.br https://sites.google.com/usp.br/ach5531 1 o sem 2019 sexta-feira, 14h00-15h45 CB, Bloco 3, 2 o andar,
Leia maisBUSCA EM ARRAYS. Prof. André Backes. Ato de procurar por um elemento em um conjunto de dados
BUSCA EM ARRAYS Prof. André Backes Definição 2 Ato de procurar por um elemento em um conjunto de dados Recuperação de dados armazenados em um repositório ou base de dados A operação de busca visa responder
Leia maisMÉTODOS DE CLASSIFICAÇÃO EM MEMÓRIA PRIMÁRIA. George Gomes Cabral
MÉTODOS DE CLASSIFICAÇÃO EM MEMÓRIA PRIMÁRIA George Gomes Cabral MÉTODOS DE CLASSIFICAÇÃO EM MEMÓRIA PRIMÁRIA Métodos Elementares Classificação por Trocas Método da Bolha Bubblesort Método de Partição
Leia maisVetores. Vanessa Braganholo
Vetores Vanessa Braganholo vanessa@ic.uff.br Exemplo Motivacional } Programa para auxiliar a escrever Parabéns! nas melhores provas de uma disciplina com 3 alunos } Ler os nomes e as notas de 3 alunos
Leia maisAnálise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Professor Ariel da Silva Dias Insertion Sort Introdução Existem modos diferentes para realizar uma ordenação e, nas próximas aulas, continuaremos estudando cada uma
Leia maisMé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
Leia maisProcessamento da Informação Teoria. Laços
Processamento da Informação Teoria Laços Semana 02 Prof. Jesús P. Mena-Chalco 04/05/2013 Laços (estruturas de repetição) Usado em situações em que é necessário repetir um determinado trecho de um programa,
Leia maisESTRUTURA DE DADOS ORDENANDO LISTAS
ESTRUTURA DE DADOS ORDENANDO LISTAS Prof. Dr. Daniel Caetano 2014-2 Objetivos Compreender o que são ordenações por seleção e por inserção Capacitar para implementar ambos os tipos de ordenação Material
Leia maisAlgoritmos de Ordenação
Algoritmos de Ordenação 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 10/2008 Material baseado em
Leia maisProcessamento da Informação Teoria. Laços aninhados
Processamento da Informação Teoria Laços aninhados Semana 03 Prof. Jesús P. Mena-Chalco 10/05/2013 Uma possível solução da lista 02... Questão 1: Crie uma função que permita somar apenas os números impares
Leia maisESTRUTURA DE DADOS ORDENANDO LISTAS
ESTRUTURA DE DADOS ORDENANDO LISTAS Prof. Dr. Daniel Caetano 2012-2 Objetivos Compreender o que são ordenações por seleção e por inserção Capacitar para implementar ambos os tipos de ordenação GRUPOS?
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 maisPython 3.x Estrutura de Repetição while
Python 3.x Estrutura de Repetição while Introdução à Ciência da Computação Prof. Edison Ishikawa Sumário Atribuição Atualizando variáveis Iterações Revisitando o laço for Laço while Rastreando um programa
Leia maisINF1007: Programação 2 6 Ordenação de Vetores. 01/10/2015 (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 6 Ordenação de Vetores 01/10/2015 (c) Dept. Informática - PUC-Rio 1 Tópicos Introdução Ordenação bolha (bubble sort) Ordenação por seleção (selection sort) 01/10/2015 (c) Dept. Informática
Leia maisIntrodução à Computação - aulas 01 e 02 -
MAC2166 Introdução à Computação - aulas 01 e 02 - Mauro Cesar Bernardes 25/Fevereiro/2014 Agenda Instalação do Python Python Shell Variáveis Operadores relacionais Operadores numéricos Comando de saída
Leia maisINF111 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
Leia maisMétodo de ordenação - objetivos:
Método de ordenação - objetivos: Corresponde ao processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. Facilitar a recuperação posterior de itens do conjunto ordenado. São
Leia maisComputação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10
Computação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10 Estrutura de Repetição while Estrutura que permite a repetição de um conjunto de comandos. Até o momento vimos o while: while
Leia maisFabio G. Cozman, Thiago Martins 2017
Lista 1 - adendo - PMR3201 Fabio G. Cozman, Thiago Martins 2017 Exercícios 1. (P1 2016) A listagem a seguir mostra o código de uma função que converte uma cadeia de caracteres com a representação decimal
Leia maisLaboratório de Programação 1 Aula 07
Laboratório de Programação 1 Aula 07 Mário Hozano professor@hozano.com Ciência da Computação UFAL - Arapiraca Relembrando a aula anterior... O que são estruturas de repetição? Quais comandos em Python
Leia maisVETORES. Lista de Exercícios Vetores Prof: Yuri Frota
Lista de Exercícios Vetores Prof: Yuri Frota VETORES 1) Faça um programa em Python que leia um conjunto de 100 elementos numéricos e os armazene em um vetor (lista). Em seguida, o programa deverá procurar
Leia maisOrdenação por Seleção Métodos de Ordenação Parte 3
Ordenação por Seleção Métodos de Ordenação Parte SCC-6 Introdução à Ciência da Computação II Rosane Minghim Idéia básica: os elementos são selecionados e dispostos em suas posições corretas Seleção direta
Leia maisMétodos de Ordenação
Métodos de Ordenação Parte 3 SCC-601 Introdução à Ciência da Computação II Rosane Minghim 2010/2011 Baseado no material dos Professores Rudinei Goularte e Thiago Pardo 1 Ordenação por Seleção Idéia básica:
Leia maisAnálise de Algoritmos
Análise de Algoritmos Parte 1 Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 04 Algoritmos e Estruturas de Dados I Qual a diferença entre um algoritmo e um programa? Como escolher o algoritmo
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 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 Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo
Leia maisA resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?
23 Algoritmos com Repetição Nos exemplos e exercícios vistos até agora, sempre foi possível resolver os problemas com uma sequência de instruções que eram executadas apenas uma vez. Existem três estruturas
Leia maisPC1. Algoritmos Interessantes Vetor e Matriz
PC Algoritmos Interessantes Vetor e Matriz Algoritmos Interessantes Vetor Fila Pilha Ordenação Bubble Sorting Matriz Análise de distância Distância de Manhattan Exercício Exercício Vetor ou Array ou Matriz
Leia maisFACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto a Análise de Algoritmos I Lista de Exercícios 1
FACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Projeto a Análise de Algoritmos I Lista de Exercícios 1 Prof. Osvaldo. 1. Descreva alguns problemas associados ao emprego de metodologias
Leia maisLinguagem C estruturas de repetição
Linguagem C estruturas de repetição IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C Estrutura de um programa Escrita e
Leia maisComputação 1. Aula 8 Teórica professor: Leonardo Carvalho
Computação 1 Aula 8 Teórica professor: Leonardo Carvalho Mais exercícios com for 2 Exercício Escreva uma função que recebe um inteiro n e retorna o somatório: 3 Solução import math def somatorio(n): '''Calcula
Leia maisANÁLISE DE ALGORITMOS: PARTE 1. Prof. André Backes. Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa
ANÁLISE DE ALGORITMOS: PARTE 1 Prof. André Backes Algoritmos 2 Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa Precisamos escrever o seu algoritmo Um algoritmo
Leia maisCURSO 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
Leia maisOrganização de programas em Python. Vanessa Braganholo
Organização de programas em Python Vanessa Braganholo vanessa@ic.uff.br Vamos programar em Python! Mas... } Como um programa é organizado? } Quais são os tipos de dados disponíveis? } Como variáveis podem
Leia maisIntrodução a Programação
Introdução a Programação Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida Aula 02 Primeiro Programa Roteiro Primeiros Passos Variáveis Expressões Comandos
Leia maisComputação 1 - Python Aula 7 - Teórica: Estrutura de Repetição com teste de parada: while 1/ 23
Computação 1 - Python Aula 7 - Teórica: Estrutura de Repetição com teste de parada: while 1/ 23 Permite que o programador especifique que o programa deve repetir um conjunto de comandos enquanto uma dada
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 Ordenação por bolha (bubble sort)
Leia maisOperadores e Estruturas de Decisão. Vanessa Braganholo
Operadores e Estruturas de Decisão Vanessa Braganholo vanessa@ic.uff.br Aula de hoje } Operadores } Aritméticos (usados em contas) } Relacionais (usados em comparações numéricas) } Lógicos (usados em comparações
Leia maisALGORITMOS DE ORDENAÇÃO
ALGORITMOS DE ORDENAÇÃO Prof. André Backes Conceitos básicos 2 Ordenação Ato de colocar um conjunto de dados em uma determinada ordem predefinida Fora de ordem 5, 2, 1, 3, 4 Ordenado 1, 2, 3, 4, 5 OU 5,
Leia maisUnidade 11: Estrutura de Repetição Simples Prof. Daniel Caetano
Informática para Engenharia 1 Unidade 11: Estrutura de Repetição Simples Prof. Daniel Caetano Objetivo: Realizando decisões de repetição simples no código de programação. Bibliografia: ASCENCIO, 2007;
Leia maisINFORMÁTICA PARA ENGENHARIA ESTRUTURAS DE DECISÃO. Prof. Dr. Daniel Caetano
INFORMÁTICA PARA ENGENHARIA ESTRUTURAS DE DECISÃO Prof. Dr. Daniel Caetano 2019-1 Objetivos Entender a ideia de decisão Compreender os operadores relacionais Compreender como implementar decisões, decisões
Leia maisIntrodução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin
Introdução a Programação Curso: Sistemas de Informação Programação I José R. Merlin Programas Programas são instruções para o computador executar uma tarefa Estas instruções seguem uma lógica Lógica: modo
Leia maisListas Estáticas. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista
Listas Estáticas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de
Leia maisListas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.
Listas Estáticas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de
Leia maisEstruturas de Repetição. Vanessa Braganholo
Estruturas de Repetição Vanessa Braganholo vanessa@ic.uff.br Estruturas de Repetição } Permitem que um bloco de comandos seja executado diversas vezes } Repetição condicional: executa um bloco de código
Leia maisBCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 15: Ordenação: ShellSort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes Email: reifortes@iceb.ufop.br
Leia maisProgramação de Computadores I
Programação de Computadores I 2018.2 Por que programar? Porque é legal Por que programar? Porque é legal Porque pode render dinheiro Por que programar? Porque é legal Porque pode render dinheiro Porque
Leia maisA resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?
23 Algoritmos com Repetição Nos exemplos e exercícios vistos até agora, sempre foi possível resolver os problemas com uma sequência de instruções que eram executadas apenas uma vez. Existem três estruturas
Leia maisTeoria 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
Leia maisIntrodução à Programação Aula 5 Ciclos e condicionais
Introdução à Programação Aula 5 Ciclos e condicionais Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 5 Ciclos e condicionais 2017 1 / 28 Nesta aula Na aula passada:
Leia maisAula 3 Listas Lineares Sequenciais Ordenadas. prof Leticia Winkler
Aula 3 Listas Lineares Sequenciais Ordenadas prof Leticia Winkler 1 Listas Lineares Sequenciais Ordenadas Elementos da lista estão dispostos num vetor (contíguos na memória) e ordenado de acordo com alguma
Leia maisCES-11. Noções de complexidade de algoritmos. Complexidade de algoritmos. Avaliação do tempo de execução. Razão de crescimento desse tempo.
CES-11 Noções de complexidade de algoritmos Complexidade de algoritmos Avaliação do tempo de execução Razão de crescimento desse tempo Notação O Exercícios COMPLEXIDADE DE ALGORITMOS Importância de análise
Leia maisTCC 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
Leia maisMAC2166 Introdução à Computação
Departamento de Ciência da Computação IME USP MAC2166 Introdução à Computação Escola Politécnica Primeiro Semestre de 2015 Prova Substitutiva QUESTÃO 1 Esta questão consiste na implementação de duas funções
Leia maisAlgoritmos 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
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 maisEstrutura 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
Leia maisLista de Linguagens de Programação 16
Lista de Linguagens de Programação 16 Nome: Matrícula: Os exercícios desta lista devem ser todos implementados em Python. 1. Este exercício faz referência às classes implementadas em Python disponíveis
Leia maisAlgoritmos e Estrutura de Dados Aula 02 Listas em Python
Algoritmos e Estrutura de Dados Aula 02 Listas em Python Profa. Alana Oliveira e Prof. Davi Viana alanaslz@gmail.com e davi.viana@lsdi.ufma.br Se não entender, pergunte! 2 1 Dados e Tipos de Dados Um dado
Leia maisComputação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br
Computação Eletrônica Vetores e Matrizes Prof: Luciano Barbosa Recapitulando: Funções 2 Recapitulando: Função Void 3 Recapitulando: Escopo das Variáveis Referência à variável global A variável de escopo
Leia maisProgramação II. Ordenação (sort) Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Ordenação (sort) Bruno Feijó Dept. de Informática, PUC-Rio Bubble Sort Bubble Sort Ordem Crescente Apenas de interesse didático e de referência A idéia é ir comparando dois vizinhos e trocando
Leia maisProgramação de Computadores I
Programação de Computadores I 2018.2 Problema 1: Bissexto Determinar se cada ano digitado é bissexto até encontrar um 0. Um ano é bissexto se é múltiplo de 400 ou é múltiplo de 4, exceto se for múltiplo
Leia maisTCC 00308: Programação de Computadores I Organização de programas em Python
TCC 00308: Programação de Computadores I 2017.1 Organização de programas em Python Vamos programar em Python! Como um programa é organizado? Quais são os tipos de dados disponíveis? Como variáveis podem
Leia mais4. Algoritmos de Busca em Vetores
Introdução à Computação II 5952011 4. Algoritmos de Busca em Vetores Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 4.1. Introdução 4.2. Busca Linear 4.2.1.
Leia maisAULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa
AULA 2: INTRODUÇÃO A PYTHON Luís Feliphe Silva Costa Sumário Variáveis simples Entrada e Saída de dados Operadores Estruturas Condicionais Estruturas de repetição Funções Tratamento de erros Variáveis
Leia maisComputação 1 - Python Aula 12 - Teórica: Interação com o usuário e programa principal. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 25
Computação 1 - Python Aula 12 - Teórica: Interação com o usuário e programa principal 1/ 25 print: Usado para imprimir informações na tela. >>> print "Qual o seu nome?" Qual o seu nome? # Função que soma
Leia maisEstruturas de Dados. Filas em que a prioridade de remoção não é cronológica. Maior prioridade não é do elemento que ingressou primeiro
Estruturas de Dados Filas de Prioridade Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww3.datastructures.net (Goodrich & Tamassia).
Leia maisAlgoritmos de Ordenação: Tempo Linear
Algoritmos de Ordenação: Tempo Linear 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 10/2008 Material
Leia maisMCTA028 Programação Estruturada Aula 20 Exercícios de custos de um algoritmo
MCTA028 Programação Estruturada Aula 20 Exercícios de custos de um algoritmo Prof. Jesús P. Mena-Chalco Q-2017 1 Estudo de algoritmos O projeto de algoritmos é influenciado pelo estudo de seus comportamentos.
Leia maisA IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES
A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES Euzébio da Costa Silva 1, Victor Pereira Ribeiro 2, Susana Brunoro Costa de Oliveira 3 1 29520-000, euzebioprogramacao@gmail.com 2 29520-000, victor3ifes@gmail.com
Leia maisLista 1. 8 de abril de Algorithms: Capítulo 0, exercícios 1 e 2. Tardos: Todos exercícios do cap 2 do livro texto, exceto 7 e 8 letra b.
Lista 1 8 de abril de 2013 1 Exercícios Básicos 1.1 Na bibliografia Algorithms: Capítulo 0, exercícios 1 e 2. Tardos: Todos exercícios do cap 2 do livro texto, exceto 7 e 8 letra b. 1.2 Outros 1. Projete
Leia maisAlgoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo
Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo tmelo@uea.edu.br www.tiagodemelo.info Observações O conteúdo dessa aula é parcialmente proveniente do Capítulo 11 do livro Fundamentals of
Leia maisINFORMÁTICA PARA ENGENHARIA
INFORMÁTICA PARA ENGENHARIA ESTRUTURA DE REPETIÇÃO Prof. Dr. Daniel Caetano 2019-1 Objetivos Entender o que é uma estrutura de repetição Compreender como implementar as repetições Capacitar para a criação
Leia maisLista de Exercícios Repetição Prof: Yuri Frota
Lista de Exercícios Repetição Prof: Yuri Frota 1) Interpretar e traduzir para Python a sequência de comandos em Português a seguir: Algoritmo {escrita dos termos de Fibonacci menores que L} leia o valor
Leia maisAlgoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva
Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br Introdução Uma das aplicações mais estudadas e realizadas sobre arranjos
Leia maisComportamento Assintótico. Algoritmos e Estruturas de Dados Flavio Figueiredo (http://flaviovdf.github.io)
Comportamento Assintótico Algoritmos e Estruturas de Dados 2 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Até Agora Falamos de complexidade de algoritmos com base no número de passos Vamos generalizar
Leia maisMedida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP
Medida do Tempo de Execução de um Programa Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo estudo
Leia maisProjeto 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
Leia maisTécnicas de Programação III Análise de Algoritmos (Continuação)
Técnicas de Programação III Análise de Algoritmos (Continuação) Aula ministrada em: 23/08/2007 Prof. Mauro L. C. Silva 1/10 Objetivos da Aula Entender a Análise e a Complexidade de Algoritmos 2/10 Avaliação
Leia maisQuick Sort. Considerações Sobre Algoritmos de Ordenação. Estagiário PAE: Jesimar da S. Arantes Professor: ClaudioQuick F. M.
Quick Sort Considerações Sobre Algoritmos de Ordenação Estagiário PAE: Jesimar da S. Arantes Professor: Claudio F. M. Toledo 27 de Setembro de 2017 Estagiário PAE: Jesimar da S. Arantes Professor: ClaudioQuick
Leia maisOrdenação em Tempo Linear
Ordenação em Tempo Linear Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 19 Algoritmos e Estruturas de Dados I Ordenação em tempo linear Algoritmos de ordenação por comparação: InsertSort; Quicksort;
Leia maisALGORITMOS + PASCAL MODULO 4
MODULO 4 7. ESTRTUTURAS DE DADOS HOMEGENIAS...2 7.1 MATRIZES DE UMA DIMENSÃO OU VETORES...2 7.2 MATRIZ DE UMA DIMENSÃO OU VETORES...2 7.2.1 CRIANDO A MATRIZ NA ÁREA DE IÁVEIS...2 7.3 ESCRITA DE DADOS DE
Leia maisPython - Comandos de Repetição
Python - Comandos de Repetição Prof. Paulo H R Gabriel (com base no material do Prof. André Backes) Um conjunto de comandos de um algoritmo pode ser repetido quando subordinado a uma condição: enquanto
Leia maisProva 1 PMR3201 Computação para Automação 1o. semestre 2016 Prof. Thiago de Castro Martins
Prova 1 PMR3201 Computação para Automação 1o. semestre 2016 Prof. Thiago de Castro Martins 1. (25 pontos) A listagem a seguir mostra o código de uma função que converte uma cadeia de caracteres com a representação
Leia maisM etodos Matem aticos e de Computa c ao II VIII XI/2016
Métodos Matemáticos e de Computação II VIII XI/2016 Sistemas Complexos 01/16 Foco de investigação Escala microscópica Comportamento individual Descrição dos constituintes Modelagem Escala macroscópica
Leia maisAula 7 Estruturas de Repetição Cleverton Hentz
Aula 7 Estruturas de Repetição Cleverton Hentz Sumário de Aula Estruturas de Repetições while do for 2 Introdução Nesta aula iremos introduzir outra tipo de estrutura importante na descrição de um algoritmos,
Leia maisRecursividade, Tentativa e Erro
Recursividade, Tentativa e Erro Túlio Toffolo www.toffolo.com.br Marco Antônio Carvalho marco.opt@gmail.com BCC402 Aula 07 Algoritmos e Programação Avançada Na aula anterior Prova 2 Na aula de hoje Técnicas
Leia maisQuestão 1 Analise o trecho do código abaixo, escrito na linguagem C#:
Programação para Games I Questão 1 Analise o trecho do código abaixo, escrito na linguagem C#: String[] vetor= { E, A, Z, D, W }; for(int i=4; i
Leia maisLimite 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 jesus.mena@ufabc.edu.br 1Q-2017 1 Ordenação Ordenar corresponde ao processo
Leia maisMarcelo 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
Leia maisArquivos Sequenciais. Estruturas de Dados II Vanessa Braganholo
Arquivos Sequenciais Estruturas de Dados II Vanessa Braganholo Arquivos Sequenciais } Pq arquivos sequenciais? Relembrando } Relembrando: uma tabela ou arquivo é um conjunto de registros que possuem a
Leia maisAlgoritmos de Busca. Profº Carlos Alberto T. Batista
Algoritmos de Busca Profº Carlos Alberto T. Batista E-mail: carlos.batista@facape.br carlos36_batista@yahoo.com.br Por que estudar busca de dados? Sistemas trabalham, frequentemente, com a busca de números,
Leia maisComputação 1 - Python Aula 9 - Teórica: Interferindo no fluxo de repetição: Break e Continue Laços Aninhados
Computação 1 - Python Aula 9 - Teórica: Interferindo no fluxo de repetição: Break e Continue Laços Aninhados 1/ 14 break e continue : Comandos que permitem alterar o fluxo da estrutura de repetição. #
Leia mais