对数器

2023-11-05

记录下笔记。

对数器的概念和作用

对数器主要用来测试自己写的程序是否完全正确。该方法通过大量的随机数据进行验证。有时候做算法题可能无法短时间内,或者很难推导出正确的数学式子(比如贪心算法),来验证自己算法的正确,这时候就需要大量的随机样本进行测试验证。

 

对数器的使用方法

  • 有一个你想要测的方法a;
  • 实现一个绝对正确但是复杂度不好的方法b;
  • 实现一个随机样本产生器;(程序1)
  • 实现比对的方法;(程序2)
  • 把方法a和方法b比对很多次来验证方法a是否正确;
  • 如果有一个样本使得比对出错,打印样本分析是哪个方法出错;
  • 当样本数量很多时比对测试依然正确,可以确定方法a已经正确;

    从上面几条可以看出,使用对数器验证,首先需要一个自己的测试程序一个绝对正确的程序(很容易想到的方法,但复杂度高),然后最重要的就是随机样本产生程序1、比对程序2,错误样本打印什么的都是顺带操作了。所以我们需要写两个程序来验证即可。

PS:实际也可以用测试程序先检验方法b的绝对准确性,因为有时候我们对于复杂度高程序b的准确性也无法确定。

 

对于随机样本发生器,便需要引进随机数,产生不同的数据结构,这个根据算法题目的要求而改变,例如:数组(最常见),二叉树,堆等等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对数器 的相关文章

