对数器(一种测试算法的技巧)

2023-10-29

当我们有两个算法,一个是暴力算法,一个是好的算法。
我们想看是否这个好的算法存在有问题,因为暴力算法一般比较好写并且不会出错。但是会超时(当然暴力也可能错)
我们就用一个随机样本产生器,生成数据分别用这两个算法跑,是否结果完全一样,不一样说明其中有一个错了。

具体实现:
就是生成一个随机个数的,然后里面每个元素的大小也随机的数。再调用两个算法用这个数组进行计算,可以用copyArray来复制数组。判断两个执行结果是否完全一样,用isEqual函数判断。
夹在一个循环里,然后循环几千次。看是否完全一样。
代码如下

//长度随机,random是返回[0,1)的随机小数
int[] arr = new int[(int)((macSize + 1) * Math.random())];
//里面每个元素随机
for(int i = 0 ; i< arr.length ; i++){
	//相减可以得到附属
	arr[i] = (int)((maxValue + 1) * Math.random))-(int)((maxValue+1) * Math.random));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对数器(一种测试算法的技巧) 的相关文章

随机推荐

  • 【珍藏版】 2012Java开发工程师必备精品资料(115个)

    Java应用广泛 涉及个人PC 数据中心 游戏控制台 科学超级计算机 移动电话和互联网等领域 同时拥有全球最大的开发者专业社群 小弟精心整理了115个精品资料 包括11个Java开发专题和104个热门资源 网上的资料众多 参差不齐 然而这批
  • PHPBONE使用问题集--.Net直接POST数据被过滤

    当 NET用POST发送数据到服务端时 发现 加号全被过滤成空格了 以为是PHPBONE的问题 查了半天代码也没发现哪有异常 但是以前也遇到过 也的确是处理过 只是不记得是怎么处理的了 无耐翻出以前的程序查找了一番 结果发现是编码问题 把数
  • 2021-07-18

    JQuery之DOM操作 1 创建节点及结点属性 1 DOM创建节点及结点属性 创建流程比较简单 大体如下 创建节点 常见的 元素 属性和文本 添加节点的一些属性 加入到文档中 流程中涉及的一点方法 创建元素 document create
  • 哲学家问题(死锁问题)

    1 问题描述 有五个哲学家绕着圆桌坐 每个哲学家面前有一盘面 两人之间有一支筷子 这样每个哲学家左右各有一支筷子 哲学家有2个状态 思考或者拿起筷子吃饭 如果哲学家拿到一只筷子 不能吃饭 直到拿到2只才能吃饭 并且一次只能拿起身边的一支筷子
  • git从某个分支创建新分支

    如题 记录一下从某个分支创建新分支的方法 如从dev分支创建一个test分支 第一步 切换到你指定的分支 如我要从dev上拉一个分支 代码一模一样 git checkout dev 第二步 拉取dev的最新代码 git pull 第三步 在
  • Android Bitmap加载内存占用彻底分析

    背景 在某个版本应用上线后 偶然测得首页占用的内存非常的大而且一直不能回收掉 经过一轮的排查后最终确定是3张图片引起的 当时每张图片占用了将近20m内存 当时紧急处理好后还一直惦记着此事 后来对Android加载Bitmap的内存占用作了彻
  • Android系统源代码的下载与编译

    http www jianshu com p aeaceda41798
  • UVa 12955 Factorial

    Problem uva onlinejudge org index php option com onlinejudge Itemid 8 page show problem problem 4834 开始想多了 想着不能简单贪心 要用dp
  • C# Task异步编程

    Task任务用法 Task用的是线程池 线程池的线程数量的有上限的 这个可以通过ThreadPool修改 我们经常会用到task run new task 和task factory startnew方法来创建任务 Task Factory
  • 检查HDFS块状态

    hadoop集群运行过程中 节点的块状态或者上下线节点时集群都会受影响 如何查看当前的hdfs的块的状态 hadoop1 x时候的命令 hadoop2 x也可使用 hadoop fsck 在hadoop2 0之后 可以使用新命令 hdfs
  • 关于 JavaScript 中的 Promises

    在 JavaScript 中 Promise 是一个对象 它表示一个可能还不可用 但会在未来解决的值 Promises 用于处理异步操作 例如发出网络请求或访问数据库 其中结果不是立即可用的 如果你准备好了 我想开始我们的冒险 承诺如何运作
  • vc2010中开始执行不调试灰的_Intellij IDEA调试功能使用总结

    这段时间一直在使用Intellij IDEA 今天把调试区工具的使用方法记录于此 先编译好要调试的程序 1 设置断点 选定要设置断点的代码行 在行号的区域后面单击鼠标左键即可 2 开启调试会话 点击红色箭头指向的小虫子 开始进入调试 IDE
  • 快速傅里叶变换(FFT)

    前言 在学习FFT过程中看了很多博客 但发现在看博客的时候博客上的内容大多都晦涩难懂 于是乎想自己写一篇博客来记录一下自己学习的心得体会 知其源 先来讲讲FFT的起源 快速傅里叶变换是1965年由J W 库利和T W 图基提出的 采用这种算
  • 微服务项目之JVM Thread线程数飙升

    查找步骤如下 1 找到使用的jdk 在下面找到bin目录 之后双击bin目录下jvisualvm exe 2 启动本地项目 按照上图就可以监控线程数变化 如果项目部署在远程服务器上 那么则需要添加远程监控 选中远程 gt 右键添加远程主机
  • 目标检测跟踪算法--传统方法

    第一阶段 目标跟踪分为两个部分 一个是对指定目标寻找可以跟踪的特征 常用的有颜色 轮廓 特征点 轨迹等 另一个是对目标特征进行跟踪 1 静态背景 1 背景差 对背景的光照变化 噪声干扰以及周期性运动等进行建模 通过当前帧减去背景图来捕获运动
  • python使用hash256加密验证字符串

    这篇博客使用hash256加密一个固定的字符串 同一个字符串有固定的hash256 因此可以通过验证hash值 判断字符串是否发生变化 import hashlib def get hash256 data str 对data加密 hash
  • USB audio调试

    androidstudio打印的信息有如下 07 12 08 27 17 660 2284 2284 I AudioFlinger loadHwModule Loaded a2dp audio interface from A2DP Aud
  • Linux Foundation发布面向IoT的实时OS开发项目「Zephyr」

    本文翻译至 http japan zdnet com article 35078243 物联网 IoT 领域新的玩家出场了 这就是Linux Foundation的 Zephyr Project 本文考察该项目给开发者和消费者双方带来利益的
  • ObjectArx 自定义实体

    1 arx文档中规定的必须重写的几个函数 AcDbObject virtual Acad ErrorStatus dwgInFields AcDbDwgFiler filer virtual Acad ErrorStatus dwgOutF
  • 对数器(一种测试算法的技巧)

    当我们有两个算法 一个是暴力算法 一个是好的算法 我们想看是否这个好的算法存在有问题 因为暴力算法一般比较好写并且不会出错 但是会超时 当然暴力也可能错 我们就用一个随机样本产生器 生成数据分别用这两个算法跑 是否结果完全一样 不一样说明其