第十二章 二叉搜尋樹

2021-10-01 11:40:58 字數 1492 閱讀 4356

施工中基本操作包括inorder_tree_walk、minimum、successor、insert、delete等。(主要是用c#實現,部分會在日後補上)

#region

"二叉樹基本操作"

///

/// 非遞迴版的中序遍歷

///

/// 頭結點

public

static

void

inorder_tree_walk

(node<

int> x)

if(s.count !=0)

}}}///

/// 二叉樹插入

///

/// 目標二叉樹

/// 待插入結點

public

static

void

tree_insert

(tree<

int> t, node<

int> x)

x.parent = y;

if(y ==

null

)else

if(y.key > x.key)

else

}///

/// 二叉樹刪除

///

/// 目標二叉樹

/// 待刪除結點

public

static

void

tree_delete

(tree<

int> t, node<

int> z)

else

if(z.right ==

null

)else

translate

(t, z, y)

; z.left.parent = y;

y.left = z.left;}}

///

/// 返回以x為頭結點的子樹的最小結點

///

/// 頭結點

/// 最小結點

public

static node<

int>

tree_minimum

(node<

int> x)

return y;

}///

/// 結點取代

///

/// 目標樹

/// 待取代點

/// 取代結點

private

static

void

translate

(tree<

int> t, node<

int> n1, node<

int> n2)

else

if(n1.parent.key > n1.key)

else

if(n2 !=

null)}

#endregion

施工中

施工中

演算法導論 第十二章 二叉搜尋樹

搜尋樹資料結構支援許多動態集合操作,包括search minimum maximum predecessor successor insert delete等。因此,我們是用一棵搜尋樹既可以作為乙個字典又可以作為乙個優先佇列。二叉搜尋樹的基本操作所花費的時間與這棵樹的高度成正比 所以相同的資料,組織...

《演算法導論》學習筆記 第十二章 二叉查詢樹

查詢樹以一種資料結構,它支援多種動態集合操作,包括search,minimum,maximum,predecessor,successor,insert以及delete,它既可以用作字典,也可以用作優先佇列。二叉查詢樹的執行的基本操作的時間與樹的高度成正比。對於一棵含有n個結點的完全二叉樹,這些操作...

第十二章 檔案

文字檔案 文字檔案是一種由若干字元構成的檔案,可以用文字編輯器進行閱讀或編輯。以txt py html等為字尾的檔案都是文字檔案。2.二進位制檔案 二進位制檔案一般是指不能用文字編輯器閱讀或編輯的檔案。以 mp4 png等為字尾的檔案都是二進位制檔案,如果想要開啟或修改這些檔案,必須通過特定軟體進行...