图表 - 查找常见数据

时间:2010-08-09 23:29:23

标签: language-agnostic data-structures graph-theory

我刚刚开始阅读图形和数据结构。

我正在构建一个示例应用程序,它应该能够找到最常见链接的xpath。想象一下Google serp,我的应用程序应该能够找到指向结果的所有链接的xpath。

想象一下,找到了theese 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=copyright]/a

从这些xpats中,我想到了一个这样的图形(我可能完全迷失在这里):

                            html
                             |
                            body
                        h2 -     p           - div[@class=footer]
                        |        |                     |
                        a (1)  a - strong      span[@id=copyright]
                                      |                |
                                      a (3)            a (1)

这是解决这个问题的最佳方法吗?

将这个存储在内存中的最佳方式(数据结构)是什么?这种语言并不合适。我们可以看到我们有3个链接匹配路径html - >身体 - > p - >强 - >一个。

正如我所说,我对此完全陌生,如果我认为这完全错了,请原谅我。

编辑:我可能正在寻找特里数据结构?

1 个答案:

答案 0 :(得分:1)

不要担心尝试。只需使用标准图形表示(node = {value,count,parent})构建一个树,同时立即折叠相同的分支并递增计数器。然后,按降序对所有叶子进行排序,并从每个叶子向上遍历以获得路径。