关于递归和非递归?(考试准备中~)
2。用非递归的方法求一棵二叉树的高度。二叉树每个结点的格式为:左孩子结点指针、数据域、右孩子结点指针。
递归算法如下:
int treeheight(Bitree *t)
{
if(t->data==0) return -1;
int h1 = treeheight(t->lchild);
int h2 = treeheight(t->rchild);
return 1+(h1>h2?h1:h2);
}
如果是改成非递归的话有两种方法:用循环或用栈来实现,对此不是太了解,具体该如何写?请指教!