首页 > 试题广场 >

设有一组初始记录关键字序列为(34,76,45,18,26,

[单选题]

设有一组初始记录关键字序列为(34764518265492),则由这组记录关键字生成的二叉排序树的深度(根的深度为1)为()。

  • 4
  • 5
  • 6
  • 7
BST构造的时候,如果根节点为空,则首先序列的第一个作为根节点,然后第二个与根节点比较:小的放到左边,大的放到右边;根节点不为空的时候,待插入的节点跟根节点比较:小的往左子树去比较,大的往右子树去比较。比较过程中,待插入节点只作为某节点的左或右节点插入,而不会变动之前的节点位置。
编辑于 2018-09-10 21:46:15 回复(1)
发表于 2018-09-15 22:22:04 回复(4)
发表于 2022-01-01 13:53:29 回复(0)
^~^头像 ^~^
二叉排序树的构造过程:按照给定序列,以此将结点插入二叉排序树中,在二叉排序树中插入新结点,要保证插入后的二叉树仍符合二叉排序树的定义。 
 
  插入过程:若二叉排序树为空,则待插入结点*S作为根结点插入到空树中; 
 
  当非空时,将待插结点关键字S->key和树根关键字t->key进行比较, 
 
  若s->key = t->key,则无须插入,若s->key< t->key,则插入到根的左子树中, 
 
  若s->key> t->key,则插入到根的右子树中。而子树中的插入过程和在树中的插入过程相同, 
 
  如此进行下去,直到把结点*s作为一个新的树叶插入到二叉排序树中,或者直到发现树已有相同关键字的结点为止。
  说明: 
 
  ① 每次插入的新结点都是二叉排序树上新的叶子结点。 
 
  ② 由不同顺序的关键字序列,会得到不同二叉排序树。 
 
  ③ 对于一个任意的关键字序列构造一棵二叉排序树,其实质上对关键字进行排序。
查找的过程类似,从根结点开始进行比较,小于根结点的在左子树上,大于根结点的在右子树上,以此查找下去,直到查找成功或不成功(比较到叶子结点)。
(百度问题里的答案,按照此答案构造的这题,正好为4层,之前可能理解错了,二叉排序树构造的时候不会调整树的结构)

发表于 2017-05-23 10:17:32 回复(0)
深度为k的二叉树的最大结点数为2的k次方减一
发表于 2017-10-30 20:27:08 回复(1)
第一个节点作为根节点,依次插入后续节点到对应的位置,以满足二叉排序树定义。相同节点是不插了吗?
发表于 2017-06-10 12:27:50 回复(2)