Memória secundária. Memória secundária

Documentos relacionados
Algoritmos de ordenação: Bucketsort, Radixsort e Seleção

heapsort (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;

Ordenação. Prof. Jonas Potros

Ordenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa

Métodos de Ordenação Parte I

Ordenação em Memória Primária Estrutura de Dados II

Extra- Algoritmos de Ordenação

ALGORITMOS DE ORDENAÇÃO

void subdivide (LISTA_ENC *pl, LISTA_ENC *pl1, LISTA_ENC *pl2) { int cont, k=1; for (cont=tam(*pl)/2;cont;cont--) {

Métodos de Classificação

Ordenação Externa. Profa. Graça Nunes

MÉTODOS DE ORDENAÇÃO. Introdução à Programação SI2

MÉTODOS DE ORDENAÇÃO. Introdução à Programação SI1

Métodos de Ordenação

BCC202 - Estrutura de Dados I

Nem todos os problemas algorítmicos que podem ser resolvidos em princípio podem ser resolvidos na prática: os recursos computacionais requeridos

Carlos Eduardo Batista. Centro de Informática - UFPB

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

Ordenação. Última alteração: 10 de Outubro de Transparências elaboradas por Fabiano C. Botelho, Leonardo Rocha, Leonardo Mata e Nivio Ziviani

Banco de Dados. Métodos de Ordenação de Dados. Prof. Walteno Martins Parreira Jr

Ordenação. Última alteração: 26 de Março de Transparências elaboradas por Fabiano C. Botelho e Nivio Ziviani

Ordenação. Ordenação. Introdução - Conceitos Básicos. Introdução - Conceitos Básicos. Introdução - Conceitos Básicos

Projeto e Análise de Algoritmos

Aula 12 Métodos de Classificação: - Classificação por Inserção Direta - Classificação por Seleção Direta

Estruturas de Dados Algoritmos de Ordenação

Operações Coseqüenciais. Processamento Coseqüencial. Modelo para implementação de processos coseqüenciais

INF 1010 Estruturas de Dados Avançadas

BCC202 - Estrutura de Dados I

Listas (Parte 1) Túlio Toffolo BCC202 Aula 09 Algoritmos e Estruturas de Dados I

Ordenação. Ordenação. Introdução - Conceitos Básicos. Introdução - Conceitos Básicos

Processamento Cosequencial: Ordenação Interna e Externa. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A.

Classificação Externa: Geração de Partições Classificadas

ORDENAÇÃO EXTERNA DE ARQUIVOS: GERAÇÃO DE PARTIÇÕES CLASSIFICADAS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

Classificação Externa: Intercalação de Partições Classificadas

MÉTODOS DE CLASSIFICAÇÃO EM MEMÓRIA PRIMÁRIA. George Gomes Cabral

Algoritmos de Ordenação

Classificação Externa: Geração de Partições Classificadas

Os métodos de ordenação externa possuem particularidades que os diferenciam dos métodos de ordenação interna.

Algoritmos de Ordenação: Tempo Linear

Métodos de Ordenação: Selection, Insertion, Bubble, Merge (Sort)

Ordenação e Busca em Arquivos

Ordenação de Dados (IV) MergeSort

Algoritmos e Estruturas de Dados II. Ordenação Externa II. Ordenação Externa. Ordenação Externa. Ordenação Externa

Aula 11 Métodos de Classificação em memória primária. Prof. Gustavo Callou

Algoritmos e Estruturas de Dados II. Ordenação

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva

Ordenação: Heapsort. Algoritmos e Estruturas de Dados II

- Métodos simples de busca - Métodos ingênuos de ordenação (introdução)

Ordenação em Tempo Linear

INF 1010 Estruturas de Dados Avançadas

5. Algoritmos de Ordenação

Algoritmos e Estruturas de Dados II. Trabalho Prático 3

Ordenação: QuickSort. Prof. Túlio Toffolo BCC202 Aula 15 Algoritmos e Estruturas de Dados I

Classificação Externa: Intercalação de Partições Classificadas

Métodos de Ordenação Parte 4

INF111 Programação II Aulas 11, 12, 13 Ordenação

Ordenação. Última alteração: 31 de Agosto de Transparências elaboradas por Charles Ornelas Almeida, Israel Guerra e Nivio Ziviani

Classificação e Pesquisa Aula 6 Métodos de Ordenação: ShellSort e QuickSort. Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional

UNIVERSIDADE FEDERAL DO PIAUÍ COLÉGIO TÉCNICO DE TERESINA-TÉCNICO EM INFORMÁTICA DISCIPLINA: ESTRUTURA DE DADOS PROFESSOR: Valdemir Junior

Ordenação: MergeSort. Prof. Túlio Toffolo BCC202 Aula 14 Algoritmos e Estruturas de Dados I

Algoritmo MergeSort. Estrutura de Dados II Prof Jairo Francisco de Souza

Métodos de Ordenação Parte 2

Ordenação: HeapSort. Prof. Túlio Toffolo BCC202 Aula 17 Algoritmos e Estruturas de Dados I

Memória Secundária e Ordenação externa Algoritmos e Estruturas de Dados III

Análise de Algoritmos Algoritmos de Ordenação

Algoritmos de Ordenação

Arquivos Seqüenciais: Intercalação

Métodos de ordenação. Bubble sort:

Ordenação Externa (Merge Sort)

Edital de Seleção 032/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Ordenação de Dados. Ordenação de Dados

BUSCA EM ARRAYS. Prof. André Backes. Ato de procurar por um elemento em um conjunto de dados

SCC-601 Introdução à Ciência da Computação II. Ordenação e Complexidade Parte 3. Lucas Antiqueira

Algoritmos de Ordenação. Profº Carlos Alberto T. Batista

Projeto e Análise de Algoritmos

Ordenação. Insertion Sort

Estruturas de Dados 2

Aula T19 BCC202 Pesquisa (Parte 1) Pesquisa Binária. Túlio Toffolo

Métodos de Ordenação Parte 3

Quicksort. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Acesso Sequencial Indexado

Algoritmos de Ordenação. Cota inferior. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

Listas Lineares. Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1

Breve Introdução à Complexidade Assintótica de Algoritmos Letícia Rodrigues Bueno

Carlos Eduardo Batista. Centro de Informática - UFPB

Árvores de Pesquisa. A árvore de pesquisa é uma estrutura de dados muito eficiente para armazenar informação.

Programação de Computadores Ordenação de Arranjos

HeapSort. Estrutura de Dados II Jairo Francisco de Souza

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO

1. O que é a eficiência assintótica de um algoritmo. Explique com suas palavras.

Algoritmos e Estruturas de Dados II. Ordenação Externa II. Ordenação Externa. Ordenação Externa. Ordenação Externa.

Métodos de Classificação

Bucketsort. CLRS sec 8.4. Algoritmos p. 1

Quick Sort. Considerações Sobre Algoritmos de Ordenação. Estagiário PAE: Jesimar da S. Arantes Professor: ClaudioQuick F. M.

Arquivos Sequenciais. Estruturas de Dados II Vanessa Braganholo

USP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

Transcrição:

introdução ordenação interna ordenação externa ordenar processo de rearranjar um conjunto de itens em uma ordem ascendente ou descendente visa facilitar a recuperação posterior de itens do conjunto ordenado os algoritmos de ordenação trabalham sobre os registros de um arquivo cada registro possui uma chave (que pode ser composta) utilizada para controlar a ordenação tipo ITEM = registro CHAVE: tipo_chave; {outros componentes} fim_registro; classificação dos métodos de ordenação interna o arquivo a ser ordenado cabe todo na memória principal (memória volátil) qualquer registro pode ser imediatamente acessado externa o arquivo a ser ordenado não cabe na memória principal os registros são acessados seqüencialmente ou em grandes blocos a maioria dos métodos de ordenação é baseada em comparações das chaves existem métodos de ordenação que utilizam o princípio da distribuição 1

exemplo de ordenação por distribuição considere o problema de ordenar um baralho com 52 cartas na ordem: ás < 2 < 3 < < 10 < valete < rainha < rei e < < < algoritmo 1. distribuir as cartas abertas em treze montes: ases, dois, três,..., reis 2. coletar os montes na ordem especificada 3. distribuir novamente as cartas abertas em quatro montes: paus, ouros, copas e espadas 4. coletar os montes na ordem especificada método também conhecido como ordenação digital, radixsort ou bucketsort problema de implementação é a demanda de memória extra ordenação interna ordenação por seleção (seleciona o menor elemento, depois o segundo menor e assim por diante) ordenação por inserção (o elemento é inserido de forma ordenada) shellsort (extensão da ordenação por inserção) quicksort (se escolhe um pivô, valor mediano, e a ordenação é feita em torno deste pivô) mergesort (ordenação do tipo divisão_e_conquista) heapsort (extensão da ordenação por seleção) ordenação parcial (consiste em obter os k primeiros elementos de um arranjo ordenado com n elementos) ordenação externa implementação por meio de seleção por substituição intercalação balanceada de vários caminhos (*) intercalação polifásica quicksort externo (*) será abordado neste curso 2

quando precisa-se classificar dados em ordem crescente ou decrescente, segundo algum critério, mas a quantidade de dados é muito grande, não há como carregá-los de uma só vez na memória principal, precisa usar um método de ordenação externa os algoritmos devem diminuir o número de acesso às unidades de memória externa os dados são armazenados como um arquivo seqüencial, apenas um registro pode ser acessado em um dado momento os métodos de ordenação interna são inadequados para ordenação externa o custo principal na ordenação externa é relacionado à transferência de dados entre memória interna e externa o desenvolvimento de métodos de ordenação externa é muito dependente do estado atual da tecnologia a variedade de tipos de memória externa torna os métodos dependentes de vários parâmetros apenas métodos gerais serão apresentados a maioria dos métodos de ordenação externa utiliza intercalação os dados são divididos em blocos, ordenados aos poucos, depois são intercalados, formando blocos maiores, até que todos estejam ordenados intercalar significa combinar dois ou mais blocos ordenados em um único bloco ordenado quebrar o arquivo em blocos do tamanho da memória interna disponível ordenar cada bloco na memória interna intercalar os blocos ordenados a cada passo de intercalação, são criados blocos ordenados cada vez maiores, até que todo o arquivo esteja ordenado os algoritmos de ordenação externa devem reduzir o número de passos de intercalação 3

objetivo: ordenar os 22 registros armazenados em um arquivo de entrada (fita) usando 4 arquivos auxiliares temporários (fita) e memória interna com capacidade para 3 registros (m) pode-se usar no máximo (m+1) arquivos temporários onde m é a capacidade de registros da memória interna I N T E R C A L A C A O B A L A N C E A D A os registros I N T... são lidos um após o outro 1a. fase: criação dos blocos ordenados ler os registros de m em m e ordenar estes registros escrevendo-os em um dos arquivos auxiliares fita 1: INT ACO ADE quebra em blocos de m registros fita 2: CER ABL A fita 3: AAL ACN 2a. Fase: intercalar os blocos ordenados 1) o primeiro registro de cada fita é lido 2) o registro contendo a menor chave é retirado de um dos arquivos auxiliares (de entrada) e colocado no arquivo auxiliar (de saída) 3) leia um novo registro do arquivo de onde foi retirado o último registro e compare novamente com os demais (2, no exemplo) dos outros arquivos 4) se o último registro (3o. no exemplo) de um dos blocos já foi lido, seu arquivo fica inativo até que o último registro dos outros arquivos também tenham sido lidos 5) ao encerrar o procedimento com os primeiros blocos dos arquivos de entrada, um bloco ordenado estará formado no arquivo temporário de saída 6) repita o processo para os blocos restantes dos arquivos 4

