回覆列表
-
1 # xiao46創
-
2 # 使用者3177994670834
樹,連通但沒有迴路的圖
二叉樹是一類非常重要的樹形結構,它可以遞迴地定義如下:
二叉樹T是有限個結點的集合,它或者是空集,或者由一個根結點u以及分別稱為左子樹和右子樹的兩棵互不相交的二叉樹u(1)和u(2)組成。若用n,n1和n2分別表示T,u(1)和u(2)的結點數,則有n=1+n1+n2 。u(1)和u(2)有時分別稱為T的第一和第二子樹。
二叉樹應用非常廣泛。首先二叉樹是樹的基礎,利用二叉樹可以構造樹和森林。在作業系統源程式中,樹和森林被用來構造檔案系統。我們看到的window和linux等檔案管理系統都是樹型結構。在編譯系統中,如C編譯器原始碼中,二叉樹的中序遍歷形式被用來存放C 語言中的表示式。在遊戲設計領域,許多棋類遊戲的步驟都是按樹型結構編寫。其次二叉樹本身的應用也非常多,如哈夫曼二叉樹用於JPEG編解碼系統(壓縮與解壓縮過程)的原始碼中,甚至於編寫處理器的指令也可以用二叉樹構成變長指令系統,另外二叉排序樹被用於資料的排序。總之,二叉樹應用廣泛,應好好掌握。