Another iteration on “A synthesis of several sorting algorithms” (original) (raw)

Semi-automatic Synthesis of Some Sorting Programs in Theorema

2012

Abstract. In the context of constructive synthesis we present a general method for synthesis of seven versions of sorting algorithms and the synthesis of some necessary auxiliary functions. We synthesize also new algorithms like: Special Merge-Sort and Special Quick-Sort. The method that we implemented in the Theorema system and the case studies presented in this paper complement the work from [8]. The synthesis process is paralleled with the exploration of the appropriate theory of lists. 1

The Folklore of Sorting Algorithms

2009

The objective of this paper is to review the folklore knowledge seen in research work devoted on synthesis, optimization, and effectiveness of various sorting algorithms. We will examine sorting algorithms in the folklore lines and try to discover the tradeoffs between folklore and theorems. Finally, the folklore knowledge on complexity values of the sorting algorithms will be considered, verified and subsequently converged in to theorems.

Investigating the Effect of Implementation Languages and Large Problem Sizes on the Tractability and Efficiency of Sorting Algorithms

2019

Sorting is a data structure operation involving a re-arrangement of an unordered set of elements with witnessed real life applications for load balancing and energy conservation in distributed, grid and cloud computing environments. However, the rearrangement procedure often used by sorting algorithms differs and significantly impacts on their computational efficiencies and tractability for varying problem sizes. Currently, which combination of sorting algorithm and implementation language is highly tractable and efficient for solving large sized-problems remains an open challenge. In this paper, the effect of implementation languages and problem sizes on tractability and execution times of some sorting algorithms is investigated. A Goal/Question/Metric approach was adopted for the experimental design. The algorithms were implemented in Java and ‘C’. Eight pseudo-random integer arrays with sizes between 100,000 and 5,000,000 were generated for testing purpose. The results obtained r...