首页 > 试题广场 >

二叉排序树的链表节点定义如下: typedef struct

[单选题]
二叉排序树的链表节点定义如下:
typedef struct BiTnode{
    int key_value;
    struct BiTnode *L,*R;/*节点的左、右树指针*/
}

请补充完整查找键值key的函数。
BSTree lookup_key(BSTree root,int key)
{
    if() return NULL;
    else 
        if(key == root->key_value)
            return root;
        else if(key > root->key_value)
            return (1);
        else
            return (2);
}

  • (1)lookup_key(root->R,key)
    (2)lookup_key(NULL,key)
  • (1)lookup_key(root->R,root.key_value)
    (2)lookup_key(root->L,root.key_value)
  • (1)lookup_key(root->L,key)
    (2)lookup_key(root->R,key)
  • (1)lookup_key(root->R,key)
    (2)lookup_key(root->L,key)
二叉排序数的(递归)定义:1、若左子树非空,则左子树所有节点的值均小于它的根节点;2、若右子树非空,则右子树所有节点的值均大于于它的根节点;3、左右子树也分别为二叉排序树。
发表于 2019-03-12 20:33:38 回复(0)
关键字key比根值大,则去与右子树对应的值比较;当关键字key值比根值小,则去与左之树对应的值比较。
因为二叉排序树的值大小是,左子树<根<右子树
发表于 2019-03-14 09:38:12 回复(0)
根右左
发表于 2022-03-19 12:08:01 回复(0)
左根右
发表于 2020-10-12 19:54:23 回复(0)
根右左
发表于 2020-03-28 17:54:13 回复(0)