问题标签 [search-tree]
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.
algorithm - 明星搜索:曼哈顿距离是否超过了 8 拼图的缺失瓷砖数量?
考虑 8-puzzle 的三种启发式方法:
在一个 8 谜题中,我正在执行不同的谜题,并注意到 h3 启发式函数 (max) 似乎提供了与总曼哈顿距离启发式相同的解决方案。这是使用 A 星搜索算法。
我想知道总曼哈顿距离的启发式函数是否总是超过错位瓷砖的数量?
haskell - Haskell 中的二叉搜索树
我开始学习 Haskell,因此我尝试实现二叉搜索树。我当前的代码如下所示:
但不知何故,该功能的第二部分insert
无法正常工作。如果我尝试这些代码行:
结果Node 4 Empty Empty
不是Node 2 Empty (Node 4 Empty Empty)
我所期望的结果。
谁能告诉我,我做错了什么?谢谢 :)
algorithm - 有效合并 2-3 棵树
我正在寻找一种方法来合并两个 2-3 束,而不是仅仅在其中一个上重复调用插入(如果可能的话,在 O(n+m) 时间内)。在 BST 中,您只需按顺序遍历它们,将键存储到数组中,然后合并数组并从排序的数组 od 键中构建完美平衡的 BST。
但我真的不知道如何从排序的键数组中构建一个 2-3 树,因为完美平衡的 BST 通常不是正确的 2-3 树。
我的一个想法是构建完美平衡的 BST,然后尝试将键从最后一个不完整的层向上移动。但这只是一个模糊的描述,我认为这无论如何都会导致线性复杂性。
知道 ab 树不是快速合并的好选择,但我认为在线性时间内应该是可能的。
java - 如何构建与另一个创建的具有相同结构的 n 叉树?
我正在尝试构建这个与已经构建的具有相同结构的 n 元树(在创建要返回的新树时,我想将子节点添加到与已经构建的树相同的位置,即构建的树创建如下:
节点类如下所示:
最后主要代码如下:
基本上在主代码中,我不是创建一棵新树,而是在将旧的构建树复制到新树中(通过根节点rootOut
)之后覆盖构建树的节点的值,这是一个好方法吗?否则如何创建与构建树具有相同结构(节点位置)的全新树?
谢谢。
data-structures - 可以将子节点分配回树结构中的父节点吗?
作为标题,我目前正在尝试构建一个树结构,以将我的主题/定义及其相关主题/定义放入树中以进行遍历和进一步分析。数据如下所示:
问题是:
(1)一些主题与其他父主题相关(2)一些父节点共享相同的子节点
是否有任何树结构允许这样做,或者有没有更好的方法将这些数据映射到任何可以可视化的图形中?
b-tree - 给定 B-Tree 及其顺序,是否有可能知道插入键的可能顺序?
以下键插入顺序:
产生以下 B-Tree 结构:(4 阶)
有没有什么方法可以知道键的可能插入顺序,只给定树结构?
algorithm - 为什么蒙特卡洛树搜索的 UCB 公式中有对数(和平方根)?
我从几个来源研究了蒙特卡洛树搜索 (UCT),如下所示: http: //www.incompleteideas.net/609%20dropbox/other%20readings%20and%20resources/MCTS-survey.pdf
但是,我不明白为什么蒙特卡洛树搜索的 UCB 公式中有对数(和平方根)(第 2.4.2 和 3.3.1 节)。
公式如下:
solver - 使用 Choco Solver 创建自定义搜索策略或/和管理搜索树
作为我研究的一部分,我必须深入掌握巧克力。我有两个选择与 choco 求解器有关。我想创建一个自定义搜索策略,它将干预值和变量的顺序。还是直接干预Choco的搜索树,如何管理搜索树,如何修改?欢迎任何帮助、示例或资源,即使它是另一个求解器的示例。谢谢