Método de ordenação - objetivos:
|
|
- Clara Benevides Esteves
- 7 Há anos
- Visualizações:
Transcrição
1 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 largamente utilizados em Sistemas Gerenciadores de Banco de Dados (SGBDs). Em alguns casos é necessário fazer a avaliação da ordenação no melhor, médio e pior caso.
2 Método de ordenação Bolha (Bouble sort) Método mais conhecido; Ordenação por trocas (compara o elemento da bolha com o próximo elemento); Troca de valores entre posições consecutivas; Ordenação sequencial (percorre o vetor e compara elemento a elemento, mesmo que tal elemento ou todos já estejam ordenados) d Recomendado, portanto, para vetores com poucos elementos.
3 Método de ordenação Bolha (Bouble sort) A ordenação bolha é feita através de dois laços. O laço mais externo, da variável cont1, determina qual elemento do vetor será usado como base de comparação (a bolha ). O laço mais interno, da variável cont2, compara cada item com o elemento base do primeiro laço e, quando encontrar um item menor que o de base, faz a troca. O processo de troca usa uma variável temporária (temp) para guardar o valor do menor valor, inicialmente; depois, põe na posição que antes era ocupada pelo item do laço mais interno, o valor do item de base; finalmente, atribui o valor armazenado na variável temporária (o menor valor) ao elemento base. A troca esta concluída.
4 Método de ordenação Bolha (Bouble sort) Ex: Ordenar os elementos de um vetor vet, com 3 posições, respectivamente 12,8 e 3. Passo 1: fixar a bolha no primeiro i elemento do vetor vet: vet[0] vet[1] vet[2]
5 Método de ordenação Bolha (Bouble sort) Passo 2: comparar o elemento da bolha com o próximo elemento se for maior, faz a troca, seguindo os passos: A) O menor elemento é armazenado na variável temporária (temp = vet[1], ou seja, temp guadará 8) B) O Maior elemento é copiado na posição que antes era ocupado pelo menor elemento (vet[1] = vet[0]) vet[0] vet[1] vet[2] C) O valor do menor elemento (variável temp) é copiado na posição que antes era ocupada pelo maior elemento (vet[0]=temp) vet[0] vet[1] vet[2]
6 Método de ordenação Bolha (Bouble sort) Passo 3: Repete-se o todos os procedimentos do passo 2, agora comparando a bolha com o último elemento: A) O menor elemento é armazenado na variável temporária (temp = vet[2], ou seja, temp guadará 3) B) O Maior elemento é copiado na posição que antes era ocupado pelo menor elemento (vet[2] = vet[0]) vet[0] vet[1] vet[2] C) O valor do menor elemento (variável temp) é copiado na posição que antes era ocupada pelo maior elemento (vet[0]=temp) vet[0] vet[1] vet[2]
7 Método de ordenação Bolha (Bouble sort) Passo 4: Passo a bolha para o próximo elemento e repito os passos 1 e 2: Repetição passo 2: A) temp = vet[2] B) vet[2] = vet[1] C) vet[1] = temp (fim) vet[0] vet[1] vet[2] vet[0] vet[1] vet[2] vet[0] vet[1] vet[2]
8 Método de ordenação Bolha (Bouble sort) Código fonte (C ANSI): #include <conio.h> #include <stdio.h> int main(void){ int vet[3]={12,8,3; //armazendo dados no vetor vet int temp; //variável que armazenará menor elemento getch(); printf("vetor antes da ordenacao:\n\n"); \ for(int cont1=0;cont1<=2;cont1++){ //exibindo os dados originais printf("%d\t", vet[cont1]); //****** Método de ordenação Bouble Sort ******** for(int cont1=0;cont1<=1;cont1++){ //laço da bolha for(int cont2=cont1+1;cont2<=2;cont2++){ //laço de comparação if(vet[cont1]>vet[cont2]){ t1] t2]){ //compara bolha com próximo elemento temp = vet[cont2]; // temp guarda menor elemento da comparação vet[cont2]=vet[cont1]; // copia maior elemento para proxima posicao vet[cont1]=temp; t1] t // menor elemento vai para a posição menor printf("\n\n\nvetor depois da ordenacao:\n\n"); for(int cont1=0;cont1<=2;cont1++){ // exibe vetor ordenado printf("%d\t", vet[cont1]);
9 Método de Ordenação Shell (Shell Sort) O algoritmo de ordenação por shel foi criado por Donald L. Shell em Ele tem algumas similaridades com o algoritmo anterior. Neste algoritmo, ao invés dos dados serem comparados com os seus vizinhos, é criado um gap. O gap, no início, é igual à parte inteira da divisão do número de elementos da lista por 2. Por exemplo, se a nossa lista tem 15 elementos, o gap inicial é igual a 7. São então comparados os elementos 1o. e 8o., 2o. e 9o., e assim por diante. O que acontece, então? A maior parte dos elementos já vão para suas posições aproximadas. O 15, por exemplo, já é mandado para o fim da lista na primeira passagem, ao contrário do que acontece na ordenção de troca. Ao terminar de passar por todos os elementos da lista, o gap é diminuído em 1 e é feita uma nova passagem. Isso é repetido até que o gap seja igual a 0. Programa à seguir.
10 Método de Ordenação Shell (Shell Sort) Código-fonte (C ANSI): //ordenacao shell sort #include <conio.h> #include <stdio.h> int main (void){ int comp=0, troca=0, gap=0, temp=0, cont1=0, cont2=0, cont3=0; int vet[20]; int tamanhovetor = sizeof(vet)/sizeof(*vet); int i, j, incremento; for(cont1=0;cont1<tamanhovetor;cont1++){ printf("digite o %do. elemento do vetor ",cont1+1); 1); scanf("%d",&vet[cont1]); printf("\n\nos dados do vetor digitados foram:\n\n"); for(cont1=0;cont1<tamanhovetor;cont1++){ printf("%d\t",vet[cont1]); gap = tamanhovetor/2; while (gap > 0){ for (cont1=0; cont1 < tamanhovetor; cont1++){ cont2 = cont1; temp = vet[cont1]; while ((cont2 >= gap) && (vet[cont2-gap] > temp)){ vet[cont2] = vet[cont2 - gap]; cont2 = cont2 - gap; vet[cont2] = temp; if (gap/2!= 0) gap = gap/2; else if (gap == 1) gap = 0; else gap = 1; printf("\n\nos dados do vetor ordenados foram:\n\n"); for(cont1=0;cont1<tamanhovetor;cont1++){ printf("%d\t",vet[cont1]); printf("\n\nfinal de programa - pressione ENTER para sair"); getch (); //Pausa para a execução do programa//
11 Método de Ordenação Quick Sort Considerado um dos melhores métodos de ordenação. Visa particionar o vetor, ordenando as porções menores do vetor, separadamente. Método de divisão e conquista. Funciona da seguinte maneira: Seleciona-se um valor x para ser o pivô (o valor da posição do meio do vetor); Divide o vetor com os valores menores ou iguais a x, e a segunda parte com os valores maiores.
12 Método de Ordenação Quick Sort Exemplo para o primeiro particionamento: D C H F E A I B G divide o vetor no meio D C H F E A I B G permuta H com B D C B F E A I H G permuta F com A D C B A E F I H G vetor dividido em duas partições. Segue permutando e dividindo...
13 Método de Ordenação Quick Sort Código-fonte (C ANSI): void troca(int x[], int i, int j){ //função de troca int temp; temp = x[i]; x[i] = x[j]; x[j] = temp; int random(int min, int max){ //localiza elemento aleatorio no vetor return (int)((max - min) * rand()/(float)rand_max + min); void QuickSort(int x[], int limiteinferior, int limitesuperior){ int i, m; if(limiteinferior >= limitesuperior){ //indica que estou fora da particao atual return; //retorno vazio (null) troca(x, limiteinferior, random(limiteinferior, limitesuperior)); //faz a troca do elemento maior pelo menor m = limiteinferior; for(i=limiteinferior+1; i<=limitesuperior; i++){ if(x[i] < x[limiteinferior]){ //faz a troca do proximo elemento da partição troca(x, ++m, i); troca(x, limiteinferior, m); QuickSort(x, limiteinferior, it i m-1); //particiona i e ordena elementos da partição anterior à atual QuickSort(x, m+1, limitesuperior); //particiona e ordena elementos da proxima particao à atual int main (void){ int x[50]; int tamanhovetor = sizeof(x)/sizeof(*x); //determina o tamanho do vetor for(int i=0;i<tamanhovetor;i++){ //preenchendo o vetor x[i] = rand() % 500; //gera numeros aleatórios, de 0 a 500 e os armazena nas posicoes do vetor for(int i=0;i<tamanhovetor;i++){ //exibe vetor atual printf("%d\t", x[i] [] ); QuickSort(x, 0,tamanhoVetor-1); //passa os elementos do vetor, o tamenho incial e tamanho final-1 (ex: 0 a 9,para um vetor de 10 posicoes) printf("\n"); ") for(int i=0;i<tamanhovetor;i++){ //exibe vetor ordenado printf("%d\t", x[i] ); getch();
14 Método de Busca Sequencial C (fazer...).
15 Imagine uma lista telefônica: João Paulo Pedro André Fernando Maria Sônia Rafael Tiago Zenobio Se quisermos buscar um nome qualquer dentro desta lista, temos que percorrer toda a lista, ou pelo menos o necessário até encontrarmos o nome procurado. Mas se tivermos a lista ordenada por ordem alfabética, fica muito mais fácil: é só irmos para a letra que queremos, e logo encontraremos o telefone desejado.
16 Porém, em uma lista mais longa, mesmo estando a mesma ordenada, d a busca manual (item a item) levaria muito tempo, gerando baixa produtividade para o usuário. É nesse contexto que surgem os métodos de busca, deixando a cargo do sistema computacional a tarefa de procurar o dado desejado. Existem dois tipos básicos de busca: A busca manual e a busca binária.
17 Método de Busca Sequencial A pesquisa seqüencial utiliza o método mais básico de pesquisa de dados: vai pesquisando os dados, um a um, até que encontre o dado buscado. Esse tipo de pesquisa é útil caso a lista de busca esteja desordenada, mas caso a lista esteja em ordem, seu rendimento é bastante baixo. O número de dados pesquisados, neste caso, é igual à posição dos dados. Por exemplo, para que se encontre um dados que está na 10ª posição, é necessário que se façam 10 buscas. À seguir, a implementação do método de busca sequencial, aplicado ao exemplo da lista telefônica.
18 Método de Busca Sequencial Código-fonte (C ANSI): #include <iostream> #include <conio.h> #include <stdio.h> //cria a estrutura chamada listatel struct listatel { char nome[60]; char telefone[15]; ; int main(void){ //referencia um alias para a estrutura struct listatel agendatel[10]; char nome_pesq[60]; int achou; for(int cont=0;cont<=9;cont++){ printf("digite o nome da %da. pessoa: ",cont+1); fflush(stdin); gets(agendatel[cont].nome); printf("digite o telefone: "); fflush(stdin); gets(agendatel[cont].telefone); printf("\n\nos dados presentes na lista telefonica sao:\n"); //realizando a pesquisa sequencial printf("\n\ndigite o nome a ser pesquisado: "); fflush(stdin); gets(nome_pesq); achou=0; //inicializa a flag achou como falso for(int cont=0;cont<=9;cont++){ if(strcmp(strupr(agendatel[cont].nome), strupr(nome_pesq))==0){ achou=1; //modifica a flag, indicando que foi encontrado o valor pesquisado printf("\n%s\t\t%s - posicao %d\n",agendatel[cont].nome, agendatel[cont].telefone, cont+1); if(achou==0){ //indica que nao foi encontrada nenhuma ocorrencia para a pesquisa printf("\n\nnao foi encontrado nenhuma ocorrencia para %s\n",nome_pesq); getch(); //exibindo os dados dos registros printf("#\tnome\t\ttelefone\n"); \t\tt f \ ") for(int cont=0;cont<=9;cont++){ printf("%d\t%s\t", cont+1, agendatel[cont].nome); printf("%s\n",agendatel[cont].telefone);
19 Método de Busca Binária A busca binária é um método mais avançado de busca, que faz o seguinte caminho: a primeira busca é feita no meio da lista. Caso o dado buscado seja maior que o dado central da lista, a nova pesquisa será feita somente da metade para a frente da lista. Caso contrário, da metade para trás. É claro que se o dado central for o buscado, a pesquisa termina por aí. IMPORTANTE!!! A busca binária só ocorre de forma eficiente i se os dados d estiverem devidamente ordenados d De forma padrão, apenas uma única ocorrência é encontrada. Ex: se tivermos duas pessoas com o mesmo nome, ele encontra apenas uma delas.
20 Método de Busca Binária Código-fonte (C ANSI): Ver o código fonte busca_binaria.cpp
21 1. Implemente o método de pesquisa sequencial para pesquisar dados do tipo real e ordene os números, através do método de ordenação Shell sort. Ao final, o usuário terá direito de pesquisar novo dado. 2. Implemente o método de pesquisa binária para pesquisar dados do tipo real e ordene os números, através do método de ordenação Quick sort. Ao final, o usuário terá direito it de pesquisar novo dado. 3. Utilize o método de ordenação Bouble sort para ordenar 10 números quaisquer em ordem decrescente. 4. Implemente o método Bouble sort para ordenar um vetor de 5 elementos do tipo string. Dica: utilize a função strcmp() para comparar os elementos e strupr() para deixá-los todos em maiusculo (vide exemplos neste material).
22 5. Utilize o método de ordenação Quick sort para odenar 10 números quaisquer em ordem decrescente. esce 6. Implemente o método Shell sort para ordenar um vetor de 5 elementos do tipo string. Dica: utilize a função strcmp() para comparar os elementos e strupr() para deixa-los todos em maiusculo (vide exemplos neste material). 7. (Desafio 1)Faça um estudo comparativo dos métodos de ordenação Bouble sort, Shell sort e Quick sort, para ordenar um vetor de 100 elementos inteiros, criado aleatoriamente, através de função randômica do C. Dica: crie duas variáveis. Uma que contará quantas iterações são feitas dentro de cada método de ordenação e outra que contará quantas trocas foram feitas. Ao final, exiba a primeira variável, que indicará a comparação e a segunda, que indicará a quantidade de trocas efetuadas. Ao final do estudo, esboce a comparação através de um gráfico de barras, feito em qualquer programa (ex: Excel) 8. (Desafio 2) Descubra qual o grau de complexidade dos 3 métodos de ordenação e faça um estudo comparativo desses graus, indicando qual deles é o mais complexo
23 UNIDADE II Métodos de Ordenação e Busca FIM
Departamento 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 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 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 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 maisINF 1010 Estruturas de Dados Avançadas
INF 1010 Estruturas de Dados Avançadas Listas de Prioridades e Heaps 1 Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um
Leia maisMÉTODOS DE ORDENAÇÃO. Introdução à Programação SI2
MÉTODOS DE ORDENAÇÃO Introdução à Programação SI2 2 Conteúdo Conceitos básicos Classificação por troca Classificação por inserção Classificação por seleção 3 Conceitos Básicos Ordenar: processo de rearranjar
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 maisProgramação II. Busca em Vetor (search) Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Busca em Vetor (search) Bruno Feijó Dept. de Informática, PUC-Rio Busca em Vetor Problema: Entrada: vetor v com n elementos elemento d a procurar Saída m se o elemento procurado está em
Leia maisExistem duas categorias de algoritmos de ordenação: Os algoritmos de ordenação são avaliados de acordo com os seguintes critérios:
MÉTODOS DE ORDENAÇÃO E PESQUISA ORDENAÇÃO: consiste em arranjar um conjunto de informações semelhantes numa ordem crescente ou decrescente; PESQUISA: consiste em executar uma pesquisa sobre a estrutura
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 maisINF 1007 Programação II
INF 1007 Programação II Aula 08 Busca em Vetor Edirlei Soares de Lima Busca em Vetor Problema: Entrada: vetor v com n elementos; elemento d a procurar; Saída: m se o elemento procurado
Leia maisAlgoritmos de Busca em Vetores
Algoritmos de Busca em Vetores INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 busca em vetores tópicos busca linear (sequencial) busca binária referência Capítulo 17 do livro
Leia maisO Problema da Ordenação Métodos de Ordenação Parte 1
Métodos de Ordenação Parte 1 SCC-201 Introdução à Ciência da Computação II Rosane Minghim 2010 Ordenação (ou classificação) é largamente utilizada Listas telefônicas e dicionários Grandes sistemas de BD
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 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 maisEstruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 17 - Busca 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisMódulo 18 - Tabelas de Dispersão. Referências
Estruturas de Dados Módulo 18 - Tabelas de Dispersão 7/6/2006 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora
Leia maisProgramação Estruturada Prof. Rodrigo Hausen Ponteiros e Passagem de Parâmetros
Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Ponteiros e Passagem de Parâmetros 1 AULA PASSADA - ponteiros Uma declaração tal como: tipo *nome; Declara um ponteiro: referência
Leia maisProgramação Estruturada
Programação Estruturada Ordenação Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC O problema da ordenação Ordenação
Leia maisProgramação de Computadores II. Cap. 16 Ordenação
Programação de Computadores II Cap. 16 Ordenação Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:
Leia maisMétodos de Ordenação Parte I
Estrutura de Dados II Métodos de Ordenação Parte I Prof a Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material baseado nos materiais da Prof a Ana Eliza e Prof. Robson Lins Rearranjar
Leia maisTECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2 Dados de identificação do Acadêmico: Nome: Login: CA: Cidade:
Leia maisListas (Parte 2) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br. BCC202 Aula 10 Algoritmos e Estruturas de Dados I
Listas (Parte 2) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br BCC202 Aula 10 Algoritmos e Estruturas de Dados I Listas Encadeadas Características: Tamanho da lista não é pré-definido Cada elemento
Leia maisMódulo 16 - Ordenação
Estruturas de Dados Módulo 16 - Ordenação 15/05/2013 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus
Leia maisLista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35
Lista Ordenada Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Definição Operações Representações Contígua Encadeada Aplicação Exercícios 2
Leia maisProgramação de Computadores II. Cap. 17 Busca
Programação de Computadores II Cap. 17 Busca Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:
Leia maisALGORITMOS E ESTRUTURAS DE DADOS CES-11
ALGORITMOS E ESTRUTURAS DE DADOS CES-11 Prof. Paulo André Castro pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac IECE - ITA CAP. 5. TÉCNICAS DE ORDENAÇÃO 5.1. Introdução 5.2. Métodos
Leia maisMÉTODOS DE ORDENAÇÃO. Introdução à Programação SI1
MÉTODOS DE ORDENAÇÃO Introdução à Programação SI1 2 Conteúdo Conceitos básicos Classificação por troca Classificação por inserção Classificação por seleção 3 Conceitos Básicos Ordenar: processo de rearranjar
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 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 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 maisLinguagem C: Ordenação
Instituto de C Linguagem C: Ordenação Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Introdução Algoritmos de ordenação Ordenação
Leia maisDAINF - Departamento de Informática
DAINF - Departamento de Informática Algoritmos 2 - Árvore binária de busca Prof. Alex Kutzke ( http://alex.kutzke.com.br/courses ) 30 de Novembro de 2015 Slides adaptados do material produzido pelo Prof.
Leia maisCarlos Eduardo Batista. Centro de Informática - UFPB
Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Métodos de pesquisa e classificação de dados (continuação) Estruturas de Dados 2 Algoritmo de busca Recebe como argumento
Leia maisÁRVORES BINÁRIAS DE BUSCA. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
ÁRVORES BINÁRIAS DE BUSCA Vanessa Braganholo Estruturas de Dados e Seus Algoritmos REFERÊNCIA Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Cap. 4 INSTITUTO DE COMPUTAÇÃO
Leia maisAula T19 BCC202 Pesquisa (Parte 1) Pesquisa Binária. Túlio Toffolo
Aula T19 BCC202 Pesquisa (Parte 1) Pesquisa Binária Túlio Toffolo www.decom.ufop.br/toffolo Pesquisa em Memória Primária n Introdução - Conceitos Básicos n Pesquisa Sequencial n Pesquisa Binária n Árvores
Leia maisALGORITMOS E ESTRUTURAS DE DADOS CES-11 Prof. Paulo André Castro Sala 110 Prédio da Computação IECE - ITA
ALGORITMOS E ESTRUTURAS DE DADOS CES-11 Prof. Paulo André Castro pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac IECE - ITA MÉTODOS MAIS EFICIENTES QUE O(N 2 ) Método Quicksort Método
Leia maisLinguagem C ponteiros
Linguagem C ponteiros IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C... Vetores Matrizes Funções Recursão Registros Aula
Leia maisUniversidade 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
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 maisEstruturas de Dados Aula 15: Árvores 17/05/2011
Estruturas de Dados Aula 15: Árvores 17/05/2011 Fontes Bibliográficas Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos (Nivio Ziviani): Capítulo
Leia maisUNIVERSIDADE DA BEIRA INTERIOR
UNIVERSIDADE DA BEIRA INTERIOR Programação II 1º Semestre Frequência 2 Resolução 07/01/2019 1. [1,25 val] - Análise de Complexidade dos Algoritmos Considere o seguinte bloco de código em linguagem C: for
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 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 maisComputadores Digitais 2. Prof. Rodrigo de Souza Couto
Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Tópicos Listas Encadeadas Introdução às listas encadeadas Manipulação de elementos Implementações recursivas Listas
Leia maisUniversidade Federal de Rondônia Técnicas de Desenvolvimento de Programas Lista 4
Universidade Federal de Rondônia Técnicas de Desenvolvimento de Programas Lista 4 WHILE 1. Faça um comando while equivalente ao descrito abaixo (que realize o mesmo tipo de procedimento e obtenha o mesmo
Leia maisLaboratório 12 Pesquisa e Ordenação
Instituto Politécnico de Setúbal Escola Superior de Tecnologia Departamento de Sistemas e Informática Laboratório 12 Pesquisa e Ordenação Disciplina de Introdução à Programação Ano Lectivo 2006/2007 DSI
Leia maisMÉTODOS DE PESQUISA DE DADOS EM MEMÓRIA PRIMÁRIA. Material da Prof. Ana Eliza
MÉTODOS DE PESQUISA DE DADOS EM MEMÓRIA PRIMÁRIA Material da Prof. Ana Eliza Métodos de Pesquisa em Memória Primária Pesquisa Seqüencial Bases ordenadas e não-ordenadas Pesquisa Seqüencial Melhorada Bases
Leia maisPesquisa e Ordenação. SCE121- Introdução a Programação. ICMC - USP - São Carlos 2009
Pesquisa e Ordenação SCE121- Introdução a Programação ICMC - USP - São Carlos 2009 Algoritmo de Procura Algoritmo de Procura O problema de procurar, pesquisar alguma informação numa tabela ou num catálogo
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 09 Algoritmos de Ordenação Edirlei Soares de Lima Ordenação Problema: Entrada: conjunto de itens a 1, a 2,..., a n ; Saída: conjunto de itens
Leia maisPesquisa. Pesquisa. Pesquisa. O problema de procurar(pesquisar) alguma informação numa tabela ou num catálogo é muito comum Exemplo:
Pesquisa Pesquisa em Vetor SSC300- Linguagens de Programação e Aplicações O problema de procurar(pesquisar) alguma informação numa tabela ou num catálogo é muito comum Exemplo: procurar o telefone de uma
Leia maisMódulo 16 - Ordenação. Referências
Estruturas de Dados Módulo 6 - Ordenação /5/006 (c) Dept. Informática - PUC-Rio Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (004) Capítulo
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 09 Ordenação de Vetores Edirlei Soares de Lima Ordenação de Vetores Problema: Entrada: vetor com os elementos a serem ordenados; Saída: mesmo vetor com
Leia mais4,0 pontos), exclusão de registro e exclusão completa de dados; 3. A nota final do trabalho terá um peso 4.
Seminário interdisciplinar (Programação Estruturada + Estrutura de Dados) OBJETIVO: 1. Criar um cadastro simples, e armazenar os dados em um arquivotexto ou binário (2,0 pontos); 2. Realizar as operações
Leia maisheapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i<n; i++) { e = x[i]; s = i; f = (s-1)/2;
heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i0 && x[f]
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 maisUNIVERSIDADE DA BEIRA INTERIOR
UNIVERSIDADE DA BEIRA INTERIOR Programação II 2º Semestre Frequência 2 (8 valores) Resolução 30/05/2018 A. Análise de complexidade dos algoritmos 1. (0.75 val) Considere a seguinte função em C: void funcao
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 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 maisUNIVERSIDADE DO TOCANTINS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS
ESTUDO DE CASO I Uma das operações oferecidas pelos sistemas bancários para seus clientes é a emissão de extratos da conta corrente ou do cartão de crédito. Esses relatórios permitem que o cliente possa
Leia maisListas Encadeadas. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Listas Encadeadas David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Listas Encadeadas Características: Tamanho da lista não é pré-definido Cada elemento guarda quem é o próximo Elementos não
Leia maisProgramação Estruturada
Programação Estruturada Ponteiros Parte 1 Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Ponteiros Ponteiro Ponteiros
Leia maisALGORITMOS 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
Leia maisAula 18 Algoritmos básicos de busca e classificação
Aula 18 Algoritmos básicos de busca e classificação Dentre os vários algoritmos fundamentais, os algoritmos de busca em tabelas e classificação de tabelas estão entre os mais usados. Considere por exemplo
Leia maisIntrodução à Programação
Introdução à Programação 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 10 Ordenação 2 15-1 7 9 4 6 Existem muitos métodos de ordenar Bolha Inserção Seleção Quicksort etc... Bolha (bubble sort) Percorrer
Leia maisOs métodos de ordenação que ordenam os elementos in situ podem ser classificados em três principais categorias:
ORDENAÇÃO A atividade de ordenação é o processo de rearranjo de um certo conjunto de objetos de acordo com um critério (ordem) específico. O objetivo da ordenação é facilitar a localização dos membros
Leia maisCURSO BÁSICO DE PROGRAMAÇÃO AULA 16. Ordenação Revisão para a prova
CURSO BÁSICO DE PROGRAMAÇÃO AULA 16 Ordenação Revisão para a prova Algoritmos de Ordenação São algoritmos que organizam uma sequência (por exemplo, os elementos de um vetor) em ordem crescente ou decrescente.
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 maisPesquisa Linear. Adriano J. Holanda 15/3/2016
Pesquisa Linear Adriano J. Holanda 15/3/2016 Busca Linear em memória principal Introdução O dados estarão sempre armazenados na memória principal (DRAM 1 ): não há necessidade de acesso à memória secundária
Leia maisUniversidade Federal do ABC Avaliação Disciplina Turma Professor Data Instruções para a prova (leia antes de começar): SelectionSort selectonsortrec
Universidade Federal do ABC Avaliação: Prova 02 Disciplina: BC1424 - Algoritmos e Estruturas de Dados I Turma: Noturno Professor: Jesús P. Mena-Chalco Data: 03/05/2016 Nome completo: RA: Instruções para
Leia maisUSP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]
USP - ICMC - SSC SSC 0300-2o. Semestre 2013 Disciplina de [ Eng. Elétrica / Automação ] Prof. Dr. Fernando Santos Osório / PAE: Rafael Klaser (LRM / ICMC) LRM - Laboratório de Robótica Móvel do ICMC /
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 05 Cadeias de Caracteres Edirlei Soares de Lima Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência
Leia maisProgramaçã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
Leia maisMétodos Computacionais. Strings (Vetor de Caracteres)
Métodos Computacionais Strings (Vetor de Caracteres) Em C, o tipo char : Caracteres é usado para representar caracteres pode armazenar valores inteiros (em 1 byte), representando assim, 256 valores distintos
Leia maisVectores: Algoritmos de Ordenação. Algoritmos e Estruturas de Dados 2009/2010
Vectores: Algoritmos de Ordenação Algoritmos e Estruturas de Dados 2009/2010 Ordenação Problema (ordenação de vector) rearranjar os n elementos de um vector (v) por ordem crescente, ou melhor, por ordem
Leia maisUNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO
Disciplina: Estrutura de Dados II Turma: 4EC/5CC Data: 13/11/15 Nota: Professor: Renato E. N. de Moraes Semestre: 2015-2 Valor: 0,0 pts Aluno: Lista de exercícios 04 1. O que é a eficiência assintótica
Leia maisLinguagem de Programação I. Aula 08 Linguagem C: Arrays
Linguagem de Programação I Aula 08 Linguagem C: Arrays Da Aula Anterior Tipos de dados básicos em C Modificadores de tipo Declaração de Variáveis Operadores em C Estruturas de Controle Nesta Aula Arrays
Leia maisMÉTODOS DE ORDENAÇÃO DE DADOS EM MEMÓRIA PRIMÁRIA. Material da Prof. Ana Eliza
MÉTODOS DE ORDENAÇÃO DE DADOS EM MEMÓRIA PRIMÁRIA Material da Prof. Ana Eliza Métodos de Ordenação em Memória Primária Métodos Elementares Classificação por Inserção Método da Inserção Direta Classificação
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 maisAnálise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Métodos de Ordenação - seleção e inserção - seleção e troca (bubble sort) - merge e quick sort - radix - hashing Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com
Leia maisBCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes
Leia maisConteúdo. Busca Seqüencial. Busca Binária. Algoritmos de Ordenação e Busca e sua Análise de Complexidade. Alneu de Andrade Lopes Rosane Minghim
Algoritmos de Ordenação e Busca e sua Análise de Complexidade Alneu de Andrade Lopes Rosane Minghim Introdução Busca seqüencial Busca binária Notação O(f(n)) Hierarquia de funções Selection sort Insertion
Leia maisListas: a última das 3 estruturas lineares (Pilhas, Filas e Listas)... árvores e grafos são não lineares!
Listas: a última das 3 estruturas lineares (Pilhas, Filas e Listas)... árvores e grafos são não lineares! 28/9/, 30/9/ e 5/10/2010 Representação/Implementação: Encadeada dinâmica Exercícios Lista Simplesmente
Leia maisAula 15: Pesquisa em Memória Primária. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP
Aula 15: Pesquisa em Memória Primária Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa Sequencial Pesquisa Binária Árvores de
Leia maisPesquisa e Ordenação
Pesquisa e Ordenação SC121 - Introdução à Programação ICMC - USP - São Carlos Maio de 2009 Algoritmo de Procura Algoritmo de Procura O problema de procurar, pesquisar alguma informação numa tabela ou num
Leia maisINF1007: Programação 2 7 Busca em Vetores. 01/04/2014 (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 7 Busca em Vetores 01/04/2014 (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Busca em vetor Busca linear Busca binária 01/04/2014 (c) Dept. Informática - PUC-Rio 2 Busca em
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 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 maisListas Lineares. Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1
Listas Lineares Elerson R. S. Santos elerson@dcc.ufmg.br Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1 http://www2.dcc.ufmg.br/livros/algoritmos/ Listas Lineares Uma das formas mais simples
Leia maisUNIVERSIDADE DA BEIRA INTERIOR
UNIVERSIDADE DA BEIRA INTERIOR Algoritmos e Estruturas de Dados - Bioengenharia 2º Semestre Exame Época Normal Resolução 13/junho/2015 A. [3.5 val] Algoritmos de ordenação e de pesquisa Considere-se as
Leia maisTabelas Hash. Prof. Túlio Toffolo BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I
Tabelas Hash Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa Sequencial Pesquisa
Leia maisINF 1620 P3-02/07/02 Questão 1 Nome:
INF 1620 P3-02/07/02 Questão 1 Considere um arquivo texto que contém os nomes e as notas dos alunos de uma disciplina. As informações de cada aluno ocupam duas linhas do arquivo: a primeira linha contém
Leia maisUNIVERSIDADE DA BEIRA INTERIOR
UNIVERSIDADE DA BEIRA INTERIOR Programação II 2º Semestre Exame Época Norma (15 val) Resolução 22/06/2018 1 [1,00 val + 1,00 val] - Memória Dinâmica Considere as seguintes declarações de variáveis: int
Leia maisESTRUTURA DE DADOS LISTAS LINEARES
ESTRUTURA DE DADOS LISTAS LINEARES Prof. Dr. Daniel Caetano 2014-2 Objetivos Compreender as listas sequenciais Implementar uma Lista Sequencial com Vetor Compreender o uso de listas sequenciais Material
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 maisINF 1620 P2-14/10/05 Questão 1 Nome:
INF 1620 P2-14/10/05 Questão 1 Considere um cadastro de produtos de um estoque, com as seguintes informações para cada produto: Código de identificação do produto: representado por um valor inteiro Nome
Leia maisFontes Bibliográficas. Estruturas de Dados Aula 15: Árvores. Livros:
Fontes Bibliográficas Estruturas de Dados Aula 15: Árvores Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos (Nivio Ziviani): Capítulo 5; Estruturas
Leia mais