樹的雙親表示一種存儲方式
㈠ 數據結構問題什麼是樹的雙親表示法
從樹的定義可知,除根結點外,樹中的每個結點都有唯一的一個雙親結點。根據這一特性,可用一組連續的存儲空間(一維數組)存儲樹中的各結點。樹中的結點除保存結點本身的信息之外,還要保存其雙親結點在數組中的位置(數組的序號),樹的這種表示法稱為雙親表示法。
樹的雙親表示法對於實現 Parent(t)操作和 Root()操作非常方便。 Parent(t)操作可以在常量時間內實現,反復調用Parent(t)操作,
直到遇到無雙親的結點(其
pPos值為-1)時,便找到了樹的根,這就是Root()操作的執行過程。但要實現查找孩子結點和兄弟結點等操作非常困難,因為這需要查詢整個數組。要實現這些操作,需要在結點結構中增設存放第1個孩子在數組中的序號的域和存放第1個兄弟在數組中的序號的域。
㈡ 設計一個程序:分別用雙親表示結構和樹的孩子鏈表存儲表示結構來存儲圖中的樹
要源代碼嗎 遍歷樹就可以了啊 靜態二叉鏈表和動態二叉鏈表 兩種存儲結構
㈢ 順序存儲表示法為什麼不是樹的存儲形式
順序存儲表示法是樹的存儲形式的原因:順序存儲方式不僅能用於存儲線性結構,還可以用來存放非線性結構,例如完全二叉樹是屬於非線性結構,但其最佳存儲方式是順序存儲方式。
對於一般的家譜樹(一般的多叉樹)來說,我們可以很清楚的看出層次關系,樹的層數表示代數(一共多少代人),樹的最後一層表示最後一代人,由於多叉鏈表法表示的不方便,因此被迫無奈採用孩子兄弟表示法(二叉鏈表法)。
結構
二叉樹的順序存儲就是用一組連續的存儲單元存放二又樹中的結點元素,一般按照二叉樹結點自上向下、自左向右的順序存儲。使用此存儲方式,結點的前驅和後繼不一定是它們在邏輯上的鄰接關系,非常適用於滿二又樹和完全二又樹。根據完全二叉樹和滿二叉樹的特性,假設將圖1中的完全二又樹存放在一維數組bree中,將發現結點的編號正好與數組元素的下標對應。
㈣ 二叉樹的存儲結構是怎樣的有哪些類型的存儲結構對應的c語言描述是
樓上回答的是樹的存儲,不是二叉樹的存儲,主要如下:
1、順序存儲:適用於完全二叉樹,如果根從1開始編號,則第i結點的左孩子編號為2i,右孩子為2i+1,雙親編號為(i/2)下取整,空間緊密
2、二叉鏈表:適用於普通二叉樹,每個結點除了數據外,還有分別指向左右孩子結點的指針,存儲n個結點有n+1個空指針域,存儲密度小於順序存儲,但是適用范圍廣,缺陷是正常遍歷只能從雙親向孩子,退回來一般需要藉助棧(或者用遞歸,其實也是棧)
3、三叉鏈表:同樣適用於普通二叉樹,結點除了數據外,還有左右孩子與雙親的指針,存儲密度低於二叉鏈表,但是可以非常方便地在二叉樹中遍歷,不需要其他輔助工具
㈤ 什麼是二叉樹的順序存儲
二叉樹的順序存儲是將二叉樹的所有結點,按照一定的次序,存儲到一片連續的存儲單元中
二叉樹的順序存儲必須將結點排成一個適當的線性序列,使得結點在這個序列中的相應位置能反映出結點之間的邏輯關系。這種結構特別適用於近似滿二叉樹。
在一棵具有n個結點的近似滿二叉樹中,當從樹根起,自上層到下層,逐層從左到右給所有結點編號時,就能得到一個足以反映整個二叉樹結構的線性序列。其中每個結點的編號就作為結點。
(5)樹的雙親表示一種存儲方式擴展閱讀:
二叉樹的性質:
1、二叉樹第i層上的結點數目最多為2{i-1}(i≥1)。
2、深度為k的二叉樹至多有2{k}-1個結點(k≥1)。
3、包含n個結點的二叉樹的高度至少為log2(n+1)。
4、在任意一棵二叉樹中,若終端結點的個數為n0,度為2的結點數為n2,則n0=n2+1。
參考資料來源:網路-二叉樹
㈥ 數據結構問題:設樹T採用雙親表示的存儲結構,編程,計算該樹的高度
演算法思路:
從雙親表示的最後一個下標的元素開始,依次對每個結點計數一直到根跳轉的次數,這個最大值就是樹的高度
㈦ 樹的存儲表示是什麼
樹的存儲結構根據應用的不同而不同,有的從雙親的角度考慮,引出了雙親表示法,有的從孩子的角度考慮,給出孩子表示法,還有的從孩子和兄弟的角度來討論。這些都是人們在大量的應用中所使用的不同形式的存儲結構,這里介紹常用的雙親表示法、孩子表示法、雙親孩子表示法和孩子兄弟表示法。
1.雙親表示法由樹的定義可知,樹中每個結點都有且僅有一個雙親結點,根據這一特性,可以用一組連續的一維數組來存儲樹中的各個結點(一般按層次存儲),數組中的一個元素對應樹中的一個結點,其中包括結點的數據信息以及該結點的雙親在數組中的下標。樹的這種存儲方法稱為雙親表示法,雙親表示法的結點結構如圖1所示,其中,data表示數據域,存儲樹中結點的數據信息,parent表示指針域,存儲該結點的雙親在數組中的下標。
1.雙親表示法的存儲結構2)雙親表示法示例圖1所示的樹的雙親表示如圖1所示,這是一棵樹及其雙親表示法的存儲結構。根結點A無雙親,所以parent的值為-1,G、H和I的parent值為4,表示它們的雙親是下標為4的結點E。這種存儲結構利用任一結點的雙親是唯一的性質,可以方便地直接找到任一結點的雙親結點,但求結點的孩子結點時需要掃描整個數組。
圖1樹的雙親表示法示例
㈧ 數據結構中樹的存儲問題
在樹結構中有雙親表示法、孩子表示法、孩子兄弟表示法等,其中雙親表示法,屬順序存儲結構,孩子表示法、孩子兄弟表示法以屬鏈式存儲
㈨ 已知一棵樹的雙親表示存儲映像圖如下所示,試畫出該樹,並寫出其前序,中序,後序,層序的遍歷列表
㈩ 數據結構,樹的常用存儲方式
存入文本文件,每行:孩子節點-父節點。
這樣也方便用Hadoop進行處理。