波多野结衣 蜜桃视频,国产在线精品露脸ponn,a v麻豆成人,AV在线免费小电影

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了深度優(yōu)先搜索列出指向所有末端節(jié)點的路徑的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

您好,我有一棵樹,我想在其中獲取從初始(根)節(jié)點到所有葉子的路徑。

我找到了幾個算法,它們列出了圖中任意給定兩個節(jié)點之間的(所有)路徑(例如,這樣的問題:
Graph Algorithm To Find All Connections Between Two Arbitrary Vertices)

對于二叉樹,也存在一個算法
http://techieme.in/print-all-paths-in-a-tree/
但我在一棵有各種分枝因素的樹上工作。

有沒有更好的方法來實現(xiàn)我想要做的事情,而不是遍歷一次樹以獲得所有樹葉,然后結合初始節(jié)點對所有樹葉運行上述算法?

我在考慮實現(xiàn)簡單的DFS,通過一些額外的堆棧來擴展,這些堆棧包含沿著路徑到單個葉的所有節(jié)點,然后通過循環(huán)遍歷這些堆棧列出所有句子。

    ArrayList<GrammarNode> discovered = new ArrayList<GrammarNode>();
    Stack<GrammarNode> S = new Stack<GrammarNode>();


    while (!S.empty()) {
        node = S.pop();
        if (!discovered.contains(node)) {
            discovered.add(node);
            System.out.println(node.getWord.getSpelling().trim());
            for (GrammarArc arc : node.getSuccessors()) {
                S.push(arc.getGrammarNode());
            }
        }
    }

更新:
這樣做的問題是,為了生成完整的句子,人們總是要追溯到詞根。所以我想問題是:如何記住已經(jīng)被完全訪問的節(jié)點(這意味著已經(jīng)瀏覽了所有子節(jié)點)?

推薦答案

打印從根到每個葉的所有路徑將意味著打印整個樹,因此我只需使用簡單的DFS并為每個節(jié)點執(zhí)行以下操作:

將其添加到列表/堆棧
如果節(jié)點有子節(jié)點,則對子節(jié)點重復此操作
如果節(jié)點是葉,則打印列表/堆棧
從列表/堆棧中彈出節(jié)點

示例:

   A
  / 
 B   E
/  / 
C D F G

第一步如下所示:

將A放在列表上->{A}
把B放在名單上->{A,B}
將C放在列表上->{A,B,C}
因為C是葉子,所以打印列表(A、B、C)
從列表中刪除C->{A,B}
將D放在列表上->{A,B,D}
因為D是葉子,所以打印列表(A、B、D)

這篇關于深度優(yōu)先搜索列出指向所有末端節(jié)點的路徑的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:優(yōu)先 列出 指向 深度 節(jié)點 路徑
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定