数据结构 先序遍历查找二叉树中的元素

题目:

给出一个二叉树,查找当前给出的元素x是否在二叉树中

分析:

二叉树的查找本质和二叉树的遍历相似,都可以用到递归的方法实现。

只需要将集中会出现的情况总结起来,找到递归出口即可完成该题:

第一种:

find_node(node,x)==NULL 当前的节点为空,返回null

find_node(node,x)==p 找到节点,返回当前节点

find_node(node->left,x)在左子树中找要求的节点

find_node(node->right,x)在右子树中找要求的节点

Node *find_Node(Node *node,char ch)
{
    
    if(node==NULL)
        return NULL;
    else if(node->data==ch)
        return node;
    else
    {
        Node *p=find_Node(node->left, ch);
        if(p!=NULL)
            return p;
        else
            return find_Node(node->right, ch);
    }
}

 

posted @ 2020-10-14 11:02  雾漫大武汉  阅读(555)  评论(0编辑  收藏  举报