public interface SpeedyAlgorithms { /** * The function runs in constant time. * @param data some data */ void orderOne(int[] data); /** * This function runs in time that is equivalent to O(log(data.length)) * @param data some data */ void orderLogN(int[] data); /** * This function runs in time O(data.length) * @param data some data */ void orderN(int[] data); /** * This function runs in time O(data.length^2) * @param data some data */ void orderNSquared(int[] data); /** * This function runs in time O(data.length^3) * @param data some data */ void orderNCubed(int[] data); /** * This function runs in time O(data.length*(data.length-1)*(data.length-2)*...) * @param data some data */ void orderNFactorial(int[] data); }