Download - ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701
![Page 1: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/1.jpg)
ORDENAÇÃO DE DADOS
INTERCALAÇÃO - MERGESORT
ALUNOS: JORLAN TEIXEIRA COSTA NO: 9908802701
JOSÉ MARIA DE OLIVEIRA Jr. NO: 9908803401
UNIVERSIDADE FEDERAL DO PARÁ
CENTRO DE CIÊNCIAS EXATAS E NATURAIS
DEPARTAMENTO DE INFORMÁTICA
DISCIPLINA: ESTRUTURAS DE DADOS II
PROFESSOR: A B C SAMPAIO
![Page 2: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/2.jpg)
CONSISTE EM DIVIDIR O VETOR EM DOIS OU MAIS, ORDELÁ-LOS SEPARADAMENTE E INTERCALÁ-LOS DOIS A DOIS FORMANDO, CADA PAR INTERCALADO, NOVOS SEGMENTOS ORDENADOS ATÉ QUE RESULTE APENAS UM SEGMENTO ORDENADO.
![Page 3: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/3.jpg)
PARA OBTER A ORDENAÇÃO DOS SEGMENTOS INICIAIS , PODE-SE USAR QUALQUER MÉTODO DE INTERCALAÇÃO.
![Page 4: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/4.jpg)
Segmentos previamente ordenados
intercala intercala
Intercala
ORDENADO
ORDENADO ORDENADO
![Page 5: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/5.jpg)
PARA NÃO USAR OUTROS MÉTODOS , PODEMOS INICIAR OS SEGMENTOS COM VALOR IGUAL A 1.
ESTE MÉTODO É CHAMADO DE MERGESORT.
![Page 6: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/6.jpg)
MÉTODO DA INTERCALAÇÃO SIMPLES-MERGESORT
INICIA-SE COM SEGMENTOS DE VALOR IGUAL A 1.
COMO CADA SEGMENTO POSSUI APENAS 1 ELEMENTO CADA , JÁ ESTÃO ORDENADOS.
![Page 7: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/7.jpg)
EXEMPLO
23 17 8 15 9 12 19 7
17 23 8 15 9 12 7 19
8 15 17 23 7 9 12 19
7 8 9 12 15 17 19 23
![Page 8: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/8.jpg)
QUANDO O VET0R NÃO FOR UMA POTÊNCIA DE 2, OCORRERÁ UM SEGMENTO RESULTE SEM UM PAR PARA SER INTERCALADO.
ESSE SEGMENTO QUE SERÁ O ULTIMO DO VETOR É TRANSCRITO PARA A INTERAÇÃO SUBSEQUENTE.
![Page 9: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/9.jpg)
EXEMPLO
23 17 8 15 9 12 19 7 14 10
17 23 8 15 9 12 7 19 10 14
8 15 17 23 7 9 12 19 10 14
7 8 9 10 12 15 17 19 23 10 14
7 8 9 10 12 14 15 17 19 23
![Page 10: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/10.jpg)
A IMPLEMENTAÇÀO DO MÉTODO É FEITA EM 3 NÍVEIS:
SIMPLEMERGE:
OPERAÇÃO DE INTERCALAÇÃO DE UM PAR DE SEGMEMT0S
MERGEPASS:
INTERCALAÇÃO DE TODOS OS PARES DE SEGMENTOS
ORDENADOS.
MERGESORT:
EFETUA TODA A SEQUÊNCIA DE INTERCALAÇÃO
![Page 11: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/11.jpg)
procedure simplemerge(c: vet; cI1, CF1,CI2, CF2: integer; ca: vet; r: integer);varCAI1, CAI2, k, i: integer;begin CAI1:= CI1; CAI2:= CI2; k:= r; while (CAI1 <= CF1) and (CAI1 <= CF2 do begin if c[CAI1] < c[CAI2] then begin ca[k]:= c[CAI2]; CAI1:= CAI1 + 1 end {then}
![Page 12: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/12.jpg)
else begin ca[k]:= c[CAI2]; CAI2:= CAI2 + 1 end; {else} k:= k + 1; end; {while} if CAI1 > CF1 then for i:= CAI2 to CF2 do begin ca[k]:= c[i]; k:= k + 1; end {for} else
![Page 13: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/13.jpg)
for i:= CAI1 to CF1 begin ca[k]:= c[i]; k:= k + 1; end; {for}end; {simplemerge}
![Page 14: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/14.jpg)
procedure mergepass(c, ca: vet;n, l: integer);varp, q, r, i: integer;begin p:= 1; q:= p + l; r:= 1; while q <= n do begin simplemerge(c, p, q - 1, q, min(q + l - 1, n), ca, r); r:= r + 2*l; p:= q + l; q:= p + l; end; {while}
![Page 15: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/15.jpg)
if p <= n then for i:= p to n do ca[i]:= c[i];end; {mergepass}
![Page 16: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/16.jpg)
procedure mergesort(c: vet; n: integer);varl, i: integer;ca:vet;begin l:= 1; while l < n do begin if (l = 1) or (l = 4) or (l = 16) or (l = 64) or (l = 256) or (l = 1024) or (l = 2048) or (l = 4096) then mergepass(c, ca, n, l) else mergepass(ca, c, n, l); l:= 2*l; end; {while}
![Page 17: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/17.jpg)
if (n = 2) or (n = 8) or (n =32) or (n = 128) or (n = 512) or (n = 2048) or (n =8192) then for i:= 1 to n do c[i]:= ca[i];end; {mergesort}
![Page 18: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/18.jpg)
EXEMPLO DE INTERCALAÇÃO
VETOR C 25 19 18 10
P Q
CAI1:= CI1 CAI2:= CI2
CF1 CF2
P Q
CAI1:= CI1 CAI2:= CI2
CF1 CF2
VETOR CA 19 10
K:= R K K:= R K
25 18
![Page 19: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/19.jpg)
VETOR CA 19 25 10 18
P Q
CAI1:= CI1 CF1 CAI2:= CI2 CAF2
VETOR C 10
K:= R K
18 19 25
![Page 20: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/20.jpg)
INTERCALANDO SEQUÊNCIAS NATURAIS
CONSISTE EM TIRAR PROVEITO DAS EVENTUAIS ORDENAÇÕES PARCIAIS.
BUSCA-SE OS SEGMENTOS JÁ ORDENADOS EFETUANDO AS INTERCALAÇÕES A PARTIR
DELES.
![Page 21: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/21.jpg)
EXEMPLO
23 74 42 11 65 58 87 99 36 94
23 42 74 11 58 65 87 99 36 94
11 23 42 58 65 74 87 99 36 94
11 23 96 42 58 65 74 87 94 99
![Page 22: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/22.jpg)
ESTE MÉTODO DIMINUI O NÚMERO DE INTERÇÕES EFETUADAS EM APENAS UMA
UNIDADE POR ISSO NÀO VALE A PENA UTILIZAR ESTE MÉTODO.
![Page 23: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/23.jpg)
EXEMPLO DE INTERCALAÇÃO
INTERCALAÇÃO DE ARQUIVOS CLASSIFICADOS
A INTERCALAÇÃO É FEITA COMPARANDO- SE OS PRIMEIROS REGISTROS DE CADA UM DOS ARQUIVOS A SEREM INTERCALADOS.
SELECIONA-SE AQUELE QUE POSSUIR A MENOR CHAVE, TRANSFERINDO-A PARA A SAÍDA.
ESSE REGISTRO É SUBSTITUÍDO PELO SEU SUCESSOR E O PROCESSO É REPETIDO ATÉ QUE NÃO SOBRE NENHUM REGISTRO.
![Page 24: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/24.jpg)
• ARQUIVOS
ENTRADA: FILE(1) , FILE(2) , . . . , FILE(P) ;
SAÍDA: FILE(0).
IMPLEMENTAÇÃO
![Page 25: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/25.jpg)
• ÁRVORE DE SELEÇÃO
st[ 1 ] É A RAIZ DA ÁRVORE;
st[ 2i ] É A SUBÁRVORE DA ESQUERDA DE st[ i ]
st[ 2i + 1 ] É A SUBÁRVORE DA DIREITA DE st[ i ]i = 1, n div 2
1 p-1 p 2p-1
nodos não -folhas nodos folhas
![Page 26: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/26.jpg)
14
17
21
35
.
.
.
05
10
18
22
.
.
.
13
15
19
23
.
.
.
08
29
35
72
.
.
.
09
11
16
24
.
.
.
![Page 27: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/27.jpg)
17
21
35
.
.
.
10
18
22
.
.
.
15
19
23
.
.
.
29
35
72
.
.
.
11
16
24
.
.
.
14 13
09 0805
![Page 28: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/28.jpg)
17
21
35
.
.
.
10
18
22
.
.
.
19
23
.
.
.
29
35
72
.
.
.
11
16
24
.
.
.
14 15
09 080513
![Page 29: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/29.jpg)
17
21
35
.
.
.
18
22
.
.
.
19
23
.
.
.
29
35
72
.
.
.
11
16
24
.
.
.
14 15
09 081013
05
![Page 30: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/30.jpg)
17
21
35
.
.
.
18
22
.
.
.
19
23
.
.
.
29
35
72
.
.
.
16
24
.
.
.
14 15
09
081013
05
11
![Page 31: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/31.jpg)
17
21
35
.
.
.
18
22
.
.
.
19
23
.
.
.
35
72
.
.
.
16
24
.
.
.
14 15
09 08
1013
05
11 29
![Page 32: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/32.jpg)
procedure filemerge ( file, p, n );
begin
for i:=0 to p do
reset ( file (i) );
for i:=0 to p-1 do
st [1]:=minkey;
for i:=0 to 2*p-1 do
read (file (i-p+1) , st [i] );
for i:=0 to p-1 do
pop (st , file, 2*p-1 );
![Page 33: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/33.jpg)
write (file (0), st[1] );
for i:=2 to n do
begin
pop (st , file, 2*p-1 );
write (file (0), st[1] );
end;
end;
![Page 34: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/34.jpg)
CLASSIFICAÇÃO
POR
DISTRIBUIÇÃO DE CHAVES
![Page 35: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/35.jpg)
ESTE MÉTODO DE CLASSIFICAÇÃO ANTECEDE AOS COMPUTADORES DIGITAIS. ELE É UMA ADAPTAÇÃO DO PROCESSO DE CLASSIFICAÇÃO MECÂNICA DE CARTÕES PERFURADOS, UTILIZADOS PARA ARMAZENAMENTO DE DADOS.
![Page 36: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/36.jpg)
EXEMPLO
POR EXEMPLO, SUPONHAMOS QUE UM ARQUIVO FORMADO POR 20 CARTÕES TIVESSE, EM UM CERTO CAMPO, OS SEGUINTES VALORES PERFURADOS:
523, 018, 125, 937, 628, 431, 243, 705, 891, 362, 429, 005, 540, 353, 115, 427, 910, 580, 174, 456
![Page 37: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/37.jpg)
A CLASSIFICAÇÃO PELA COLUNA QUE CONTÉM O DÍGITO DA UNIDADE PRODUZIRIA A SEGUINTE DISTRIBUIÇÃO PELOS ESCANINHOS
523, 018, 125, 937, 628, 431, 243, 705, 891, 362, 429, 005, 540, 353, 115, 427, 910, 580, 174, 456
0 1 2 3 4 5 6 7 8 9
523 018125 937243
540910580
431891
362
353
174705005115
456427 628
429
CLASSIFICAÇÃO PELAS UNIDADES
![Page 38: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/38.jpg)
RECOLHENDO OS CARTÕES NA ORDEM DESCRITA,TEMOS:
540, 910, 580, 431, 891, 362, 523, 243, 353, 174, 125, 705, 005, 115, 456, 937, 427, 018, 628, 429
CLASSIFICANDO PELA COLUNA DAS DEZENAS, OBTEMOS:
0 1 2 3 4 5 6 7 8 9
540 910 580431 891362523 243
353 174125
705005 115 456937
427018628 429
![Page 39: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/39.jpg)
COLOCANDO-OS EM ORDEM, TEMOS:
705, 005, 910, 115, 018, 523, 125, 427, 628, 429,431, 937, 540, 243, 353, 456, 362, 174, 580, 891
CLASSIFICANDO PELA COLUNA DA CENTENA, TEMOS:
0 1 2 3 4 5 6 7 8 9
427 115 891
431
910628243 429
523 705
580
005018 125 540 937
174
353362
456
![Page 40: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/40.jpg)
AGORA FINALMENTE RETIRANDO-OS EM ORDEM OBTEMOS OS CARTÕES NA ORDEM DESEJADA
005, 018, 115, 125, 174, 243, 353, 362, 427, 429,431, 456, 523, 540, 580, 628, 705, 891, 910, 937
![Page 41: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/41.jpg)
MÉTODO DA INDEXAÇÃO DIRETA - RADIXSORT
• UTILIZA-SE O DÍGITO COMO UM ÍNDICE QUE
VAI REMATER O DADO TODO PARA O ESCANINHO
CORRESPONDENTE.
• UTILIZA-SE UMA TABELA DE FREQUÊNCIAS
PARA CONTABILIZAR O NÚMERO DE CHAVES.
![Page 42: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/42.jpg)
• UTILIZA-SE UMA TABELA DE FREQUÊNCIAS
ACUMILADASPARA INDICAR A POSIÇÃO
INICIAL DE CADA ESCANINHO.
• A MEDIDA QUE AS CHAVES VÃO SENDO DISTRIBUÍDAS
OS PONTEIROS VÃO SENDO INCREMENTADOS.
![Page 43: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/43.jpg)
DÍGITO
FREQ.
FREQ. AC.
0 1
3
0
2
3
2
1
5
3 4 5 6 7 8 9
3 1 4 1 2
106 149
2 1
191715
INDICA O NÚMERO DE OCORRÊNCIAS DAS CHAVES
INDICA A POSIÇAÕ INICIAL DE CADA ESCANINHO
![Page 44: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/44.jpg)
{indica o dígito correspondente ao passo}funtion parte (ch: integer; passo: 1..4);begin case passo of 1: parte:= ch mod 10; 2: parte:= (ch mod 100) div 10; 3: parte:= (ch mod 1000) div 100; 4: parte:= ch div 1000; end;end;
![Page 45: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/45.jpg)
procedure distribuicao(c1:vet; n1:0..9999; p1: ..4);varc2: vet; f, fac: vet2; v: 0..9; i: 0..n1; k: 0..9999;begin for i:= o to 9 do f[i]:= 0 {inicializa a } { tabela de frequências}
![Page 46: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/46.jpg)
for i:= 1 to n1 do begin
v:= parte(c1[i], p1); f[v]:= f[v] + 1
end; fac[0]:= 0;
fac[1]:= f[0];
for i:= 2 to 9 do fac[i]:= fac[i - 1] + f[i - 1];
![Page 47: ORDENAÇÃO DE DADOS INTERCALAÇÃO - MERGESORT ALUNOS: JORLAN TEIXEIRA COSTA N O : 9908802701](https://reader030.vdocuments.pub/reader030/viewer/2022033100/56813685550346895d9e0f18/html5/thumbnails/47.jpg)
{fase de distribuição}for i:= 1 to n1 do begin v:= parte(c1[i], p1); k:= fac[v]; c2[k]:= c1[i]; fac[v]:= fac[v] + 1; end;end{distribuicao}