2a. fase: intercalação de 3 em blocos de até 9 registros primeira passada: fita 4: AACEILNRT AAABCCLNO AADE nova distribuição: fita 1: fita 2: fita 3: AACEILNRT AAABCCLNO AADE 3a. fase: intercalação de 9 em bloco de até 27 registros segunda passada: fita 4: AAAAAAABCCCDEEILLNNORT quantas passadas são necessárias para ordenar um arquivo de tamanho arbitrário? n é o número de registros do arquivo a memória interna tem capacidade para m registros a 1a. fase produz n/m blocos ordenados seja P(n) o número de passadas para a fase de intercalação seja a o número de arquivos auxiliares utilizados em cada passada o número máximo de arquivos auxiliares temporários é (m+1) assim, P(n) = log f (n/m) no exemplo anterior, n = 22, m = 3 e f = 3, portanto P(n) = log 3 (22/3) 2 foram usados a+1 arquivos auxiliares para um intercalação de a caminhos 5

Exercício 1) Quantas passadas são necessárias para ordenar o arquivo abaixo, considerando que a memória interna é capaz de armazenar 2 registros e o número de arquivos auxiliares temporários é 2? Mostre a configuração de cada fase (etapa) do processo de intercalação. MEMORIAINTERNA Exercício 2) Mostre a configuração de cada fase (etapa) do processo de intercalação para ordenar o arquivo abaixo, considerando que a memória interna é capaz de armazenar 4 registros e o número de arquivos auxiliares temporários é 3? OSDADOSSAODIVIDIDOSEMBLOCOS 6