Towards a realistic analysis of sorting and searching algorithms
Vers une analyse réaliste des algorithmes de tri et de recherche
Résumé
We revisit classical textbook sorting or selecting algorithms under a complexity model that fully takes into account the elementary comparisons between symbols composing the records to be processed. Our probabilistic models belong to a broad category of information sources that encompasses memoryless (i.e., independent-symbols) and Markov sources, as well as many unbounded-correlation sources. Under this perspective, commonly accepted assertions, such as ``the complexity of Quicksort is O(n log n)'', are to be challenged, and the relative merits of sorting and searching methods relying on different principles (e.g., radix-based versus comparison-based) can be precisely assessed. For instance we establish that, under our conditions, the average-case complexity of QuickSort is O(n log2 n) (rather than O(n log n), classically),whereas that of QuickSelect remains O(n).
In fact we propose a framework which allows to revisiting three sorting algorithms (QuickSort, Insertion Sort, Bubble Sort) and two selection algorithms (QuickSelect and Minimum Selection). For each algorithm a precise asymptotic estimate for the dominant term of the mean number of symbol comparisons is given where the constants involve various notions of coincidence depending on the algorithm. Explicit expressions for the implied constants are provided by methods from analytic combinatorics. As an aside, in our setting, we are able to derive a lower bound for the average number of symbol comparisons for algorithms solving the sorting problem and using usual comparisons between strings.
On revisite les algorithmes de tri et de recherche classiques en considérant que les entrées de l’algorithme sont des mots infinis et en prenant compte de comparaisons de symboles entre des mots. Nous travaillons sous des modèles probabilistes différents pour lesquels les symboles sont générés par une source générale qui comprend, par exemple, la source sans mémoire, la chaîne de Markov ou même des sources avec les corrélations non bornées. De ce point de vue, une assertion telle que ``la complexité de QuickSort est O(n log n)'' n’est plus vérifiée et il n’est pas aisé de comparer entre eux des algorithmes reposant sur des principes différents de comparaison. Dans ce cadre, nous trouvons que la complexité en moyenne pour le nombre de comparaisons de symboles de QuickSort devient O(n log^2 n) alors que celle de QuickSelect reste en O(n).
Nous proposons une méthode générale qui permet de revisiter trois algorithmes de tri QuickSort, Tri Insertion et Tri à Bulles et deux algorithmes de sélection QuickSelect et Sélection du Minimum. Pour chaque algorithme, nous calculons les asymptotiques du nombre moyen de comparaisons de symboles. Les constantes pour les termes dominants sont reliées à des notions différentes de coïncidence et dépendantes des algorithmes. Nous empruntons des méthodes de la combinatoire analytique. Dans notre cadre, nous obtenons de plus une borne inférieure pour le nombre moyen de comparaisons de symboles effectuées par des algorithmes de tri utilisant la comparaison usuelle entre des chaînes de caractères.
Loading...