larskotthoff / quicksort-pivot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Quicksort Pivot-Picking Strategies Comparison

This repository contains the code, data, and results for parts of the experiments in the following paper: Kotthoff, Lars, Alexandre Fréchette, Tomasz P. Michalak, Talal Rahwan, Holger H. Hoos, and Kevin Leyton-Brown. “Quantifying Algorithmic Improvements over Time.” In 27th International Joint Conference on Artificial Intelligence (IJCAI) Special Track on the Evolution of the Contours of AI, 2018.

In particular, it corrects a bug in the code and presents updated results.

genlist.rb generates files with lists of numbers to sort -- one with all the same elements, one sorted, one reverse sorted, 1000 random permutations with no repeated elements, 1000 random permutations with repeated elements. The number of elements in each list is given as the only argument.

qs-pivot.c takes a file that contains one list to sort per line (as generated by genlist.rb) and runs different pivot-picking quicksorts and insertion sort for comparison on it. It outputs the runtime for each algorithm on each list. Each run is repeated a number of times (default 100) to get more reliable measurements.

About


Languages

Language:C 96.7%Language:Ruby 3.3%