随机推荐

  • AD9 PCB文件黑色区域如何改变?

    PCB的大小是由KeepOut层定义的 用机械层定义有时候 黑色区域无这方面的意义 改变黑色区域大小可以用Design BoardShape RedefineBoardSharp来完成
  • 国内外常用公共NTP网络时间同步服务器地址

    目录 太长不看 NTP Pool Project NTP ORG CN NTP授时快速域名服务 HSDN Home Server Data Network 本地服务器数据网络 企业 阿里巴巴 腾讯 微软 苹果 谷歌 Facebook Clo
  • 从零开始学C++之STL(一):STL六大组件简介

    一 STL简介 一 泛型程序设计 泛型编程 generic programming 将程序写得尽可能通用 将算法从数据结构中抽象出来 成为通用的 C 的模板为泛型程序设计奠定了关键的基础 二 什么是STL 1 STL Standard Te
  • 高校圆桌派-解惑关于IT行业的3+N个问题

    高校圆桌派 话题风暴等你来 即日起参与 高校圆桌派 活动 就有机会获得CSDN高校圆桌大礼包和CSDN周边礼品免费包邮送到家 关于高校圆桌派 高校圆桌派活动是由CSDN高校俱乐部官方发起 征集同学们感兴趣的IT行业问题或大家最关心的热门话题
  • matlab中imrote,基于MATLAB的车牌识别系统的设计与研究

    基于MATLAB的车牌识别系统的设计与研究 基于MATLAB的车牌识别系统的设计与研究 摘要 汽车牌照自动识别系统是智能交通系统的重要组成部分 主要包括图像采集 图像预处理 车牌定位 字符分割 字符识别等五个核心部分 并提出了一套基于MAT
  • html左边多级菜单导航栏,精美的多级侧边栏导航菜单jQuery插件

    这是一款基于bootstrap的精美多级侧边栏导航菜单jQuery插件 该导航菜单在bootstrap样式的基础上 通过jQuery来为导航菜单绑定菜单点击事件 生成非常漂亮的多级侧边栏导航菜单 使用方法 在页面中引入bootstrap样式
  • prometheus监控k8s kube-proxy target down

    prometheus kube proxy target down 解决 修改配置 kubectl edit cm kube proxy n kube system metricsBindAddress 0 0 0 0 10249 删除 k
  • 2050年全部人口的86%集中到城市,智慧城市的五项关键技术

    本文翻译至 http readwrite jp cities 32108 人口的城市化毫不停息 人们的住所越来越多地从地方移动到城市 到2050年为止预计发达国家人口的86 发展中国家人口的64 将住在城市 数量有限的城市要负担如此多的人口
  • 查看并设置Linux的IP地址

    ip addr 查看网卡分配情况 如发现IP地址为 127 0 0 1 这里要修改ip地址 修改IP地址方法 1 进入 etc sysconfig network scripts 注 不同版本ifcfg ens33文件名可能会不一样 2 修
  • Visual C++ MFC的图形绘制——常见问题汇总

    Visual C MFC的图形绘制 常见问题汇总 目录 一 常见问题 1 菜单界面制作 2 命令响应函数 3 添加私有变量 4 消息响应函数 二 后记 三 补充代码 一 常见问题 1 菜单界面制作 题目描述 新建一个单文档类型的MFC Ap
  • 别再写满屏的 if、else 了,试试策略模式

    你还在写满屏的 if else switch 之类的判断逻辑吗 栈长在开发人员的代码中看过太多这样的低级代码了 真的太 low 极不好维护 本文栈长就教你如何用策略模式干掉 if else switch 让你的代码更优雅 什么是策略模式 比
  • 一起自律打卡社群第3期

    如果你愿意 你可以变得更好 社群大家都知道是怎么回事 建这个群组主要就是互相鼓励 一起前进 不要在生活或工作学习中处于一种颓废的状态 干啥都提不上劲 对生活也没有多大的期望 其实都是懒散惯了 导致对生活缺少一种积极的能量 从而想伪躺平当个咸
  • 电脑系统重装后触控板用不了了(消失了)

    问题 win10系统重装后发现触控板用不了 消失了 如图 正常的情况应该如图下 造成这种情况的原因 1 可能是误删触控板驱动 2 可能是重装系统的时候触控板驱动没打上 3 可能是触控板因进水 撞击损坏 4 略 可能因素太多了 这次我主讲华硕
  • express+websocket实现线上聊天

    1 webSocket简介 WebSocket是一种通信协议 可在单个TCP连接上进行全双工通信 WebSocket使得客户端和服务器之间的数据交换变得更加简单 允许服务端主动向客户端推送数据 在WebSocket API中 浏览器和服务器
  • 静态类型推导

    前面说泛型的时候 提到了C 模板的实现方式是动态特性静态化 在实际情况中 这是一个提高效率的好办法 动态性的好处是灵活 开发简便 静态性的特性是效率高 编译期检查较好 因此很自然地就有一个问题 能不能各取所长 达到两全其美 应该说 在一定程
  • Apache Tika入门

    文章目录 1 基本介绍 2 Tika使用 2 1 解析器接口 The Parser interface 2 1 1 自定义Parser类 2 2 检测器接口 2 3 Tika配置 1 基本介绍 Apache Tika 文本分析工具包 能够检
  • Python可视化——3D绘图解决方案pyecharts、matplotlib、openpyxl

    Python可视化 3D绘图解决方案pyecharts matplotlib openpyxl 1 pyecharts 2 matplotlib 3 openpyxl 这篇博客将介绍python中可视化比较棒的3D绘图包 pyecharts
  • Java Thread.Sleep()具有什么功能呢?

    转自 Java Thread Sleep 具有什么功能呢 下文笔者讲述Thread Sleep 方法的功能简介说明 如下所示 Thread Sleep 方法的功能 暂停当前线程 当线程停止后 会通知线程调度器在当前时间周期内将其状态设置为w
  • qt5中QString输出变量的值

    概述 QString类中有两种实现输出字符串中含有变量值的方式 这里做下记录 示例 方法一 使用QString的函数asprintf int m age 12 QString asprintf 年龄是 d m age 方法二 使用arg Q
  • 对数器

    记录下笔记 对数器的概念和作用 对数器主要用来测试自己写的程序是否完全正确 该方法通过大量的随机数据进行验证 有时候做算法题可能无法短时间内 或者很难推导出正确的数学式子 比如贪心算法 来验证自己算法的正确 这时候就需要大量的随机样本进行测