def profile(): print "100 elem DP", timeit.Timer(lambda: non_decreasing_seq(array(100))).timeit(3) print "1000 elem DP", timeit.Timer(lambda: non_decreasing_seq(array(1000))).timeit(3) # print "5000 elem DP", timeit.Timer(lambda: non_decreasing_seq(array(5000))).timeit(1) # print "10000 elem DP", timeit.Timer(lambda: non_decreasing_seq(array(10000))).timeit(1) print "50 elem brute force", timeit.Timer(lambda: non_decreasing_seq_brute(array(50))).timeit(3) print "80 elem brute force", timeit.Timer(lambda: non_decreasing_seq_brute(array(100))).timeit(1)
def profile(): print "100 elem DP", timeit.Timer( lambda: non_decreasing_seq(array(100))).timeit(3) print "1000 elem DP", timeit.Timer( lambda: non_decreasing_seq(array(1000))).timeit(3) # print "5000 elem DP", timeit.Timer(lambda: non_decreasing_seq(array(5000))).timeit(1) # print "10000 elem DP", timeit.Timer(lambda: non_decreasing_seq(array(10000))).timeit(1) print "50 elem brute force", timeit.Timer( lambda: non_decreasing_seq_brute(array(50))).timeit(3) print "80 elem brute force", timeit.Timer( lambda: non_decreasing_seq_brute(array(100))).timeit(1)
def assert_correct_length(arr, algorithm): assert len(algorithm(arr)) == len(non_decreasing_seq_brute(arr))