首页 > 试题广场 >

线索二叉树中某结点 R 没有左孩子的充要条件是( )。

[单选题]
线索二叉树中某结点 R 没有左孩子的充要条件是( )。
  • R.lchild=NULL
  • R.ltag=0
  • R.ltag=1
  • R.rchild=NULL
如图:
发表于 2017-06-10 14:42:03 回复(2)
       通过考察各种二叉链表,不管儿叉树的形态如何,空链域的个数总是多过非空链域的个数。准确的说,n各结点的二叉链表共有2n个链域,非空链域为n-1个,但其中的空链域却有n。
        因此,提出了一种方法,利用原来的空链域存放指针,指向树中其他结点。这种指针称为线索。
        记ptr指向二叉链表中的一个结点,以下是建立线索的规则:
(1)如果ptr->lchild为空,则存放指向中序遍历序列中该结点的前驱结点。这个结点称为ptr的中序前驱;
(2)如果ptr->rchild为空,则存放指向中序遍历序列中该结点的后继结点。这个结点称为ptr的中序后继;
        显然,在决定lchild是指向左孩子还是前驱,rchild是指向右孩子还是后继,需要一个区分标志的。+1个。因此,我们在每个结点再增设两个标志域ltag和rtag。
其中:
    (1)ltag为0时指向该结点的左孩子,为1时指向该结点的前驱;
    (2)rtag为0时指向该结点的右孩子,为1时指向该结点的后继;
发表于 2017-07-20 20:04:55 回复(0)
R.lchild为空则没有左孩子,但是没有左孩子R.lchild却不一定为空,因为它可以指向R的前驱结点。
发表于 2020-03-09 15:23:12 回复(0)
线索二叉树中左右孩子如果为空会分别指向前后驱节点,所以判定孩子为空的标准就是看此节点是否是左右线索。是左线索则左孩子原本为空。
发表于 2018-03-22 09:25:04 回复(0)
考查线索二叉树。Ltag = 1的时候代表lchild指针是负责线索化的指针。而不是指向左孩子的指针。
因此Ltag = 1时,说明二叉树无左孩子
发表于 2021-12-14 18:32:09 回复(0)
R.lchild线索化后已经指向结点,所以判R.lchild没用
发表于 2019-08-30 21:49:31 回复(0)
充分条件,必要条件,充分必要条件,充要条件
发表于 2026-01-06 10:24:27 回复(0)
没看到线索两字。
发表于 2022-05-16 16:44:50 回复(0)
注意没有左孩子的位置成为了线索
发表于 2022-03-11 13:42:55 回复(0)
概念搞错了,
发表于 2021-01-01 20:30:38 回复(0)