问题标签 [recursive-datastructures]

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 回答
63 浏览

vim - 检查某个对象是否已经过测试

我有一个脚本,旨在检查某些值(例如选项或函数参数)是否与某些模型匹配。我希望我的脚本能够检查递归数据结构。所以问题是:有没有更有效的方法然后迭代一些包含对已检查列表和字典的引用的列表。示例代码:

寻找一种排序方式checkedlst(即比较引用,但不比较它们找到的值),甚至使用散列。

0 投票
2 回答
1036 浏览

f# - 如何在(功能)F# 中创建递归数据结构值?

类型的值如何:

有一个引用自身以功能方式生成的值吗?

在以下 Python 代码中,结果值应等于 x,以获得合适的 Tree 定义:

编辑:显然需要更多解释。我正在尝试学习 F# 和函数式编程,所以我选择实现我之前用其他语言编写的封面树。这里相关的是,每个级别的点都是下一个级别的点的子集。该结构在概念上达到水平-无穷大。

在命令式语言中,节点有一个包含自身的子节点列表。我知道这可以在 F# 中强制完成。不,考虑到覆盖树算法,它不会创建无限循环。

0 投票
1 回答
227 浏览

list - SearchOption.AllDirectories 并忽略访问错误?

我正在尝试搜索目录和所有子目录以查找某些文件。我一直遇到当前代码的错误,即它看到无法进入的内容的第二个错误

在这个无关紧要的应用程序中,我宁愿继续前进。有没有办法绕过这段代码每次都被丢弃?

谢谢

崩溃893

0 投票
2 回答
3985 浏览

php - PHP RecursiveIterator 遍历

我有一个表示表单的结构,我想使用 RecursiveIterator 对其进行迭代。问题是这只返回顶级问题。我究竟做错了什么?

整体形式:

问题:

迭代:

0 投票
2 回答
150 浏览

mysql - 在 m:n 关系中引用两个表的数据

我正在开发一个基于 mysql 的系统来管理来自食品加工的数据。此时我遇到了以下具体问题:

我有一张桌子 A,里面有一些物品:

然后我有一个表 B,它是表 A 中数据的 m:n 聚合:

为了表示 m:n 关系,我有一个连接两者的表 AB:

现在的问题是:表 B 中的某些批次实际上是由其他批次组成的……这意味着它们是递归组成的。我很想知道在数据库设计方面实现这种情况的最佳方法是什么。

我应该在表 AB 中包含一个额外的外键来引用批次表吗?我是否不应该强制执行外键并通过同一列同时引用农民和批处理表(并添加一个标志以指示递归或其他内容)?还有其他我忽略的明显解决方案吗?

能够通过直接 MySQL 对所有数据进行深入查询会很好,但不是必须的。

0 投票
1 回答
631 浏览

f# - F# P/Invoke 编组递归结构

到目前为止,我所看到的示例似乎都没有解决封送包含递归引用的结构联合的结构的问题。我正在尝试为包含这些但迄今为止失败的结构编写一个封送拆收器。

例如:

我试图将结构定义如下:

请注意,我费心显式定义 MyStruct 的原因是允许自己在为此结构编写自定义封送器时使用 Marshal.OffsetOf() 和 Marshal.SizeOf()。据我所知,编写自定义封送器是处理联合的唯一方法。如果我错了,参考将不胜感激!

编写上述代码时收到的错误是:

我认为这是因为只能递归定义有区别的联合类型。但是,我不知道在 F# 中表示这些结构的任何其他方式。

提前感谢您的宝贵时间。

0 投票
3 回答
12006 浏览

php - 使用 PHP 将目录结构(字符串)解析为 JSON

我有一个像这样的文件路径字符串数组

  • 视频/搞笑/jelloman.wmv
  • 视频/搞笑/bellydance.flv
  • 视频/abc.mp4
  • 视频/六月.mp4
  • 视频/cleaver.mp4
  • 音频/住宅区.mp3
  • 音频/juicy.mp3
  • 有趣的.wmv
  • 吉米.wmv
  • 赫尔曼.wmv

最终目标是让他们进入 jsTree。我从上面的示例字符串构建了一个原型树。看看:http: //jsfiddle.net/ecropolis/pAqas/

0 投票
2 回答
724 浏览

database - 高效的可持久递归数据结构

递归数据结构的常用方法是在每个对象中都有一个父指针。我的问题是通常的实现无法在一次操作中回答以下问题;相反,我需要多次查询我的数据库。有没有一种解决方案可以在单个查询中为我提供结果?

  • 获取节点所有子节点的列表

  • 查找所有父节点(== 到根节点的最短路径)

注意:我在规划阶段,所以我还没有局限于某个数据库。

0 投票
2 回答
1269 浏览

python - Python 和 F# 中的递归变量定义(也可能是 OCaml)

鉴于这些 F# 类型声明...

...这个特定的状态机是否有同样富有表现力的定义...

...使用 Python?

请注意,通过“rec”,我们不必按照拓扑排序定义的顺序进行分配......(例如,state0 是根据 state1 定义的,即使 state1 稍后定义)。

PS 使用字符串作为状态标识符的选项...

...保留无效键的情况(即状态机中的无效消息说明符)。

0 投票
1 回答
944 浏览

ios - 在 KD-tree 中搜索缓慢

我正在实现一个 KD-tree 来将地图点聚类成组。我一直在使用Wikipedia 的 KD-tree 文章作为参考。搜索返回正确的最近邻点,但它比我预期的要慢。这是我的代码:

我的问题是我对“一个简单的比较,看看搜索点和当前节点的分裂坐标之间的差异是否小于搜索点到当前最佳位置的距离(整体坐标) ”的解释是否正确。我将其解释为:

if (fabs(point.coordinate.latitude - self.location.coordinate.latitude) < best.distToPoint)

if (fabs(point.coordinate.longitude - self.location.coordinate.longitude) < best.distToPoint)

分别。也欢迎任何其他建议。

谢谢。