求n!
题目
设计求n!的递归算法
重点代码展示
int solve(int n) {
if (n == 1) {
return 1;
}
else return n * solve(n - 1);
}
求非空二叉链的结点之和
题目
分析二叉树的二叉链存储结构的递归性,设计求非空二叉链bt中所有结点值之和的递归算法,假设二叉链的data域为int型。
int sumtree(node* T) {
if (T == NULL) return 0;
else {
return T->data + sumtree(T->rchild) + sumtree(T->lchild);
}
}
先序序列和中序序列创建二叉树
题目
对于含n(n>0)个结点的二叉树,所有结点值为int类型,设计一个算法由其先序序列a和中序序列b创建对应的二叉链存储结构。
代码
BiTree createtree2(int a[], int b[], int n) {
//a代表先序,b代表中序,n代表中序序列的第几号元素
int i = 0;
if (n <= 0) return NULL;//如果n为0则说明构建完