怎么判断不相同的,用什么方法效率高点???

解决方案 »

  1.   

    http://community.csdn.net/Expert/TopicView3.asp?id=5047441
      

  2.   

    生成一个随机数x插入一个到排序的链表中:
    f(x,list){
    如果list为空,list.add(x);
    如果list有一个元素,x大于它,list.add(x) else list.insert(x);
    if(x>list中间那个数)
    f(x,list右段)
    else if(x<list中间那个数)
    f(x,list左段)
    //如果相等,返回
    return;
    }
    //希望你能看懂,二分法,排序与判断数是否相同同时进行,一个排序后的20000个数14次可以找到那个与之相同的数,如果用循环的方法遍历20000个未排序的数的话,那就必须要20000次。
      

  3.   

    数据结构未深思,list不一定适合,总之是一个可以用二分法并且可以插入值的数据结构
      

  4.   

    //生成随机数表
            Random random = new Random();
            random.setSeed(System.currentTimeMillis());
            Set set = new HashSet();
            while(set.size() < 20000){
                set.add(Math.abs(random.nextInt()));
            }