问题标签 [probing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1585 浏览

algorithm - 证明二次探测函数

如果有人可以帮助解决这个问题,我将不胜感激。问题是:考虑以下哈希函数:h(k, i) = (h'(k) + (1/2) (i + i^2 )) mod m,其中 m = 2^p 表示某个正整数页。证明或反驳对于任何 k,探针序列是 <0, 1, 2, ...,m – 1> 的排列

0 投票
2 回答
429 浏览

clr - Kentico 10 是否使用与以前版本不同的程序集加载/探测/处理策略?

我们有我试图理解的由 Kentico 10(与 9 及更早版本相比)驱动的程序集加载或探测差异,因此我可以解决程序集加载错误,我当前的示例如下...

示例:我们一直在来自http://www.html-to-pdf.net的网站中使用 Expert PDF 组件 该产品有一个托管的 ephtmltopdf.dll 程序集,它依赖于非托管的“帮助”DLL epengine.dll也位于旁边在 web 应用程序的 bin/ 文件夹中,有时应用程序启动时会引发异常...

在 Kentico 9(和更早版本)下,每当网站启动时,都会引发epengine异常并出现在 Kentico 事件日志中。

在 Kentico 10 下,发生epengine异常并阻止网站完全运行。

我试图在相同的组件配置下关联这两种行为之间的差异。


这是 Kentico 9 及更早版本下的epengine CMS 事件日志条目(不阻止网站运行):

在 Kentico 10 下,这是阻止站点运行的epengine错误。

每当我在 Kentico 9(或更早版本)和 10 中尝试以下任何操作时,epengine 错误总是在 Kentico 10 中较早出现,阻止网站运行而不是显示在 Kentico CMS 事件日志中。

  • 改为使用 epengine 的 Nuget 源
  • 使用最新版本的 epengine 组件并尝试旧版本(Expert 9.0.5 - 11.0 之间)
  • 升级/降级 .NET 版本
  • 使用相同的应用程序池设置、.NET 版本、ACL 权限(并改变这些以进行测试)
  • Kentico 10 的新/基本安装(仍然较早出现错误)

错误表达时间的差异似乎在于我是在 Kentico 9 还是 10 中使用这个组件。

我想知道的是程序集加载、探测或异常处理是否存在差异,这可能有助于解释为什么该组件的错误会阻止 Kentico 10 ASP.NET 网站加载,但不会阻止 Kentico 9 网站加载具有相同的 IIS 和 .NET 配置。

(请注意,我还通过联系供应商来解决 PDF 组件错误 - 最终解决方案将是最好的解决方案)。

0 投票
0 回答
112 浏览

c# - 为什么 .NET Core SCD 应用程序不探测同一文件夹中的程序集?

我创建了一个 .NET Core 应用程序,并将其配置为将所有 DLL 文件复制到输出目录:

然后对于一台服务器,我将文件夹部署bin\Debug\netcoreapp2.0到服务器,安装了.NET Core Windows 托管包,一切正常。

然而在另一台服务器上,我做了同样的事情,但没有成功,我遇到了这个程序集找不到错误。

我继续并确认在dep.json文件中有很多依赖项以某种方式引导运行时从runtimes/win/lib/netstandard2.0文件夹中找到它们。

问题是,为什么 .NET 运行时不搜索现有程序集?以及如何让它理解它正在搜索的 DLL 就在入口程序集之外,它不应该在另一个位置搜索它?

0 投票
1 回答
132 浏览

java - 哈希映射最初是否通过轮询或喜欢的列表放置/获取?

我正在使用哈希图制作一个图形函数来存储所有节点。我知道散列是如何工作的,但是对于散列图,我不知道他们是否使用 lin/quad 探测来放置/获取节点,或者它是否是一个链表。我希望它使用轮询,因为我只需要每个哈希一个节点,而不是链表格式(或任何其他将多个节点散列到同一位置的格式)。这是正常完成的方式还是我需要设置一些值来将链表方法更改为 lin/quad 探测方法。

我基本上想知道我的一个节点是否映射到地图中与前一个节点相同的位置,

  1. 是否会用新节点替换旧节点(映射的删除方法),如果不替换则...

  2. 它会将其附加到包含两个节点的内存空间中的链表的末尾还是...

  3. 它会使用某种类型的轮询方法来获取地图中不包含新节点的新位置吗

我只想要地图中每个可用位置的一个节点

0 投票
2 回答
1967 浏览

c - C语言中的罗宾汉哈希

我正在实现一个处理与罗宾汉哈希冲突的哈希表。但是,以前我使用的是链接,插入近 100 万个密钥的过程几乎是瞬间完成的。罗宾汉散列不会发生同样的情况,我觉得这很奇怪,因为我觉得它要快得多。所以我想问的是我的插入功能是否正确实现。这是代码:

将所有内容背景化:

  • 节点参数是新条目。
  • index 参数是新条目所在的位置,如果它没有被占用的话。
0 投票
0 回答
111 浏览

c# - 如何使用探测加载程序集?

我想从名为myFolder. 我创建了一个新目录C:\App\myFolder并将Test.dll文件移动到那里并app.config像这样使用探测:

然后我尝试加载该程序集:

但它会抛出一个异常,即没有这个程序集bin/debug

0 投票
1 回答
129 浏览

c# - 从探测文件夹运行 C++ 可再发行文件

我目前在“探测”另一个文件夹中的 dll 时遇到问题。特别是我的应用程序所依赖的 C++ Redistributable 文件,我刚刚将其包含在我的文件夹中以避免运行安装程序。

如果这些文件与 exe 位于同一文件夹中,则应用程序将成功运行:

  • msvcp110.dll
  • msvcp120.dll
  • msvcp140.dll
  • msvcr110.dll
  • msvcr120.dll
  • vcruntime140.dll

但是,当我在我的应用程序的 App.config 中尝试将 dll 探测到其他 2 个文件夹时,在执行 .exe 时它们都没有加载。

DLLS 位于DataResources/miscellaneous文件夹中。但是,来自DataResources/cefsharp(我的其他一些 dll)的 DLL 已加载。

有谁知道问题可能是什么?非常感谢!

0 投票
0 回答
52 浏览

hashtable - 在哈希表中,为什么不更新 h(x)(=h0(x) 本身而是使用 h1(x), h2(x) ..?

在哈希表中,假设 H0(x) = x mod m 如果我们这样说是为了避免碰撞,我们使用线性探测 Hi(x) = (x + i) mod m

但是不管散列函数是什么,不管我们是做线性探测还是二次探测,在搜索一个键时,它必须经历所有的碰撞,对吧?

所以想法是这样的:更新散列函数h(x)本身怎么样如果元素a在通过所有冲突之后被放置在(H0(a)+ La)mod m中那么更新散列函数本身怎么样因为 H(x) = h0(x) + La*f(xa) 而 f(xa) 只有当 x=a 时才为 1?然后,当稍后搜索 a 时,我们不必经历所有的碰撞,而只需立即找到元素..?这个想法有什么问题?

0 投票
1 回答
3172 浏览

c++ - 如何在 C++ 中实现线性探测?

我是 Hash Maps 的新手,明天有一个作业要交。我实现了一切,一切都很好,除了当我遇到碰撞时。我不太理解线性探测的想法,我确实尝试根据我的理解来实现它,但是由于某种原因,程序停止了表大小 < 157 的工作。

我认为通过每次向哈希函数添加一个数字,2 个桶永远不会得到相同的哈希索引。但这没有用。

0 投票
1 回答
261 浏览

c++ - 调整大小的 C++ HashTable 二次探测插入方法不起作用?

一旦阈值超过预定量 0.65,此方法应该调整数组的大小。问题是在调整大小后,析构函数会删除包含所有新复制信息的数组。我不知道如何解决它。

关于那里的一些评论只是我集思广益可能是什么问题。