© NicoElNino/Shutterstock.com

在計算機科學中,可以通過多種方式構建和遍歷數據。二叉樹是一種分層數據存儲形式,它使用樹遍歷作為訪問所有組成節點以進行搜索、排序和其他目的的主要方法。了解用於樹遍歷的各種方法可以幫助您完成對二叉樹的基本操作。在本文中,我們將解釋什麼是樹遍歷,包括中序遍歷、前序遍歷和後序遍歷,並通過示例幫助您入門。

什麼是樹遍歷?

樹遍歷是計算機科學家、開發人員和軟件工程師用來遍歷二叉樹的方法。它也被稱為:

遍歷樹 樹搜索

這些方法涉及按順序訪問二叉樹中的每個節點。與鍊錶或隊列等線性數據結構相比,這些遍歷可以通過多種方式完成。下面解釋的主要方法用於有效地更新、刪除、搜索、排序和檢索數據。

關於二叉樹

二叉樹是最常用的樹形式,是由相互連接的節點組成的層次數據結構。每個節點由左右引用和一個數據元素組成。二叉樹中的每個節點都連接到一個父節點,但每個父節點最多只能有 2 個子節點。沒有孩子的節點稱為葉子。共享父節點的節點稱為兄弟節點。二叉樹頂部的節點稱為根。

如果一棵二叉樹被完全填滿,則稱它為一棵完全樹。樹從左到右充滿了節點。您可以根據節點的高度(根節點和索引節點之間的邊數)或深度(節點與最遠葉節點之間的邊數)來定位節點。

使用樹遍歷訪問樹​​中的每個節點

這些遍歷的一個重要特徵是訪問樹中的每個節點。因為樹是非線性數據結構,所以有很多方法和順序可以確保依次訪問每個節點。沒有單一的遍歷,但可以使用多種遍曆算法。

樹遍歷很重要

掌握樹遍歷是組織和處理數據的一項關鍵技能。這是因為樹是一種極其常見的數據結構,並且由於其清楚地表示數據關係和層次結構而被廣泛使用。

您可以使用這些遍歷方法和示例進行更高效的數據搜索或插入。讓我們來看看下面的關鍵方法:

這是一個示例樹:

樹狀結構圖。

©”TNGD”.com

1. PreOrder Traversal

這是一種深度優先遍歷,首先訪問父節點,然後是左子節點,然後是右子節點。如果使用 preOrder 方法遍歷樹,則首先訪問根節點,然後依次訪問左子樹和右子樹,直到遍歷整個樹。 PreOrder 遍歷提供了一種複制樹的有效方法。

下面是上述樹的 preOrder 遍歷示例:A > B > D > E > C > F > G

並且這是預購算法:

樹結構的前序遍曆算法。

©”TNGD”.com

2.中序遍歷

這是一種深度優先遍歷,先訪問左子節點,再訪問父節點,再訪問右子節點。 InOrder 遍歷通過最遠的左子樹進行並在最遠的右子樹結束。這種類型的遍歷產生按升序組織的數據。

這是上述樹的 inOrder 遍歷示例: D > B > E > A > F > C > G

這是 inOrder 算法:

樹結構中序遍歷的算法.

©”TNGD”.com

3.後序遍歷

第三種深度優先遍歷先訪問左子節點,然後是右子節點,然後是父節點。使用 postOrder 樹遍歷,首先訪問所有子樹(從左下角開始),最後訪問根。後序遍歷是一種刪除樹的有效方法。

這是上面樹的 postOrder 遍歷示例:D > E > B > F > G > C > A

這是 postOrder 算法:

樹結構的postOrder遍曆算法.

©”TNGD”.com

還有一種廣度優先遍歷,從上到下,從左到右訪問節點。這是廣度優先遍歷的唯一形式。

四捨五入

如您所見,樹遍歷使 分層數據 非常簡單。這些算法很簡單,如果你迷路了,你可以畫出一棵基本的樹來定位自己。這些方法非常高效,您可以根據提供的前序和後序遍歷構建完整的二叉樹。練習這些方法以掌握它們並擴展您的知識。

什麼是樹遍歷(中序、前序和後序)——帶示例常見問題解答(常見問題解答)

什麼是數據結構?

數據結構是用於組織數據的特定格式,因此可以安全地存儲數據並有效地管理和訪問數據。

樹的主要類型有哪些?

除了二叉樹,樹的主要類型還有:

堆樹 語法樹 嘗試B 樹 T 樹

什麼是完美二叉樹?

完美二叉樹的所有葉節點都在同一深度,所有父節點都有兩個子節點。這是描述完全填充、無間隙樹的另一種方式。

非樹數據結構的例子有哪些?

非樹數據結構主要是線性數據結構,包括:

數組 A位圖矩陣並行數組雙向鍊錶自組織列表

什麼是抽像數據類型?

抽像數據類型 (ADT) 是可用於結構化數據的數學模型並便於大規模編程。在計算機科學中,ADT 可用於為各種計算應用程序打包和管理數據。

By Kaitlynn Clay

我是一名用戶體驗專家。 我對網頁設計和用戶行為分析很感興趣。 在我休息的日子裡,我總是參觀藝術博物館。