1、鏈式儲存結構
typedef
struct bitnodebitnode,
*bitree;
2、遍歷
(1)先序遍歷
//遞迴
void
preorder1
(bitree t)
}
//非遞迴
void
preorder2
(bitree t)
else
}}
(2)中序遍歷
//遞迴
void
inorder1
(bitree t)
}
//非遞迴
void
inorder2
(bitree t)
else
}}
(3)後序遍歷
//遞迴
void
postorder1
(bitree t)
}
//非遞迴
void
postorder2
(bitree t)
else
else
}//else
}//while
}while
(4)層序遍歷
void
levelorder
(bitree t)
}
2、求樹高度
//遞迴
public
static
inthigh1
(node root)
//非遞迴
public
static
inthigh2
(node root)
if(tmp.right!=null)}}
return high;
}
3、求樹最大寬度
public
static
intmaxwidth
(node root)
k=queue.
size()
;for
(int i=
0;i(tmp.right!=null)}}
return width;
4、設一棵二叉樹各結點的值互不相同,其先序遍歷序列和中序遍歷序列分別存於兩個一維陣列a[1…n]和b[1…n]中,試編寫演算法建立該二叉樹的二叉鍊錶
bitree preincreat
(elemtype a[
],elemtype b,
int l1,
int h1,
int l2,
int h2)
961資料結構總結 排序
1 直接插入排序 void insertsort elemtype a,int n 2 折半插入排序 void insertsort elemtype a,int n for j i 1 j high 1 j a j 1 a j 統一後移元素,空出插入位置 a high 1 a 0 插入操作 3 希...
961資料結構總結 順序表
initlist l 初始化表,構件乙個空表 length l 求表長,返回表長度,即元素個數 locateelem l,e 按值查詢元素,找值為e的元素 getelem l,i 按位查詢,找第i個位置的元素 listinsert l,i,e 插入,第i個位置插入e listdelete l,i,e...
資料結構 樹
樹的概念 1.家族樹 在現實生活中,有入如下血統關係的家族可用樹形圖表示 張源有三個孩子張明 張亮和張麗 張明有兩個孩子張林和張維 張亮有三個孩子張平 張華和張群 張平有兩個孩子張晶和張磊。以上表示很像一棵倒畫的樹。其中 樹根 是張源,樹的 分支點 是張明 張亮和張平,該家族的其餘成員均是 樹葉 而...