樹的儲存結構(二)

2021-09-29 12:48:46 字數 581 閱讀 7460

順序儲存結構

struct ptree

;

優點:可以快速的定位雙親結點

缺點:如果要找子結點需要遍歷全部

struct tsonnode

;

缺點:固定了maxsons,會有大量的指標域為空,適合小樹。

證明:含有n個結點的m次樹採用孩子鏈存結構有 mn - n + 1個空指標域

先來個簡單的二叉樹,n個結點,則共有 2n 個指標域,根據樹的定義,每個結點(除去根節點)都有唯一乙個雙親結點所以有 n-1 個結點是指向父節點的。空餘的結點:2n - (n -1) = n + 1

拓展到m次樹,mn個指標域,n-1個指向父節點,空指標:mn - n + 1 ~

口訣:左孩子,右兄弟

孩子兄弟儲存很容易弄錯吧~這裡沒有深度,只有孩子兄弟

記1:右下對角線是同一層次兄弟的關係

記2:左下對角線是父子關係

證明:含有n個結點的二叉鍊錶中共有n+1個空鏈域

二叉樹的儲存結構(二)

後序遍歷 非遞迴 enum tags 特徵標識定義 template class t class stackelement 棧元素的定義 include using namespace std template class t void bitree postorderwithoutrecusion...

樹的儲存結構

樹的儲存結構 樹的存貯結構有多種表示方法,比較典型的乃是順序結構和鍊錶結構兩類。順序存貯結構即向量,一般將樹結點按自上而下,自左至右的順序一一存放。如前文所介紹的完全二叉樹就可以採用順序存貯結構。1.雙親鍊錶表示法 順序儲存結構常用的有雙親表示法,這種方法在每個陣列元素中存放某個結點資訊和該結點的雙...

樹的儲存結構

樹的資料邏輯結構是一對n的,除了根節點,每個元素只有乙個前驅,但是可以有多個後繼,具有層次關係,像家譜就是乙個樹的例子。樹是有n個結點的有限集合,當n大於零時,這個樹有且僅有乙個稱為根的結點,從根節點延申出來的元素可以時n個,同時可以再延申。n 0時,該樹就是空樹。樹的第一層就是根結點,第二層都是稱...