theory相关内容

两个范围之间的差异

我可以找到很多关于“Union"和“Intersect"VBA 方法的问题和示例,但我找不到关于“Set Difference"方法的任何内容?这是否存在(除了使用 union 和 intersect 的组合)? 我正在尝试找到一种简单的方法来获取所有 range1,不包括与 range2 重叠的任何 range1,而不知道任一范围的大小或形状. 任何帮助将不胜感激. 编辑. ..
发布时间:2022-01-24 20:15:54 其他开发

为什么空引用异常不能命名具有空引用的对象?

在我看来,我的大量调试时间都花在了追踪复杂语句中的空引用异常上.例如: _GamesToOpen.GetIterator() 中的每个游戏 As IHomeGame 为什么,当我得到 NullReferenceException 时,我可以得到堆栈跟踪中的行号,而不是等于 null 的对象的名称.换句话说,为什么: 对象引用未设置为对象的实例. 而不是 _GamesToOpen 未设置 ..
发布时间:2022-01-17 08:55:44 C#/.NET

如何判断一种语言是否为 LL(1) LR(0) SLR(1)

有没有一种简单的方法可以判断一个语法是 LL(1)、LR(0)、SLR(1)... 只看语法而不做任何复杂的分析? 例如:要确定 BNF 语法是否为 LL(1),您必须计算 First 和 Follow 集 - 在某些情况下这可能很耗时. 有人知道如何更快地做到这一点吗?任何帮助将不胜感激! 解决方案 首先,有点迂腐.您无法通过检查语法来确定 语言 是否为 LL(1),您只能对 ..
发布时间:2022-01-17 08:32:17 其他开发

Hashmap和Hashtable在理论上有什么区别?

hashmap和hashtable在理论上有区别吗? 我的意思不是在 Java 中给出的具体定义(或实现),而是在理论上.哈希表不是使用哈希的映射......因此是哈希映射吗? 解决方案 根据维基百科,它们是相同的: 在计算中,哈希表(哈希图)是一种用于实现关联数组(...)的数据结构 根据Wikibooks,是一样的: 哈希表或哈希映射是一种将键与值相关联的数据结 ..
发布时间:2022-01-08 14:21:15 其他开发

Javascript 中的 window 真的是全局的吗?

在浏览器中获取这段 Javascript: 控制台日志(window.someThing);无功 x = 12;函数 foo() {window.otherThing = x;} 在foo里面我们可以访问window,我们都知道,但究竟是为什么呢? 它是某种特殊的全局变量吗? 或者“根范围"(在 script 标签内)是否将其作为隐式局部变量,它是否只是“闭包继承"作为任何其他局部变量 ..
发布时间:2022-01-04 11:21:39 前端开发

什么是 Y 组合子?

Y 组合器是来自“功能"的计算机科学概念;事情的一面.大多数程序员根本不了解组合子,如果他们甚至听说过它们的话. 什么是 Y 组合子? 组合子是如何工作的? 它们有什么用? 它们在过程语言中有用吗? 解决方案 如果您准备好长时间阅读,Mike Vanier 有一个很棒的解释.长话短说,它允许您用一种本身不一定支持递归的语言来实现递归. ..

事件循环和Promise有什么关系

