[2]樹的DFS序

定義:

樹的DFS序就是在對樹進行DFS的時候,對樹的節點進行重新編號;
DFS序有一個很強的性質: 一顆子樹的所有節點在DFS序內是連續的一段, 利用這個性質我們可以解決很多問題。

代碼:

void DFS(int u, int fa)
{
    L[u] = ++dfs_clock;
    for(int k = head[u]; ~k; k = E[k].next)
    {
        int v = E[k].to;
        if(v == fa) continue;
        DFS(v, u);
    }
    R[u] = dfs_clock;
}

例如:


Tree

在DFS的過程中,我們對樹的每一個節點都重新編號,對于每一個節點都會產生兩個數L,R,L是這個節點的新編號,R是表示從L~R的節點都是以新節點L為根的子樹。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • B樹的定義 一棵m階的B樹滿足下列條件: 樹中每個結點至多有m個孩子。 除根結點和葉子結點外,其它每個結點至少有m...
    文檔隨手記閱讀 13,355評論 0 25
  • 樹的概述 樹是一種非常常用的數據結構,樹與前面介紹的線性表,棧,隊列等線性結構不同,樹是一種非線性結構 1.樹的定...
    Jack921閱讀 4,490評論 1 31
  • 基于樹實現的數據結構,具有兩個核心特征: 邏輯結構:數據元素之間具有層次關系; 數據運算:操作方法具有Log級的平...
    yhthu閱讀 4,320評論 1 5
  • ”according to the law,you are not being allowed marry thi...
    COUNTESSD閱讀 184評論 0 1
  • 游江南 :烈日炎炎七月天, 乘座動車游江南, 穿山越嶺十小時, 終于到達目的地。 先到蘇州去游覽, 展望一遍大平...
    笨愚閱讀 255評論 0 0