数据结构基础之《(2)—对数器》

打印 上一主题 下一主题

主题 1598|帖子 1598|积分 4794

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、认识对数器
1、你在网上找到了某个公司的面试题,你想了好久,感觉本身会做,但是你找不到在线测试
2、你和朋友交流面试题,你想了好久,感觉本身会做,但是你找不到在线测试
3、你在网上做笔试,但是前几个测试用例都过了,突然一个巨大无比数据量来了,结果你的代码报错了,如此大的数据量根本看不出哪错了
二、对数器怎么用
1、你想要测的方法a(你计划的流程时间复杂度低,但是不知道对不对)
2、实现复杂度不好但是容易实现的方法b
3、实现一个随机样本产生器
4、把方法a和方法b跑相同的随机样本,看看得到的结果是否一样
5、如果有一个随机样本使得比较结果不划一,打印样本举行人工干预,改对方法a和方法b
6、当样本数量很多时,比对测试依然精确,可以确定方法a已经精确
例子:
  1.         //随机生成数组
  2.         public static int[] generateRandomArray(int maxSize, int maxValue) {
  3.                 //Math.random()  返回[0,1)之间的小数
  4.                 //Math.random() * N  返回[0,N)之间小数
  5.                 //(int)(Math.random() * N)  返回[0, N-1]之间的整数
  6.                 int arr[] = new int[(int) ((maxSize + 1) * Math.random())];
  7.                 for (int i=0; i<arr.length; i++) {
  8.                         //[-?, +?] 让负的某个值到正的某个值都有
  9.                         arr[i]=(int) ((maxValue + 1) * Math.random()) - (int) (maxValue * Math.random());
  10.                 }
  11.                
  12.                 return arr;
  13.         }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户云卷云舒

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表