C 線索二叉樹

2021-05-12 11:51:32 字數 1068 閱讀 6361

using system;

namespace bithrtree

class bithrtree

else

}///

/// 線索化二叉樹:

///

///

static btnode pre,h;

static public void threading(ref btnode t)

static public void thread(ref btnode t)

else

if(t.rchild==null)

else

if(pre.rchild==null&&pre.rtag==0)pre.rchild=t;

pre=t;

if(t.ltag==1)thread(ref t.lchild);

if(t.rtag==1)thread(ref t.rchild);}}

///

/// 先序輸出:

///

static public void preprint(btnode t)

}///

/// 先序線索遍歷輸出:

///

static public void prethrprint(btnode t)}}

}///

/// deepth of a bithrtree:

///

static public int deepth(btnode t)

else

}static public int max(params int w)

}static void main()

",deepth(mytree));

btnode mytree2=null;

console.writeline("呼叫複製函式得到的新樹為:");

dulplicatebithrtree(mytree,ref mytree2);

preprint(mytree2);

console.readline();

console.readline();

}

(C )二叉樹的線索化 線索二叉樹

線索化標誌tag enum pointertag 結點結構 template struct binarytreenodethd 基類迭代器 template struct binarytreeiterator t operator t operator bool operator const sel...

C 線索二叉樹

using system namespace bithrtree class bithrtree else 線索化二叉樹 static btnode pre,h static public void threading ref btnode t static public void thread r...

二叉樹 線索二叉樹(C )

由於傳統的二叉樹鍊錶儲存僅能體現一種父子關係,不能直接得到結點在遍歷中的前驅或後繼,於是引入了線索二叉樹。遍歷二叉樹是以一定的規則將二叉樹中的結點排列成乙個線性序列,從而得到幾種遍歷序列,使得該序列中的每個結點 第乙個和最後乙個結點除外 都有乙個直接前驅和直接後繼。引入線索二叉樹正是為了加快查詢結點...