Language agnostic 图形-查找公共数据
我刚刚开始阅读图表理论和数据结构 我正在构建一个示例应用程序,它应该能够找到最常见链接的xpath。假设有一个GoogleSERP,我的应用程序应该能够找到指向结果的所有链接的xpath 想象一下这些XPath被发现:Language agnostic 图形-查找公共数据,language-agnostic,data-structures,graph-theory,Language Agnostic,Data Structures,Graph Theory,我刚刚开始阅读图表理论和数据结构 我正在构建一个示例应用程序,它应该能够找到最常见链接的xpath。假设有一个GoogleSERP,我的应用程序应该能够找到指向结果的所有链接的xpath 想象一下这些XPath被发现: /html/body/h2/a /html/body/p/a /html/body/p/strong/a /html/body/p/strong/a /html/body/p/strong/a /html/body/div[@class=footer]/span[@id=copy
/html/body/h2/a
/html/body/p/a
/html/body/p/strong/a
/html/body/p/strong/a
/html/body/p/strong/a
/html/body/div[@class=footer]/span[@id=copyright]/a
从这些XPAT中,我想到了这样一个图(我可能完全迷路了):
这是解决这个问题的最好办法吗
将其存储在内存中的最佳方式(数据结构)是什么?语言不通。我们可以看到,我们有3个链接匹配路径html->body->p->strong->a
正如我所说,我对这个完全陌生,所以请原谅我,如果我认为这是完全错误的
编辑:我可能正在寻找trie数据结构?还不用担心尝试。只需使用标准图形表示法(node={value,count,parent})构建一棵树,同时立即折叠相同的分支并增加计数器。然后,按计数降序排列所有叶子,并从每个叶子向上遍历以获得路径
html
|
body
h2 - p - div[@class=footer]
| | |
a (1) a - strong span[@id=copyright]
| |
a (3) a (1)