Day 5---搜索树

1.关于二叉搜索树特性说法错误的是(D )

A.二叉搜索树最左侧的节点一定是最小的

B.二叉搜索树最右侧的节点一定是最大的

C.对二叉搜索树进行中序遍历,一定能够得到一个有序序列

D.二叉搜索树的查找效率为O(log_2N)

解析:二叉搜索树的概念:

二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:

1. 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值

2. 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值

3. 它的左右子树也分别为二叉搜索树

从概念中可以得出以下性质:

1. 二叉搜索树中最左侧节点一定是最小的,最右侧节点一定是最大的

2. 对二叉搜索树进行中序遍历,可以得到一个有序的序列

D:错误,二叉搜索树最差情况下会退化为单支树,其查找的效率为O(N)

2.将整数序列(7-2-4-6-3-1-5)按所示顺序构建一棵二叉排序树a(亦称二叉搜索树),之后将整数8按照二叉排序树规则插入树a中,请问插入之后的树a中序遍历结果是(A)

A.1-2-3-4-5-6-7-8

B.7-2-1-4-3-6-5-8

C.1-3-5-2-4-6-7-8

D.1-3-5-6-4-2-8-7

E.7-2-8-1-4-3-6-5

F.5-6-3-4-1-2-7-8

解析:插入之后的树仍旧是二叉搜索树,因此只要是有序的结果则正确,而有序的结果只有A。

3.给定n个节点的平衡二叉搜索树,每个节点的值是整数。给定一个整数,在树中找出与该整数最接近的节点的最小算法复杂度是(A)

A.Θ(logn)

B.Θ(n^2)

C.Θ(nlogn)

D.Θ(n)

E.Θ(1)

解析:二叉平衡搜索树是二叉树,同时也是平衡树,即:每个节点左右子树高度差的绝对值不超过1,换句话说每个节点左右子树顶多差一层。

在平衡二叉树中查找元素时,找的规则和二叉搜索树的规则一样,最差情况下比较的是树的高度

二叉平衡搜索树的高度为:O(logn) 以2为底

 4.下面的哪个序列可能是二叉搜索树中序遍历的结果? (B)

A.7 3 8 2 9 4 11

B.2 3 4 7 8 9 11

C.11 2 9 3 8 4 7

D.以上均可

解析:二叉搜索树有个非常重要的特性:中序遍历的结果是有序的。

在二分搜索树中进行中序遍历,得到一个完全升序的数组(有序数组)。

5.下面关于二叉搜索树正确的说法是(C )

A.待删除节点有左子树和右子树时,只能使用左子树的最大值节点替换待删除节点

B.给定一棵二叉搜索树的前序和中序遍率历结果,无法确定这棵二叉搜索树

C.给定一棵二叉搜索树,根据节点值大小排序所需时间复杂度是线性的

D.给定一棵二叉搜索树,可以在线性时间复杂度内转化为平衡二叉搜索树

解析:

A:错误,当待删除节点的左右子树均存在时,既可以在左子树中找一个最大的节点作为替代节 点,也可以在右子树中找一个最小的节点作为替代节点,左右子树中都可以找替代节点

B:错误,根据前序遍历和中序遍历,是可以确定一棵树的结构,使用两个遍历结果确定树的结构, 其中有一个遍历结果必须要是中序遍历结果。

C:正确,二叉搜索树遍历一遍,就可以得到一个有序序列,因此,时间复杂度为O(N)

D:错误,这里面还需要牵扯到旋转等其他操作,时间复杂度不是线性的

 

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹿小伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值