![]() |
1
3
查找集合中最频繁的子树,创建子树的紧凑形式,然后迭代每个子树,并使用哈希集来计算它们的出现次数。对于一个完美的哈希来说,30个节点太大了——每个节点只有一个比特,您需要这么多来指示它是兄弟还是子节点。 这个问题不是LCS——最常见的序列与最长的公共子序列无关。最常见的子树是发生最多的子树。 对于长度为l的n个树(假设包含l个节点的子树的测试等式为o(l)),最坏情况下应为o(n l^2)。 |
![]() |
2
3
我认为,虽然你说性能还不是问题,但这是一个NP难题,所以它可能永远都不可能快速实现。如果我理解正确,你可以认为这是 Longest common subsequence 问题是,如果你把你的树平放成一个像
那么你的问题就变成LCS了。 WiKiBooS实现了LCS的Java实现 here |
![]() |
3
2
这是计算机科学中的一个众所周知的问题,有有效的解决办法。 以下是一些相关参考资料: 安倍晋二,川崎信二,浅田拓也,阿里穆拉平冈,阿里卡瓦集硕,半结构化数据的优化子结构发现,过程控制。第六届欧洲数据库知识发现原则与实践会议(PKDD-2002),Lnai 2431,Springer Verlag,1-14,2002年8月。 Mohammed J.Zaki,《高效开采森林中的常见树木》,第8届ACM SIGKDD知识发现和数据挖掘国际会议,2002年7月。 或者,如果您只想快速编码,请点击此处: FREQT (将XML转换为S表达式不应该给您带来太多的问题,而应该留给读者作为练习) |
![]() |
4
1
在这种情况下,我发现名为gspan的工具非常有用。可在以下网址免费下载 http://www.cs.ucsb.edu/~xyan/software/gSpan.htm . 它的C++版本与MATLAB接口是AT http://www.nowozin.net/sebastian/gboost/ |
![]() |
danial · 如何在多个字符串的每个位置找到最频繁的字符 2 年前 |
![]() |
Manny · 如何比较Perl中的字符串? 2 年前 |
![]() |
Diret · 获取范围内每个数字的子倍数的算法 2 年前 |
![]() |
Saif · 排序时python如何决定何时调用比较器? 2 年前 |