我们以下面这颗二叉树举例,来实现二叉树查询的递归代码和非递归代码。

比如说要查找B这个节点,我们就返回B这个节点的地址,用非递归实现我们可以借助非递归的先序、中序或者后序遍历来解决,这里借助的是先序遍历。给出代码:
BtNode* Findvalue(BtNode* ptr, ElemType val)
{
if (ptr == NULL)
{
return NULL;
}
stack<BtNode*> st;
st.push
本文通过一个二叉树实例,展示了如何使用递归和非递归方法进行二叉树节点查询。以查找节点B为例,详细解释了先序遍历在非递归查询中的应用,以及递归查询的思路,两种方法均能成功找到目标节点。
我们以下面这颗二叉树举例,来实现二叉树查询的递归代码和非递归代码。

比如说要查找B这个节点,我们就返回B这个节点的地址,用非递归实现我们可以借助非递归的先序、中序或者后序遍历来解决,这里借助的是先序遍历。给出代码:
BtNode* Findvalue(BtNode* ptr, ElemType val)
{
if (ptr == NULL)
{
return NULL;
}
stack<BtNode*> st;
st.push
352
133

被折叠的 条评论
为什么被折叠?