package com.qiusongde;
import edu.princeton.cs.algs4.StdOut;
public class Exercise2127 {
public static void main(String[] args) {
int T = 100;
double previnsert = SortCompare.timeRandomInput("Insertion", 64, T);
double prevselection = SortCompare.timeRandomInput("Selection", 64, T);
double prevshell = SortCompare.timeRandomInput("Shell", 64, T);
StdOut.printf("%-10s %-13s %-13s %-13s
", "N", "Insertion", "Selection", "Shell");
int N = 128;
while(true) {
double timeinsert = SortCompare.timeRandomInput("Insertion", N, T);
double timeselection = SortCompare.timeRandomInput("Selection", N, T);
double timeshell = SortCompare.timeRandomInput("Shell", N, T);
double ratioinsert = timeinsert/previnsert;
double ratioselection = timeselection/prevselection;
double ratioshell = timeshell/prevshell;
StdOut.printf("%-10d %-6.3f %-6.1f %-6.3f %-6.1f %-6.3f %-6.1f
", N, timeinsert, ratioinsert, timeselection, ratioselection, timeshell, ratioshell);
N += N;
previnsert = timeinsert;
prevselection = timeselection;
prevshell = timeshell;
}
}
}
N Insertion Selection Shell
128 0.005 0.6 0.023 3.8 0.001 0.3
256 0.007 1.4 0.005 0.2 0.005 5.0
512 0.026 3.7 0.025 5.0 0.005 1.0
1024 0.113 4.3 0.084 3.4 0.015 3.0
2048 0.463 4.1 0.331 3.9 0.028 1.9
4096 1.880 4.1 1.317 4.0 0.069 2.5
8192 7.605 4.0 5.251 4.0 0.161 2.3