Shell Sort - Algoritmo de Ordenação - EDA2 a3

  Рет қаралды 2,576

Prof. Bruno Ribas

Prof. Bruno Ribas

Күн бұрын

Пікірлер: 8
@ikeborges
@ikeborges 4 жыл бұрын
Professor, ali no while do insertionsortH tem duas condições, ao implementar meu programar inverti as duas e estava dando SegFault para vetores com mais de 32762 itens. Ao fazer exatamente na ordem do vídeo funcionou normalmente. Sabe me explicar pq a condição j >= l + h teve de vir primeiro para que o programa rodasse normalmente?
@ikeborges
@ikeborges 4 жыл бұрын
Opa! Analisei melhor e entendi. Caso essa condição não fosse a primeira, daria problema na comparação less(tmp, v[j - h]), daí o SegFault kkkkkk.
@erickgiffoni1276
@erickgiffoni1276 4 жыл бұрын
Vetor de 50,000 posições Tempo de execução shell sort: 0.006816 segundo(s) Bem rapidinho
@ProfBrunoRibas
@ProfBrunoRibas 4 жыл бұрын
Oi Erick, como está contando o tempo? Para 50k posições esse valor está muito baixo, estamos imaginando em algo entre 0,5s e 1s em uma máquina moderna com clock de 4GHz. E mesmo compilando com -O2 estamos falando de algo entre 0,17s e 0,32s
@erickgiffoni1276
@erickgiffoni1276 4 жыл бұрын
@@ProfBrunoRibas Estou fazendo assim, prof : clock_t clicks = clock(); shellSort(vet, 0, tamanho - 1); clicks = clock() - clicks; Nessa ordem exata ai. Logo depois um printf usando %f para imprimir o tempo em segundos, assim : printf(" Tempo de execucao shell sort: %f segundos ", (float)clicks / CLOCKS_PER_SEC); Será que tem algo não muito correto ? Peguei a referência aqui: www.cplusplus.com/reference/ctime/clock/ Uso a srand( time(NULL) ) para gerar uma semente e a rand() para preencher o vet.
@ProfBrunoRibas
@ProfBrunoRibas 4 жыл бұрын
Salve Erick! A diferença está na maneira de contar o tempo! O clock(), do jeito que você fez está correto e está considerando o tempo aproximado em que parte do seu programa ficou dentro da CPU em execução, o número não é preciso mas é uma ótima aproximação. E dessa maneira também está descontando o tempo de impressão e de leitura do vetor, o que deixa mais justo o tempo calculado. O que eu estou calculando é o tempo total, de leitura, ordenação e impressão do vetor. O tempo fica um pouco maior. No entanto, os números que te passei antes estavam equivocados :) Tenho aqui na minha máquina os tempos variando de 0,013s e 0,018s para vetores de 50k elementos com o shellsort implementado tal como na aula. Valores esses consideranto tudo. Nesse caso um vetor de 50k elementos para o shellsort já não é mais problema! :) Vamos elevar para 100k e quem sabe até 1kk. []s
@erickgiffoni1276
@erickgiffoni1276 4 жыл бұрын
@@ProfBrunoRibas Boa, professor ! Excelente consideração ! Obrigado !
@iagodelima8598
@iagodelima8598 4 жыл бұрын
Nossa, na minha cabeça esse é o pior algoritmo. Se fosse para chutar eu falaria que essa função é a mais lenta kkk.
SEPARA - O início do QuickSort - EDA2 a4p1
35:54
Prof. Bruno Ribas
Рет қаралды 2,1 М.
Algoritmo de ordenação Shell Sort
37:54
Ponto Acadêmico
Рет қаралды 3,5 М.
Walking on LEGO Be Like... #shorts #mingweirocks
00:41
mingweirocks
Рет қаралды 6 МЛН
The Singing Challenge #joker #Harriet Quinn
00:35
佐助与鸣人
Рет қаралды 33 МЛН
Haunted House 😰😨 LeoNata family #shorts
00:37
LeoNata Family
Рет қаралды 6 МЛН
PRANK😂 rate Mark’s kick 1-10 🤕
00:14
Diana Belitskay
Рет қаралды 10 МЛН
Aula 15 - Shell Sort - Estruturas de Dados com Java
11:33
leguarino
Рет қаралды 3,6 М.
It’s time to move on from Agile Software Development (It's not working)
11:07
INSERTION SORT | Algoritmos #5
12:55
Programação Dinâmica
Рет қаралды 35 М.
Shell Sort Algorithm
1:55
RunTimeClips
Рет қаралды 191 М.
Does Input Have to Be "Comprehensible"?
14:36
Matt vs Japan
Рет қаралды 337 М.
Ordenação de Dados - HeapSort
6:45
André Quintiliano
Рет қаралды 21 М.
Selection sort in 3 minutes
2:43
Michael Sambol
Рет қаралды 1,1 МЛН
Método de Ordenação - Shell Sort
12:00
Éderson Felipe Zammo Siqueira
Рет қаралды 16 М.
Walking on LEGO Be Like... #shorts #mingweirocks
00:41
mingweirocks
Рет қаралды 6 МЛН