Você está na página 1de 7

Resultado do teste de eficiência realizado no programa:


Insira a string (250 char):
Esta frase ira provar a eficiencia do programa! abcdefghijklmnopqrstuvwxyzABCDE
FGHIJKLMNOPQRSTUVWXYZ1234567890/*-+!?[]{}

Selecione uma das opcoes abaixo:


1 - Arvore binaria
2 - Quicksort
3 - Heapsort
4 - Mergesort
5 - Sair
Escolha: 1

Vetor:
Esta frase ira provar a eficiencia do pr
ograma! abcdefghijklmnopqrstuvwxyzABCDEF
GHIJKLMNOPQRSTUVWXYZ1234567890/*-+!?[]{}

Arvore:

!*+-/0123456789?ABCDEFGHIJKLMNOPQRSTUVW
XYZ[]abcdefghijklmnopqrstuvwxyz{}

Selecione uma das opcoes abaixo:


1 - Arvore binaria
2 - Quicksort
3 - Heapsort
4 - Mergesort
5 - Sair
Escolha: 2

Vetor:
Esta frase ira provar a eficiencia do pr
ograma! abcdefghijklmnopqrstuvwxyzABCDEF
GHIJKLMNOPQRSTUVWXYZ1234567890/*-+!?[]{}

HeapSort:

!!*+-/0123456789?ABCDEEFGHIJKLMN
OPQRSTUVWXYZ[]aaaaaaaaabcccddeeeefffgghi
iiiijklmmnnoooopppqrrrrrrrsssttuvvwxyz{}

Selecione uma das opcoes abaixo:


1 - Arvore binaria
2 - Quicksort
3 - Heapsort
4 - Mergesort
5 - Sair
Escolha: 3

Vetor:
Esta frase ira provar a eficiencia do pr
ograma! abcdefghijklmnopqrstuvwxyzABCDEF
GHIJKLMNOPQRSTUVWXYZ1234567890/*-+!?[]{}

QuickSort:

!!*+-/0123456789?ABCDEEFGHIJKLMN
OPQRSTUVWXYZ[]aaaaaaaaabcccddeeeefffgghi
iiiijklmmnnoooopppqrrrrrrrsssttuvvwxyz{}

Selecione uma das opcoes abaixo:


1 - Arvore binaria
2 - Quicksort
3 - Heapsort
4 - Mergesort
5 - Sair
Escolha: 4

Vetor:
Esta frase ira provar a eficiencia do pr
ograma! abcdefghijklmnopqrstuvwxyzABCDEF
GHIJKLMNOPQRSTUVWXYZ1234567890/*-+!?[]{}

MergeSort:

!!*+-/0123456789?ABCDEEFGHIJKLMN
OPQRSTUVWXYZ[]aaaaaaaaabcccddeeeefffgghi
iiiijklmmnnoooopppqrrrrrrrsssttuvvwxyz{}

Selecione uma das opcoes abaixo:


1 - Arvore binaria
2 - Quicksort
3 - Heapsort
4 - Mergesort
5 - Sair
Escolha: 5

Fim do programa.

Process returned 0 (0x0) execution time : 13.544 s


Press any key to continue.

Após comprovada a eficiência do programa, realizou-se um diagnóstico de eficiência,
utilizando-se da mesma frase de teste, porém com inserção automática pelo próprio
programa – a fim de evitar o tempo de ação humana na execução do algoritmo. Segue
abaixo os tempos de execução e o código de retorno:

I) Árvore binária:

Insira a string (250 char):

Selecione uma das opcoes abaixo:


1 - Arvore binaria
2 - Quicksort
3 - Heapsort
4 - Mergesort
5 - Sair
Escolha:
Vetor:
Esta frase ira provar a eficiencia do pr
ograma! abcdefghijklmnopqrstuvwxyzABCDEF
GHIJKLMNOPQRSTUVWXYZ1234567890/*-+!?[]{}

Arvore:
!*+-/0123456789?ABCDEFGHIJKLMNOPQRSTUVW
XYZ[]abcdefghijklmnopqrstuvwxyz{}

Selecione uma das opcoes abaixo:


1 - Arvore binaria
2 - Quicksort
3 - Heapsort
4 - Mergesort
5 - Sair
Escolha:
Fim do programa.

Process returned 0 (0x0) execution time : 0.125 s


Press any key to continue.

II) Quicksort

Insira a string (250 char):

Selecione uma das opcoes abaixo:


1 - Arvore binaria
2 - Quicksort
3 - Heapsort
4 - Mergesort
5 - Sair
Escolha:
Vetor:
Esta frase ira provar a eficiencia do pr
ograma! abcdefghijklmnopqrstuvwxyzABCDEF
GHIJKLMNOPQRSTUVWXYZ1234567890/*-+!?[]{}

QuickSort:
!!*+-/0123456789?ABCDEEFGHIJKLMN
OPQRSTUVWXYZ[]aaaaaaaaabcccddeeeefffgghi
iiiijklmmnnoooopppqrrrrrrrsssttuvvwxyz{}

Selecione uma das opcoes abaixo:


1 - Arvore binaria
2 - Quicksort
3 - Heapsort
4 - Mergesort
5 - Sair
Escolha:
Fim do programa.

Process returned 0 (0x0) execution time : 0.016 s


Press any key to continue.

III) Heapsort

Insira a string (250 char):

Selecione uma das opcoes abaixo:


1 - Arvore binaria
2 - Quicksort
3 - Heapsort
4 - Mergesort
5 - Sair
Escolha:
Vetor:
Esta frase ira provar a eficiencia do pr
ograma! abcdefghijklmnopqrstuvwxyzABCDEF
GHIJKLMNOPQRSTUVWXYZ1234567890/*-+!?[]{}

HeapSort:
!!*+-/0123456789?ABCDEEFGHIJKLMN
OPQRSTUVWXYZ[]aaaaaaaaabcccddeeeefffgghi
iiiijklmmnnoooopppqrrrrrrrsssttuvvwxyz{}

Selecione uma das opcoes abaixo:


1 - Arvore binaria
2 - Quicksort
3 - Heapsort
4 - Mergesort
5 - Sair
Escolha:
Fim do programa.

Process returned 0 (0x0) execution time : 0.125 s


Press any key to continue.

IV) Mergesort

Insira a string (250 char):

Selecione uma das opcoes abaixo:


1 - Arvore binaria
2 - Quicksort
3 - Heapsort
4 - Mergesort
5 - Sair
Escolha:
Vetor:
Esta frase ira provar a eficiencia do pr
ograma! abcdefghijklmnopqrstuvwxyzABCDEF
GHIJKLMNOPQRSTUVWXYZ1234567890/*-+!?[]{}

MergeSort:
!!*+-/0123456789?ABCDEEFGHIJKLMN
OPQRSTUVWXYZ[]aaaaaaaaabcccddeeeefffgghi
iiiijklmmnnoooopppqrrrrrrrsssttuvvwxyz{}

Selecione uma das opcoes abaixo:


1 - Arvore binaria
2 - Quicksort
3 - Heapsort
4 - Mergesort
5 - Sair
Escolha:
Fim do programa.

Process returned 0 (0x0) execution time : 0.234 s


Press any key to continue.

Conforme esperado, a velocidade da ordenação se dá, em ordem crescente:

i) Mergesort (0.234s);
ii) Heapsort (0.125s);
iii) Quicksort (0.016s).

No entanto, vale lembrar que, embora Quicksort seja mais rápido, ele é menos
seguro; quanto mais rápido é a ordenação, mais inseguro é o processo (ressaltando
aqui que o processo por árvore binária foi utilizado apenas como referência). Segue
abaixo os algoritmos em ordem crescente de segurança:

i) Quicksort;
ii) Heapsort;
iii) Mergesort.

Mergesort é mais seguro, pois usa alocação dinâmica de memória para realizar a
ordenação, o que deixa o processo extremamente seguro, porém há um alto consumo
de memória e consequentemente requer maior tempo para realizar a tarefa.

Heapsort é um processo intermediário, não é tão seguro quanto o Mergesort, assim


como não é tão rápido quanto Quicksort; isso é porque ele não usa uma função tão
segura quanto alocação dinâmica, mas também não trabalha com tantas funções
“simultâneas” quanto o Quicksort. O algoritmo simplesmente divide a string e a ordena
em partes, porém uma parte de cada vez.

Quicksort é o tipo de alocação mais eficiente, porém com menor segurança. O motivo
de tal acontecimento é porque ela trabalha com diversas funções “simultâneas”,
chamando a própria função (Quicksort) dentro dela mesma para dividir e ordenar a string.
Isso ocasiona uma alta movimentação na memória, que pode ocasionar erros de
gravação ou leitura.

Você também pode gostar