Uma Nova Proposta para a Obtenção da Complexidade de Pior Caso do ShellSort
DOI:
https://doi.org/10.5540/tema.2019.020.03.457Keywords:
Complexidade de Algoritmos, Método Empírico, ShellSort.Abstract
A complexidade de pior caso do ShellSort, um algoritmo de ordenação por comparação, depende de uma sequência de passos dada de entrada. Cada passo consiste de um inteiro representando a diferença de índices dos pares de elementos que devem ser comparados durante a ordenação de um vetor de entrada. Tal complexidade é conhecida somente para algumas sequências específicas. Neste trabalho, usamos uma relação entre ShellSort e o número de Frobenius para apresentar um novo algoritmo que provê um limite superior no número de comparações que o \mbox{ShellSort} perfaz, para dados vetor e sequência de passos. Aplicamos este algoritmo, em conjunto com uma análise de complexidade empírica, para estudar sequências cujas complexidades de pior caso são conhecidas através do método analítico. Mostramos que a abordagem empírica foi bem sucedida em determinar tais complexidades. Baseado nestes resultados positivos, estendemos o estudo para sequências para as quais as complexidades de pior caso estão em aberto.References
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to algorithms. Editora MIT, 2009.
D. L. Shell, “A high-speed sorting procedure,” Communications of the ACM, vol. 2, no. 7, pp. 30–32, 1959.
R. M. Frank and R. B. Lazarus, “A high-speed sorting procedure,” Communications of the ACM, vol. 3, no. 1, pp. 20–22, 1960.
V. R. Pratt, Shellsort and sorting networks. PhD thesis, Universidade de Stanford, 1972.
R. Sedgewick, “A new upper bound for shellsort,” Journal of Algorithms, vol. 7, no. 2, pp. 159–173, 1986.
G. H. Gonnet and R. A. Baeza-Yates, Handbook of Algorithms and Data Structures: in Pascal and C. EUA: Addison-Wesley, 1991.
M. Ciura, “Best increments for the average case of shellsort,” in Fundamentals of Computation Theory, pp. 106–117, Springer, 2001.
M. T. Goodrich, “Randomized shellsort: A simple data-oblivious sorting algorithm,” Journal of the ACM (JACM), vol. 58, no. 6, p. 27, 2011.
P. Vitányi, “On the average-case complexity of shellsort,” Random Structures & Algorithms, vol. 52, no. 2, pp. 354–363, 2018.
R. M. Souza, F. S. Oliveira and P. E. D. Pinto, "Um Limite Superior para a Complexidade do ShellSort", Anais do III Encontro de Teoria da Computação, pp. 49–52, 2018, SBC.
R. M. Souza, F. S. Oliveira and P. E. D. Pinto, "O Algoritmo ShellSort e o Número de Frobenius", XXXVIII Congresso Nacional de Matemática Aplicada e Computacional, 2018, SBMAC.
T. N. Hibbard, “An empirical study of minimal storage sorting,” Communications of the ACM, vol. 6, no. 5, pp. 206–213, 1963.
A. A. Papernov and G. V. Stasevich, “A method of information sorting in computer memories,” Problemy Peredachi Informatsii, vol. 1, no. 3, pp. 81–98, 1965.
D. E. Knuth, The Art of Computer Programming 3: Sorting and Searching. EUA: Addison-Wesley, 1998.
J. Incerpi and R. Sedgewick, “Improved upper bounds on shellsort,” in Anais do 24o Annual Symposium on Foundations of Computer Science, 1983, pp. 48–55, IEEE, 1983.
N. Tokuda, “An improved shellsort,” Anais do 12o IFIP World Computer Congress on Algorithms, Software, Architecture-Information Processing, vol. 1, pp. 449–457, 1992.
R. Cypher, “A lower bound on the size of shellsort sorting networks,” SIAM Journal on Computing, vol. 22, no. 1, pp. 62–71, 1993.
F. S. Oliveira, "EMA - WebPage", http://fabianooliveira.ime.uerj.br/ema, 2016. [Última vez acessado: 10 de Dezembro de 2018]
B. Poonen, “The worst case in shellsort and related algorithms,” Journal of Algorithms, vol. 15, no. 1, pp. 101–124, 1993.
J. L. R. Alfonsín, The diophantine Frobenius problem, vol. 30. Oxford University Press on Demand, 2005.
M. A. Weiss and R. Sedgewick, “More on shellsort increment sequences,” Information Processing Letters, vol. 34, no. 5, pp. 267–270, 1990.
Downloads
Additional Files
- Dados utilizados nos experimentos do artigo (Português (Brasil))
- Arquivo fonte do artigo (Português (Brasil))
- Arquivo fonte da bibliografia do artigo (Português (Brasil))
- Gráfico representando o número de comparações realizadas pelo algoritmo ShellSort para as sequências de Shell, Hibbard, Papernov e Stasevich, Knuth e Sedgewick (Português (Brasil))
- Gráfico representando o número de comparações realizadas pelo algoritmo ShellSort para as sequências de Pratt, Incerpi e Sedgewick, Gonnet e Baeza-Yates, Tokuda e Ciura (Português (Brasil))
- Grafo representando a árvore de possibilidades para a sequência de Frank e Lazarus (Português (Brasil))
- Grafo representando a árvore de possibilidades para a sequência de Gonnet e Baeza-Yates (Português (Brasil))
- Grafo representando a árvore de possibilidades para a sequência de Shell (Português (Brasil))
- Source files for compilation (Português (Brasil))
Published
How to Cite
Issue
Section
License
Authors who publish in this journal agree to the following terms:
Authors retain copyright and grant the journal the right of first publication, with the work simultaneously licensed under the Creative Commons Attribution License that allows the sharing of the work with acknowledgment of authorship and initial publication in this journal.
Authors are authorized to assume additional contracts separately, for non-exclusive distribution of the version of the work published in this journal (eg, publish in an institutional repository or as a book chapter), with acknowledgment of authorship and initial publication in this journal.
Authors are allowed and encouraged to publish and distribute their work online (eg, in institutional repositories or on their personal page) at any point before or during the editorial process, as this can generate productive changes as well as increase impact and the citation of the published work (See The effect of open access).
This is an open access journal which means that all content is freely available without charge to the user or his/her institution. Users are allowed to read, download, copy, distribute, print, search, or link to the full texts of the articles, or use them for any other lawful purpose, without asking prior permission from the publisher or the
author. This is in accordance with the BOAI definition of open access
Intellectual Property
All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License under attribution BY.