我很好奇Event Loop和Promise的关系. 演示暴露了这个问题.我希望 p1 completed 出现在中间,因为它们将一个任务排到同一个任务队列中并被一个一个地执行. var p1 = new Promise(function(resolve, reject){解决(1)})设置超时(功能(){console.log("将在下一个事件循环的顶部执行")},0)p1.then(函数( ..
发布时间:2021-12-29 10:04:48 前端开发

异步等待性能?

(只是一个理论问题 - 对于非 GUI 应用程序) 假设我有很多 await 的代码: 公共异步任务消费异步(){等待 A();等待 b();等待 c();等待 d();//..} 每个任务可能需要很短的时间, 问题(再次,理论) 可能这样的情况,整体时间处理所有那些“释放回线程"和“获取线程回"(这里是红色和绿色:) 比单个线程花费更多的时间,它可以在少量延迟的情况下 ..
发布时间:2021-12-27 23:24:57 C#/.NET

像 MD5 这样的哈希函数是如何独特的?

我知道 MD5 有一些冲突,但这更多是关于散列函数的高级问题. 如果 MD5 将任意字符串散列成 32 位十六进制值,则根据 Pigeonhole Principle 这当然不可能是唯一的,因为唯一的任意字符串比唯一的 32 位十六进制值多. 解决方案 您说得对,它不能保证唯一性,但是在 32 位十六进制值 (16^32) 中大约有 3.402823669209387e+38 个不同 ..
发布时间:2021-12-27 16:13:22 其他开发

什么是 C++ 中的标量对象?

据我所知,基本类型是标量,数组是聚合的,但用户定义的类型呢?我会根据什么标准将它们分为两类? struct S { int i;int j };C类{公共:S s1_;S s2_ };std::vectorⅤ;std::vector*pV = &v; 解决方案 简短版本: C++ 中的类型是: 对象类型:标量、数组、类、联合 引用类型 函数类型 (成员类型)[见下文] ..
发布时间:2021-12-25 13:15:38 C/C++开发

恢复被覆盖的内置方法

假设我们的脚本包含在一个网页中,并且之前的脚本(已经执行)做到了这一点: String.prototype.split = function () {返回“你疯了兄弟?";}; 因此,split 字符串方法已被覆盖. 我们想使用这种方法,所以我们需要以某种方式恢复它.当然,我们可以定义我们自己的这个方法的实现并使用它.但是,针对这个问题,我们只能说我们真的很想恢复浏览器对该方法的实现. ..
发布时间:2021-12-25 11:45:16 前端开发

什么是 lambda(函数)?

对于没有 comp-sci 背景的人来说,计算机科学领域中的 lambda 是什么? 解决方案 Lambda 来自 Lambda Calculus 指的是编程中的匿名函数. 为什么这么酷?它允许您在不命名的情况下编写快速丢弃的函数.它还提供了一种编写闭包的好方法.有了这种能力,你可以做这样的事情. Python def adder(x):返回 lambda y: x + ya ..

什么是 Zipper 数据结构,我应该使用它吗?

问题很简单:我无法理解 Zipper 数据结构.> 我的问题与它与树的使用有关. 我想了解如何使用 zipper 更改树节点.以及如何不复制整棵树(或其中的大部分). 请澄清我是否对拉链有误.也许它无法帮助更新树? 或者,也许可以更新树而我只是看不到路? 解决方案 让我们从列表的 Zipper 模拟开始.如果您想修改列表的第 n 个元素,则需要 O(n),因为您必须复制第 ..
发布时间:2021-12-22 08:18:21 其他开发

解释数据*结构*和数据*类型*之间的区别

虽然试图回答 复合数据类型和数据结构有什么区别?我意识到虽然我很清楚什么是数据类型,但它不是一回事作为数据结构,我无法用语言表达差异.如果您正在教授 CS 入门课程,您会如何解释其中的区别? 解决方案 数据结构是一种对数据组织方式的抽象描述,以允许对其进行有效的某些操作.例如,二叉树是一种数据结构,斐波那契堆、AVL 树或跳过列表也是如此.理论家描述数据结构并证明它们的性质,以表明在某些假 ..
发布时间:2021-12-22 08:17:38 其他开发

文本编辑器理论

因为我总是对现有的编辑器不满意,所以我一直想开始的一个项目是我自己的文本编辑器.然而,进行文本编辑是一项严肃的工作. 除了分析现有文本编辑器的源代码外,是否有关于此主题的书籍或其他资源(如学术作品)?我对教授如何处理内存和如何管理文本插入的东西特别感兴趣(如果你有一个 100 MB 的文件并且想在 x 位置添加一个字符,你不能只是 memmove 巨大的文本块...). 解决方案 看 ..
发布时间:2021-12-22 08:10:08 其他开发

while-else 循环

当然,这在 Java 中是一个不可能的语句(迄今为止),但理想情况下我想实现它,因为它是许多迭代的核心.例如,当它创建 ArrayList 时,它被调用了 650,000 多次.不幸的是,我的实际代码在 else 循环中没有 set ;因此它将传递 add 和 set 命令并浪费时间. 在那之后,我也在另一个循环中使用它,它只在数据已经创建时执行集合,并且它与许多其他数据嵌套在一起,因此这是 ..
发布时间:2021-12-21 10:46:19 Java开发

如何测试随机性(例如 - 洗牌)

首先,这个问题是从这个问题中删除的.我这样做是因为我认为这部分比较长问题的子部分要大.如有冒犯,请见谅. 假设您有一个生成随机性的算法.现在你如何测试它?或者更直接地 - 假设您有一个洗一副纸牌的算法,您如何测试它是一个完全随机的算法? 为问题添加一些理论-一副牌可以洗52次!(52阶乘)不同的方式.拿一副牌,用手洗牌,写下所有牌的顺序.你得到那次洗牌的概率是多少?答案:1/52! ..
发布时间:2021-12-17 14:54:14 其他开发

找到两个函数的等价性是不可判定的吗?

是否不可能知道两个函数是否等价?例如,编译器编写者想确定开发人员编写的两个函数是否执行相同的操作,他可以​​使用什么方法来解决这个问题?或者我们可以做些什么来发现两个 TM 是相同的?有没有办法使机器正常化? 编辑:如果一般情况是不可判定的,你需要有多少信息才能正确地说两个函数是等价的? 解决方案 给定一个任意函数 f,我们定义一个函数 f' 返回 1 在输入 n 上,如果 f 在输 ..

八岁儿童的大O?

我想更多地了解这对我的代码意味着什么.我从数学上理解这些概念,我只是很难理解它们在概念上的含义.例如,如果要对数据结构执行 O(1) 操作,我知道它必须执行的操作数量不会增加,因为有更多项目.并且 O(n) 操作意味着您将对每个元素执行一组操作.有人可以填写这里的空白吗? 比如 O(n^2) 操作究竟会做什么? 如果操作的复杂度为 O(n log(n)),这到底意味着什么? 有人必须抽烟 ..
发布时间:2021-12-06 19:32:00 其他开发