資料結構基礎之樹

2021-07-09 21:02:36 字數 885 閱讀 1147

1,一些基本概念

樹是n個結點的有限集,n=0時稱為空樹。在任意一棵非空樹中:有而且只有乙個特定的稱為根(root)的結點;當n>1時,其餘結點為m個互相不交的有限集,其中每乙個集合又是一棵樹,並且成為根的子樹。

結點的分類:結點擁有的子樹稱為結點的度,度為0的結點稱為葉結點或終端結點;度不為0的結點稱為非終端結點或分支結點。除根結點外,分支結點也稱為內部結點。樹的度是樹內各結點的度的最大值。

結點間的關係:結點的子樹的根稱為該結點的孩子,該結點稱為孩子的父母(parent)。結點的祖先是從根到該結點所經歷分支上的所有結點。以某結點為根的子樹中的任一結點都稱為該結點的子孫。

樹的深度:樹的層次從根開始定義,根為第一層,然後往下是第二層。樹中結點的最大層次稱為樹的深度。

無序與有序:樹中結點的各子樹從左到右是有次序而且不能互換的稱為有序樹,否則稱為無序樹。

森林:n課互不相交的樹的集合

2,二叉樹

二叉樹是n個結點的有限結合,有乙個根結點和兩棵互不相交的稱為左子樹和右子樹的二叉樹組成。

特點:每個結點最多只有兩棵子樹,沒有子樹或者只有一棵子樹都是可以的;左右子樹是有次序

2.1,二叉樹分類

斜樹:所有的結點都只有左子樹叫左斜樹,反之叫右斜樹。

滿二叉樹:在一棵二叉樹中,所有分支結點都存在左子樹和右子樹,並且所有葉子都在同一層。

完全二叉樹:對一棵二叉樹按照層序編號,如果編號為i的結點在二叉樹中位置完全相同,則這課二叉樹稱為完全二叉樹

2.2,二叉樹的性質

在二叉樹的第i層上至多有2^(i-1)個結點

深度為k的二叉樹至多有2^(k-1)個結點

具有n個結點的完全二叉樹的深度為log_2⁡n+1

順序儲存結構一般只用與完全二叉樹

基礎資料結構之trie樹

trie樹是一種實現字串快速檢索的多叉樹結構。把一堆字串壓縮到樹結構中構成trie樹,實現快速檢索。它的優點是 利用字串的公共字首來減少查詢時間,最大限度地減少無謂的字串比較,查詢效率比雜湊樹高。trie樹的題一般應用於 字首檢索 最大異或值 這類題。先把全部資料儲存到trie樹中,再遍歷每個資料,...

資料結構之 樹

1.雙親表示法 下標 資料 parentid 2.孩子表示法 data child1 child2 child3 3.雙親孩子表示法 下標 parentid firstchildid secondchildid 節點 下標 next 頁的話next應該是null 4.孩子兄弟表示法 data 第一次...

資料結構之樹

一 樹的基本概念 樹 tree 是元素的集合,樹有多個節點可以儲存元素 二 二叉樹 每個節點最多有兩個子節點的樹稱為二叉樹 常用來做二分查詢 binary search 等 三 b樹 即二叉搜尋樹 binary search tree 是一種特殊形態的二叉樹 1 所有節點最多擁有2個子節點 2 所有...