输入如下:
一个int[][]
,每个子数组包含2个int,即{parent,child},意味着有一个从parent
->child
的路径。
例如
{ { 1, 3 }, { 2, 3 }, { 3, 6 }, { 5, 6 }, { 5, 7 }, { 4, 5 }, { 4, 8 }, { 8, 9 } };
1 2 4 \ / / \ 3 5 8 \ / \ \ 6 7 9
[3, 8] => false [5, 8] => true [6, 8] => true
我的想法:
Map
,其中key是顶点,value是它的邻接列表。并且图形中的方向是相反的(与输入数据相比)为子->parent
,以便于查找parent.FindAvailablePartners(整数顶点)
查找单个顶点的所有父节点(直接和间接),并返回Set
.findavailableparents()
一次,然后比较返回的2个集
是否有交集。如果是,那么他们有共同的父母;否则,它们不会。我的问题是:
假设您有多个输入,现在BFS将花费大约O(E)时间来处理每个输入。
所有输入都可以在O(logn)中查询,如果我们做一些预先计算,大约需要O(nlogn)时间
基本上,您希望找到这些节点最不常见的祖先
这篇topcoder中的线程讨论了可以扩展为DAG的树的逻辑
您也可以参考这个问题来获得一些进一步的想法
web3.eth.isSyncing()方法用来检查节点当前是否已经与网络同步。 调用: web3.eth.isSyncing([callback]) 返回值: 一个Promise对象,其解析值为Object或Boolean。如果节点尚未与网络同步, 则返回false,否则返回一个同步对象,具有以下属性: startingBlock - Number: 同步起始块编号 currentBlock
问题内容: 如何使用Node的驱动程序检查ObjectID是否有效 我试过了 : 但是我不断收到异常,而不是对或错。(例外只是一个“ throw e; // process.nextTick错误,或“第一次滴答”中的“ error”事件” 问题答案: 不知道函数来自哪里,但是不在node-mongodb- native中 。 如果要检查由24个十六进制字符组成的字符串,则可以使用此正则表达式。 取
我有以下课程: 我正在尝试实现一种方法: 这将检查是否是的祖先(任何深度,直到根)。 我需要一个密码查询。
如何在有向无环图中找到多个节点的最小共同祖先? 我已经找到了很多关于这个主题的论文,但它们似乎都在DAG中找到了两个节点的LCAs。
我是 D3 的新手。因此,我正在尝试呈现一个图形,其中两个或多个孩子可以具有相同的父级。我想知道如何使链接再次定向到同一节点?我有断开的链接.. 任何帮助都是巨大的。 这是我的代码...
问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 我的mySQL数据库中有如下表: 对于谓词,它将具有如下树视图: 我想创建一个可以选择起始节点并为此获得所有父节点的表单。例如,通过选择我想要获得: 步骤2: 有什么方法可以使用以下简单文本来打印此节点: 问题答案: 您的数据可以在RDF中表