樹的基礎知識

二叉樹的儲存

連續儲存【完全二叉樹】
	優點:
	      查找某個節點的父節點和子節點(也包括沒有數據的節點)
	缺點
	       耗用內存空間過大
鏈式存儲

一般樹的存儲

雙親表示法
	求父節點方便
孩子表示法
	求子節點方便
雙親孩子表示法
	求父節點子節點都方便
二叉樹表示法
	把一個普通樹轉換成二叉樹來存儲

具體的轉換方法:

	    設法保證任意一個節點的
		左指針域指向它的第一個孩子
		 右指針域指向它的下一個兄弟
	只要能滿足此條件就能把普通樹轉換成二叉樹
	一個普通樹轉換成二叉樹一定沒有右子樹

森林的存儲

先把森林轉換成二叉樹,再儲存二叉樹

操作

遍歷
        先序遍歷
                先訪問根節點
            	再先序訪問左子樹
	            再先序訪問右子樹



        中序遍歷
	                   中序遍歷左子樹
	                   再訪問根節點
	                   再中序遍歷右子樹
		


        後續遍歷	
                  	後序遍歷左子樹
	               後續遍歷右子樹
	                再訪問根節點


  	已知兩種遍歷序列求原始二叉樹
	只有通過  先序和中序  或者  中序和後序  纔可以唯一確定一個二叉樹

1.已知先序和中序求後續
示例:
先序:ABCDEFGH
中序:BDCEAFHG
求後序:DECBHGFA

示例:
先序:ABDGHCEFI
中序:GDHBAECIF

2.已知中序和後序求先序(根據後序找根節點)

應用

 樹是數據庫中數據組一種重要形式織
 操作系統子父進程的關係本身就是一棵樹
 面嚮對象語言的繼承關係本身就是一個樹
 赫夫曼樹
發佈了7 篇原創文章 · 獲贊 1 · 訪問量 1227
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章