
在二叉搜索树中查找总和为目标值的路径
给定一个二叉搜索树和一个目标值,找到所有合计为目标值的路径(如果存在多个路径)。它可以是树中的任何路径。它不必从根本上讲。例如,在以下二进制搜索树中: 2 / \ 1 3当总和应为6时,1 -> 2 -> 3应打印路径。回答:从根开始遍历树,然后对所有路径和求和。使用哈希表存储可能的路径...
2024-01-10
检查节点是否是二叉搜索树的根。
我需要编写一个函数,它需要一个节点并检查这个节点是否是二叉搜索树的根,如果任何人有这个问题的代码或者至少是算法。检查节点是否是二叉搜索树的根。回答:该算法需要进行按顺序遍历,并测试之前访问的节点是否少于或等于(或搜索树谓词)到当前节点。...
2024-01-10
如何在二叉搜索树中找到最接近给定键值的元素?
给定一个以整数值作为键的bst,如何在bst中找到与该键最接近的节点?BST使用节点对象(Java)表示。最近的将是例如4,5,9,如果键是6,它将返回5..回答:遍历树,就像查找元素一样。执行此操作时,请记录最接近键的值。现在,当您找不到密钥本身的节点时,将返回记录的值。所以,如果你正在寻...
2024-01-10
在二维数组中查找邻居
是否有一种简单的方法来查找二维数组中某个元素的邻居(即,元素周围的八个元素)?缺少只是以不同的组合减去和增加索引,像这样:array[i-1][i]array[i-1][i-1]array[i][i-1]array[i+1][i]… 等等。回答:(伪代码)row_limit = count(array);if(row_limit > 0){ column_limit = count(array[0]); for(x = max(0, i-1); x <= min(i+1, r...
2024-01-10
查找点的质心
我有N分。每个点都有X和Y坐标。我需要找到这点的质心X和Y。你能给我一个算法来完成这个任务吗?回答:仅按质量加权平均有什么问题吗?for each point n{ totalmass += n.mass totalx += n.x*n.mass totaly += n.y*n.mass}center = (totalx/totalmass,totaly/totalmass)适当添加其他尺寸。...
2024-01-10
从搜索文档中查找最小片段的算法?
我一直在浏览Skiena出色的“算法设计手册”,并挂断了其中的一项练习。问题是:“给出一个包含三个单词的搜索字符串,找到包含所有三个搜索单词的文档的最小片段,即其中包含单词最少的片段。您将获得这些单词的索引位置在出现的搜索字符串中,例如word1:(1、4、5),word2:(4、9、10)和word...
2024-01-10
查找所有最大子集的高效算法
我有一组唯一的集合(表示为位掩码),并希望消除所有元素,这些元素是另一个元素的适当子集。例如:input = [{1, 2, 3}, {1, 2}, {2, 3}, {2, 4}, {}]output = [{1, 2, 3}, {2, 4}]我无法为此找到标准算法,甚至无法找到该问题的名称,因此我称其为“最大子集”是因为没有其他任何东西。这是一个O(n ^2)算法(...
2024-01-10
查找超过阈值的最小子集和的线性算法
我有N个正整数的集合,每个正整数都由一个(相对较小的)常数C界定。我想找到这些数字的子集,其最小总和大于(或等于)值K。涉及的数字并不是很大(<100),但是即使在最坏的情况下,我也需要良好的性能。我以为也许我可以使Pisinger的动态编程算法适应这项任务。它以O(NC)时间运行,而我恰...
2024-01-10
O(klogk)时间算法从二进制堆中查找第k个最小元素
我们有一个n节点的二进制堆,其中包含n不同的项(在根目录中最小的项)。对于一个k<=n,找到一个O(klogk)时间算法以kth从堆中选择最小的元素。O(klogn)是显而易见的,但找不到O(klogk)一个。不确定,也许我们可以使用第二堆。回答:好吧,您的直觉是正确的,我们需要额外的数据结构来实现O(klogk)...
2024-01-10
在DAG中查找汉密尔顿路径的算法
我指的是Skienna的算法书。测试图形是否G包含a的问题Hamiltonian path是NP-hard,其中汉密尔顿路径P是只访问每个顶点一次的路径。与哈密顿循环问题不同,从终点P到起点P不必在G中有边。给定有向无环图G(DAG),请给出一个O(n + m)时间算法来测试其是否包含哈密顿路径。我的方法我打算使用DFS和Topological...
2024-01-10
从多种参数的算法中查找封闭表格
function What(n,a,total) if n=0 return total elseif n is even and n>0 return What(n/2, a+1, total) elseif n is odd return What((n-1)/2, a+1, total + 2^n) endif end What 我不知道如何找到此算法的封闭形式。这不是一个家庭作业问题,只是为我即将到来的决赛学习以前的考试。根据给定的标记/...
2024-01-10
查找图的关节点或切点的算法的说明
我已经在网上搜索过,找不到用于查找图的所有关节顶点的DFS算法的任何说明。甚至没有维基页面。通过阅读,我从这里开始了解基本事实。PDF格式每个节点上都有一个变量,该变量实际上是在查看后边缘并找到朝向根节点的最近节点和最高节点。处理完所有边缘后,将发现它。但是我不明白如何在...
2024-01-10
查找树中最大独立集的算法
我需要一种算法来查找树中的最大独立集。我想从所有叶节点开始,然后将直接父节点删除到这些叶节点,然后选择我们删除的父节点的父节点,递归地重复此过程,直到到达根目录为止。这是在O(n)时间内完成的吗?任何答复表示赞赏。谢谢。谁能给我指出一种算法,以找到树中的最大支配集。回...
2024-01-10
哈希算法属于查找算法吗
品牌型号:华为MateBook D15系统:Windows 11哈希算法属于查找算法。哈希查找算法又称散列查找算法,是一种借助哈希表(散列表)查找目标元素的方法,查找效率最高时对应的时间复杂度为O(1)。哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希...
2024-01-24
查找NxN网格中所有路径的算法
想象一下,一个机器人坐在NxN网格的左上角。机器人只能在两个方向上移动:向右和向下。机器人有多少条可能的路径?我可以在Google上找到解决此问题的方法,但是我对这些解释并不十分清楚。我试图清楚地了解有关如何解决此问题并在Java中实现的逻辑。任何帮助表示赞赏。更新:这是一个面试问...
2024-01-10
最大堆二叉树
这是我最近遇到的面试问题之一。给定完整或几乎完整的二叉树的根地址,我们必须编写一个函数将树转换为最大堆。这里没有涉及数组。该树已构建。例如 1 / \ 2 5 / \ / \ 3 4 6 7可以有任何可能的最大堆作为输出- 7 /...
2024-01-10
将二叉树保存到文件中
我有一个非平衡(非二分查找)的二叉树,需要对其进行编码(以后再解码)为txt文件。如何有效地做到这一点?回答:请在LeetCode上查看。我喜欢此解决方案,因为它相对有效并且可以产生光输出文件。假设您有一棵这样的树: _30_ / \ 10 20 / / \ 50 45 35此解决方案使您可以将...
2024-01-10
二叉树numLeaf算法不起作用
我正在编写一个程序来尝试获取二叉树中的树叶数。我所做的是我检查了当前ptr是否是一片叶子,如果不是,继续前往下一个子树。但是,当我运行它时,它不断返回2.我做错了什么?二叉树numLeaf算法不起作用我没有包含源代码,因为它相对标准(具有rLink,lLink等)。template <class elemType> long int bSearc...
2024-01-10
如何打印二叉树?
如何发送(node.data)SortTree类到TreePrinter然后用于打印树。如何打印二叉树?import javax.swing.tree.TreeNode; public class SortTree { static Node root; TreePrinter type =new TreePrinter(); class Node<A extends Comparable>{ int data; Node left, right; Node(int d) { data = d; ...
2024-01-10
哈希表与平衡二叉树
当我需要在散列表或平衡二叉树之间进行选择以实现集合或关联数组时,应该考虑哪些因素?回答:通常来说,我不能回答这个问题。问题是哈希表和平衡二叉树的类型很多,它们的性能差异很大。因此,简单的答案是:它取决于您所需的功能。如果不需要排序,请使用哈希表,否则请使用平衡的二...
2024-01-10
二叉树是二叉搜索树,如果树分布在多台机器上
我知道检查给定二叉树是否是二叉搜索树的算法。但考虑到树不是完全驻留在同一台机器上,而是分布在多台机器上,我该如何处理这种情况?在单机上,我在树的每个节点上使用范围检查方法来检查它是否为BST。有没有我可以阅读的资源来处理这种数据不一定在同一个系统上的问题?二叉树是二叉搜...
2024-01-10
查找可被给定整数k整除的对所需的最佳算法
给定n个整数和一个整数k,请告诉我们存在多少对给定的n个整数,以便该对中两个元素的总和可被k整除?我不知道n和k的界限。因此,为简单起见,假设n和k不是很大。不用说,给出尽可能最佳的解决方案。(我知道天真的方法:-)!)回答:两个数的和是否可被除以k仅取决于它们的余数取模k。因...
2024-01-10
在Nifi中等价的ETL查找转换
我正在评估Apache Nifi将数据从Postgresql数据库迁移到Hive。在将数据移动到Hive时,我需要使用查找表来屏蔽/转换某些数据属性,类似于使用ETL工具中可用的查找转换可以完成的操作。在Apache Nifi中可以实现相同的选项?在Nifi中等价的ETL查找转换回答:你应该看看ReplaceText和ReplaceTextWithMapping处理器。此外...
2024-01-10
在数组中查找局部最小值
给定整数数组,找到局部最小值。如果A [i-1]> A [i]并且A [i] <A [i + 1],其中i = 1 … n-2,则元素A[i]被定义为局部最小值。对于边界元素,该数字必须小于其相邻数字。我知道如果只有一个局部最小值,那么我们可以通过修改后的二进制搜索来求解。但是,如果知道阵列中存在多个局部最小值,可以及时解...
2024-01-10
