成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

先序遍歷去除樹的特定節(jié)點(diǎn)

zhaot / 2676人閱讀

摘要:樹的遍歷有先序,中序,后序。我用的最多的就是先序遍歷,現(xiàn)在我們就如下的數(shù)據(jù)結(jié)構(gòu)說一下先序遍歷是怎么操作樹的。以上是我的做法,大家有可優(yōu)化的地方歡迎指出。

對于樹的操作是平時(shí)用的最多的,任何操作都基于樹的遍歷。樹的遍歷有先序,中序,后序。我用的最多的就是先序遍歷,現(xiàn)在我們就如下的數(shù)據(jù)結(jié)構(gòu)說一下先序遍歷是怎么操作樹的。
我們現(xiàn)在的需求是去除LabelWithNum長度為0的父元素:

//按專題展示下去除沒有標(biāo)簽的節(jié)點(diǎn)
    function removeNoneTag(data) {
        for (var i = 0, len = data.length; i < len; i++) {
            var secondData = data[i].StudyGroupWithTagNums;
            if (!!secondData && secondData.length > 0) {    //如果有子專題則繼續(xù)向下遍歷,如果沒有直接判斷該專題下有沒有標(biāo)簽
                var temp = removeNoneTag(secondData);
                if (!!temp && temp.length == 0) {
                    if (data[i].LabelWithNum.length == 0) {
                        data.splice(i, 1);
                        len = data.length;
                        i -= 1;
                    }
                }
            } else {
                if (data[i].LabelWithNum.length == 0) {
                    data.splice(i, 1);
                    len = data.length;
                    i -= 1;
                }
            }
        }
        return data;
    }

這樣我們拿到的結(jié)果就是去除LabelWithNum長度為0的元素集合。
以上是我的做法,大家有可優(yōu)化的地方歡迎指出。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/108753.html

相關(guān)文章

  • 學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法 — 樹

    摘要:定義樹同散列表一樣,是一種非順序數(shù)據(jù)結(jié)構(gòu)。一個節(jié)點(diǎn)及其后代可以組成一個子樹如圖中的。方法允許傳入子樹一直遍歷左側(cè)子節(jié)點(diǎn),直到底部搜索特定值搜索特定值的處理與插入值的處理類似。同理,找左側(cè)子樹的最大值替換上來也可以。 定義 樹同散列表一樣,是一種非順序數(shù)據(jù)結(jié)構(gòu)。現(xiàn)實(shí)中樹的例子有家譜、公司組織架構(gòu)圖及其它樹形結(jié)構(gòu)關(guān)系。樹由一系列節(jié)點(diǎn)構(gòu)成,每個節(jié)點(diǎn)都有一個父節(jié)點(diǎn)(除根節(jié)點(diǎn)外)以及零個或多個子...

    shiguibiao 評論0 收藏0
  • 一篇文章學(xué)會二叉樹和二叉查找樹

    摘要:二叉樹和二叉查找樹一個父節(jié)點(diǎn)的兩個子節(jié)點(diǎn)分別稱為左節(jié)點(diǎn)和右節(jié)點(diǎn)。下圖展示了一顆二叉樹當(dāng)考慮某種特殊的二叉樹,比如二叉查找樹時(shí),確定子節(jié)點(diǎn)非常重要。實(shí)現(xiàn)二叉查找樹定義對象?,F(xiàn)在可以創(chuàng)建一個類來表示二叉查找樹。因此二叉查找樹也被叫做二叉排序樹。 樹是計(jì)算機(jī)科學(xué)中經(jīng)常用到的一種數(shù)據(jù)結(jié)構(gòu)。樹是一種非線性的數(shù)據(jù)結(jié)構(gòu),以分層的方式存儲數(shù)據(jù)。 樹被用來存儲具有層級關(guān)系的數(shù)據(jù),比如文件系統(tǒng)中的文件。 ...

    BaronZhang 評論0 收藏0
  • Python數(shù)據(jù)結(jié)構(gòu)——解析樹及樹的遍歷

    摘要:左子樹的加法運(yùn)算結(jié)果為,右子樹的減法運(yùn)算結(jié)果為。如圖,該圖說明了隨著每個新的字符被讀入后該解析樹的內(nèi)容和結(jié)構(gòu)。使函數(shù)走向基點(diǎn)的遞歸過程就是調(diào)用求值函數(shù)計(jì)算當(dāng)前節(jié)點(diǎn)的左子樹右子樹的值。最后,我們將在圖中創(chuàng)建的解析樹上遍歷求值。 解析樹 完成樹的實(shí)現(xiàn)之后,現(xiàn)在我們來看一個例子,告訴你怎么樣利用樹去解決一些實(shí)際問題。在這個章節(jié),我們來研究解析樹。解析樹常常用于真實(shí)世界的結(jié)構(gòu)表示,例如句子或數(shù)...

    miguel.jiang 評論0 收藏0
  • javascript數(shù)據(jù)結(jié)構(gòu)

    摘要:數(shù)據(jù)結(jié)構(gòu)棧一種遵從先進(jìn)后出原則的有序集合隊(duì)列遵從先進(jìn)先出原則的有序項(xiàng)優(yōu)先隊(duì)列修改版的隊(duì)列,設(shè)置優(yōu)先級循環(huán)隊(duì)列基于隊(duì)列,克服假溢出想象的隊(duì)列。這種數(shù)據(jù)結(jié)構(gòu)非常方便,提供了一個便利的語法來訪問它的元素。 javascript數(shù)據(jù)結(jié)構(gòu) 棧 一種遵從先進(jìn)后出原則的有序集合 隊(duì)列 遵從先進(jìn)先出原則的有序項(xiàng) 優(yōu)先隊(duì)列 修改版的隊(duì)列,設(shè)置優(yōu)先級 循環(huán)隊(duì)列 基于隊(duì)列,克服‘假溢出’想象的隊(duì)列。例如隊(duì)列...

    desdik 評論0 收藏0
  • 樹和樹的算法

    摘要:樹和樹的算法一樹樹的概念樹英語是一種抽象數(shù)據(jù)類型或是實(shí)作這種抽象數(shù)據(jù)類型的數(shù)據(jù)結(jié)構(gòu),用來模擬具有樹狀結(jié)構(gòu)性質(zhì)的數(shù)據(jù)集合。一種時(shí)間復(fù)雜度額外空間復(fù)雜度的二叉樹的遍歷方式,為二叉樹的節(jié)點(diǎn)個數(shù)。 樹和樹的算法 一、樹 1.1 樹的概念 樹(英語:tree)是一種抽象數(shù)據(jù)類型(ADT)或是實(shí)作這種抽象數(shù)據(jù)類型的數(shù)據(jù)結(jié)構(gòu),用來模擬具有樹狀結(jié)構(gòu)性質(zhì)的數(shù)據(jù)集合。它是由n(n>=1)個有限節(jié)點(diǎn)組成一個...

    RaoMeng 評論0 收藏0

發(fā)表評論

0條評論

zhaot

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<