2010-08-09 49 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})構造一棵樹,同時立即摺疊相同的分支並遞增計數器,然後按降序排列所有葉子並從每個葉子向上遍歷以獲得路徑。