更多“用顺序存储的方法将完全二叉树中的所有结点逐层存放在数组A[1]~A[n]中,结点A[i]若有左子树,则左子树的根结点是()。”相关问题
  • 第1题:

    对一棵二叉树的中序遍历序列中,根结点右边的结点属于( )。

    A.左子树上的叶子结点

    B.右子树上的所有结点

    C.左子树上的所有结点

    D.右子树上的叶子结点


    正确答案:B
    解析:根据中序遍历二叉树的特点,先中序遍历左子树,再遍历根结点,最后中序遍历右子树,因此在根结点右边的结点属于右子树上的所有结点。

  • 第2题:

    若一棵二叉树中只有叶结点和左、右子树皆非空的结点,设叶结点的个数为n,则左、右子树皆非空的结点个数是 ______。


    正确答案:n-1
    n-1 解析:除了叶子结点左右子树皆非空的二叉树其左右子树皆非空的结点度都为2,假设左右子树皆非空的结点数为x,则树的度的总数为n+x-1,并且所有度都是这些左右子树皆非空的结点引出的,为2x,所以n+x-1=2x,得到x=n-1。

  • 第3题:

    阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。

    【说明】

    一棵非空二叉树中“最左下”结点定义为:若树根的左子树为空,则树根为“最左下”结点;否则,从树根的左子树根出发,沿结点的左

    子树分支向下查找,直到某个结点不存在左子树时为止,该结点即为此二叉树的“最左下”结点。例如,下图所示的以 A为根的二叉树的“最

    左下”结点为D,以C为根的子二叉树中的“最左下”结点为C。

    二叉树的结点类型定义如下:

    typedef stmct BSTNode{

    int data;

    struct BSTNode*lch,*rch;//结点的左、右子树指针

    }*BSTree;

    函数BSTree Find Del(BSTree root)的功能是:若root指向一棵二叉树的根结点,则找出该结点的右子树上的“最左下”结点*p,并从

    树于删除以*p为根的子树,函数返回被删除子树的根结点指针;若该树根的右子树上不存在“最左下”结点,则返回空指针。

    【函数】

    BSTrce Find_Del(BSTreeroot)

    { BSTreep,pre;

    if ( !root ) return NULL; /*root指向的二叉树为空树*/

    (1); /*令p指向根结点的右子树*/

    if ( !p ) return NULL;

    (2); /*设置pre的初值*/

    while(p->lch){ /*查找“最左下”结点*/

    pre=p;p=(3);

    }

    if ((4)==root) /*root的右子树根为“最左下”结点*/

    pre->rch=NULL;

    else

    (5)=NULL; /*删除以“最左下”结点为根的子树*/

    reurn p;

    }


    正确答案:(1)p=root->rch (2)pre=root (3)p->lch (4)pre (5)pre->lch
    (1)p=root->rch (2)pre=root (3)p->lch (4)pre (5)pre->lch 解析:根据题目中的说明,函数BSTree FindDel (BSTreeroot)的功能是:若root指向一棵二叉树的根结点,则找出该结点的右子树上的“最

    左下”结点*p,并从树中删除以 *p为根的子树,函数返回被删除子树的根结点指针;若该树根的右子树上不存在“最左下”结点,则返回空指

    针。而一棵非空二叉树中“最左下”结点定义为:若树根的左子树为空,则树根为“最左下”结点;否则,从树根的左子树根出发,沿结点的

    左子树分支向下查找,直到某个结点不存在左子树时为止,该结点即为此二叉树的“最左下”结点。
    因此,给定一棵非空二叉树后,其右子树上的“最左下”结点要么为右子树根结点自己,要么为右子树根的左子树结点。
    当二叉树非空时,root指向的结点是存在的,因此,令p指向根结点的右子树表示为“p=root->rch"。在二叉树上删除结点的操作实质上

    是重置其父结点的某个子树指针,因此查找被删除结点时,需要保存被删结点的父结点指针,pre起的就是这个作用。空 (2)处应填入

    “p=root",使得指针pre与p指向的结点始终保持父子关系。根据“最左下”结点的定义,空(3)处应填入“p->lch"。
    当root的右子树根为“最左下”结点时,pre指针的指向就不会被修改,因此,空 (4)处应填入“pre”。若“最左下”结点在root的右子

    树的左子树上,则删除以p指向的“最左下”结点为根的子树就是将pre(*p的父结点)的左子树指针置空,因此,空 (5)填入“pre->Ich"。

  • 第4题:

    在一非空二叉树的中序遍历序列中,根结点的右边(40)。

    A.只有右子树上的所有结点

    B.只有右子树上的部分结点

    C.只有左子树上的部分结点

    D.只有左子树上的所有结点最左子树


    正确答案:A
    解析:中序遍历二叉树的操作定义为:1、中序遍历左子树;2、访问根结点;3、中序遍历右子树。所以应该选择A。

  • 第5题:

    按层次次序将一棵有n-个结点的完全二叉树的所有结点从1~n编号,当i≤n/2时,编号为i的结点的左子树的编号是( )。

    A.2i-1

    B.2i

    C.2i+1

    D.不确定


    正确答案:B
    B。【解析】完全二叉树中除最下面一层外,各层都被结点充满了,每一层结点个数恰是上一层结点个数的2倍。因此,从一个结点的编号就可推知它的双亲及左、右子树结点的编号。当i≤n/2时,编号为i的结点的左子树的编号是2i,否则结点i没有左子树。当i≤(n-1)/2时,编号为i的结点的右子树的编号是2i+1,否则结点i没有右子树。当i≠1时,编号为i的结点的双亲是结点i/2。

  • 第6题:

    对一棵非空二叉树进行中序遍历,则根结点的左边( )

    A.只有左子树上的所有结点

    B.只有右子树上的所有结点

    C.只有左子树上的部分结点

    D.只有右子树上的部分结点


    正确答案:A

  • 第7题:

    在一非空二叉树的中序遍历序列中,根结点的右边( )

    A.只有右子树上的所有结点

    B.只有右子树上的部分结点

    C.只有左子树上的所有结点

    D.只有左子树上的部分结点


    正确答案:A

  • 第8题:

    用顺序存储的方法将完全二叉树中的所有结点逐层存放在数组A[1]~A[n]中,结点A[i]若有左子树,则左子树的根结点是()。

    • A、A[2i-1]
    • B、A[2i+1]
    • C、A[i/2]
    • D、A[2i]

    正确答案:D

  • 第9题:

    用顺序存储的方法将完全二叉树中的所有结点逐层存放在数组中R[1..n],结点R[i]若有左孩子,其左孩子的编号为结点()。

    • A、 R[2i+1]
    • B、 R[2i]
    • C、 R[i/2]
    • D、 R[2i-1]

    正确答案:B

  • 第10题:

    单选题
    用顺序方法将完全二叉树的结点逐层存放在数组A[1..n]中,结点A[I]若有右子女,则该子女是结点()
    A

    A[2i-1]

    B

    A[2i+1]

    C

    A[L(I/2)]注:L(I/2)是取不大于I/2的最大整数

    D

    A[T(I/2)]注:T(I/2)是取不小于I/2的最小整数


    正确答案: C
    解析: 暂无解析

  • 第11题:

    多选题
    完全二叉树(  )。
    A

    适合于顺序结构存储​

    B

    不一定适合顺序结构存储

    C

    叶子结点可在任一层出现

    D

    某些结点有右子树则必有左子树


    正确答案: C,B
    解析:

  • 第12题:

    单选题
    用顺序存储的方法将完全二叉树中的所有结点逐层存放在数组中R[1..n],结点R[i]若有左孩子,其左孩子的编号为结点()。
    A

     R[2i+1]

    B

     R[2i]

    C

     R[i/2]

    D

     R[2i-1]


    正确答案: C
    解析: 暂无解析

  • 第13题:

    在完全二叉树的顺序存储中,若结点i有左子女,则其左子女是结点 【 】。


    正确答案:2i
    2i

  • 第14题:

    在非空二叉树的中序遍历序列中,二叉树的根结点的左边(40)。

    A.只有左子树上的所有结点

    B.只有左子树上的部分结点

    C.只有右子树上的所有结点

    D.只有右子树上的部分结点


    正确答案:A
    解析:在非空二叉树中序遍历序列中,二叉树的根结点的左边的那些结点为根结点的左子树上的所有结点。答案为A。

  • 第15题:

    用数组A[l..n]顺序存储完全二叉树的各结点,则当i>0,且i<=【 】时,结点A[i]的右子女是结点A[2i+1],否则结点A[i]没有右子女。


    正确答案:[(n-1)/2]
    [(n-1)/2] 解析:根据完全二叉树的定义及顺序存储结构的特点,可知答案为[(n-1)/2]。

  • 第16题:

    按层次次序将一棵有n个结点的完全二叉树的所有结点从1~n编号,当i≤n/2时,编号为i的结点的左子树的编号是( )。

    A.2i-1

    B.2i

    C.2i+1

    D.不确定


    正确答案:B
    完全二叉树中除最下面-层外,各层都被结点充满了,每-层结点个数恰是上-层结点个数的2倍。因此,从一个结点的编号就可推知它的双亲及左、右子树结点的编号。当i≤n/2时,编号为i的结点的左子树的编号是2i,否则结点i没有左子树。当i≤(n1)/2时.编号为i的结点的右子树的编号是2i+1,否则结点i没有右子树。当i≠1时,编号为i的结点的双亲是结点i/2。

  • 第17题:

    对一棵二叉树的中序遍历序列中,根结点的左边包括( )。

    A.左子树上的叶子结点

    B.右子树上的所有结点

    C.左子树上的所有结点

    D.右子树上的叶子结点


    正确答案:C

  • 第18题:

    一棵二叉树满足下列条件:对任一结点,若存在左、右子树,则其值都小于它的左子树上所有结点的值,而大于右子树上所有结点的值。现采用【 】遍历方式就可以得到这棵二叉树所有结点的递增序列。

    A.先根

    B.中根

    C.后根

    D.层次


    正确答案:B

  • 第19题:

    二叉树的中序遍历序列是E、B、A、C、F、D,若A是根结点,则E结点不可能在()。

    • A、左子树
    • B、右子树
    • C、右子树的第二层
    • D、右子树的根节点

    正确答案:B,C,D

  • 第20题:

    用顺序方法将完全二叉树的结点逐层存放在数组A[1..n]中,结点A[I]若有右子女,则该子女是结点()

    • A、A[2i-1]
    • B、A[2i+1]
    • C、A[L(I/2)]注:L(I/2)是取不大于I/2的最大整数
    • D、A[T(I/2)]注:T(I/2)是取不小于I/2的最小整数

    正确答案:B

  • 第21题:

    在非空二叉树的中序遍历序列中,二叉树的根结点的左边应该()

    • A、只有左子树上的所有结点
    • B、只有左子树上的部分结点
    • C、只有右子树上的所有结点
    • D、只有右子树上的部分结点

    正确答案:A

  • 第22题:

    单选题
    用顺序存储的方法,将完全二叉树中所有结点按层逐个从左到右的顺序存放在一维数组R[1..N]中,若结点R[i]有右孩子,则其右孩子是()。
    A

    R[2i-1]

    B

    R[2i+1]

    C

    R[2i]

    D

    R[2/i]


    正确答案: C
    解析: 暂无解析

  • 第23题:

    单选题
    二叉树__(1)__。在完全二叉树中,若一个结点没有__(2)__,则它必定是叶结点。每棵树都能唯一地转换成与它对应的二叉树。由树转换成的二叉树里,一个结点N的左子树是N在原树里对应结点的__(3)__,而N的右子树是它在原树里对应结点的__(4)__。二叉排序树的平均检索长度为__(5)__。空白(2)处应选择()
    A

    左子树

    B

    右子树

    C

    左子树或没有右子树

    D

    兄弟


    正确答案: C
    解析: 暂无解析