#includeusing namespace std;
#define ok 1
#define error 0
#define overflow -2
typedef char elemtype;
const int maxlength = 30;//結點個數不超過30個
typedef struct bitreenodebitreenode,*bitree;
void createbitree(bitree & t)
}//createbitree
void preorder(bitree &t)//遞迴函式:先序遍歷以t為根的二叉樹
}void inorder(bitree &t)//遞迴函式:中序遍歷以t為根的二叉樹
}void postorder(bitree &t)//遞迴函式:後序遍歷以t為根的二叉樹
}void levelorder(bitree t) //層序遍歷
while(front!=rear)
if(p->rchild) //右孩子不為空,入隊
}}bool completetree(bitree t) //層序遍歷是否為完全二叉樹
else
}} return true; }}
int depthtree(bitree t) //樹的深度
return depthval;
}int countnode(bitree t) //樹的結點數
}int countleaf(bitree t) //樹的葉子數
}
二叉樹的基本演算法
二叉樹的遍歷 求二叉樹的深度 多叉樹轉二叉樹 輸入乙個二叉樹的先序串,輸出以括號形式表示的而叉樹。如果結點的子樹為空,先序串的對應位置為空格符。第1行 先序串 結點數 26,以單個大寫字母表示 第1行 二叉樹的括號形式ab c da b c d include include char s 100 ...
樹 二叉樹 滿二叉樹 完全二叉樹 完滿二叉樹
目錄名稱作用根 樹的頂端結點 孩子當遠離根 root 的時候,直接連線到另外乙個結點的結點被稱之為孩子 child 雙親相應地,另外乙個結點稱為孩子 child 的雙親 parent 兄弟具有同乙個雙親 parent 的孩子 child 之間互稱為兄弟 sibling 祖先結點的祖先 ancesto...
二叉樹 二叉樹
題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...