2010-08-09 48 views
2

我刚开始阅读图形用户界面和数据结构。图 - 找到公用数据

我正在构建一个示例应用程序,它应该能够找到最常见链接的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 - > body - > p - > strong - > a。

正如我所说,我完全陌生,所以请原谅我,如果我认为这是完全错误的。

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

回答

1

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