对数器
在进行刷题的时候,如果没有对应的OJ,而却需要测试两段代码的性能,可以使用对数器 对数器另外一个用处是测试贪心策略的可行性 在OJ的时候,若自己想出一个贪心策略,无法验证正确与否,可以在小样本的情况下使用对数器对比暴力方法和贪心策略,如果贪心策略结果都正确,既可以验证其正确性 对数器实现如下,假设已经定义了两个测试方法sort1和sort2
public static int [ ] generateRandomArray ( int maxSize, int maxValue)
{
int [ ] arr = new int [ ( int ) ( ( maxSize + 1 ) * Math. random ( ) ) ; ] ;
for ( int i = 0 ; i < arr. length; i++ )
{
arr[ i] = ( int ) ( ( maxValue + 1 ) * Math. random ( ) ) - ( int ) ( maxValue * Math. random ( ) ) ;
}
return arr;
}
public static void main ( String[ ] args)
{
int testTime = 500000 ;
int maxSize = 100 ;
int maxValue = 100 ;
boolean succeed = true ;
for ( int i = 0 ; i < testTime; i++ )
{
int [ ] arr1 = generateRandomArray ( maxSize, maxValue) ;
int [ ] arr2 = copyArray ( arr1) ;
fun1 ( arr1) ;
fun2 ( arr2) ;
if ( ! isEqual ( arr1, arr2) )
{
suceed = false ;
break ;
}
}
}