出一组数据:10、18、3、4、9、13、15、2、21、7、8,将它们生成一棵二叉排序树,所需的关键码的比较次数为
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/13 20:59:46
出一组数据:10、18、3、4、9、13、15、2、21、7、8,将它们生成一棵二叉排序树,所需的关键码的比较次数为
具体怎么做...
具体怎么做...
10
/ \
3 18
/ \ / \
2 4 13 21
\ \
9 15
/
7
\
8
插入的结果如上
其实二叉排序树很简单,他必须满足一个条件,即父节点的值大于左边孩子的值,且小于右边孩子的值.
每次插入的时候,都必须于当前节点比较,如果大于当前节点,则与右子节点进行比较,如果小于当前节点,则与左子节点比较,一直比较下去,直到不存在左子节点或右子节点,则把新节点插入到不存在的位置.
如
第1步:插入10 不用比较,10为根节点
树:10
第2步:插入18 从根节点开始与10 比较(总比较次数1),比10大,所以接着与10的右子节点比较,由于10没有右子节点,因此把18 插入到10 的右子节点中
树:10
\
18
第3步:插入3 从根节点开始与10 比较(总比较次数2),比10小,所以接着与10的左子节点比较,由于10没有左子节点,因此把3 插入到10 的左子节点中
树:10
/ \
3 18
第4步:插入4 从根节点开始与10 比较,比10小,所以接着与10的左子节点比较(总比较次数3),10的左子节点为3,与3做比较(总比较次数3),比3大,接着与3的右子节点比较,由于3没有右子节点,因此把4 插入到3 的右子节点中.
树:10
/ \
3 18
\
4
.
后面的希望你自己做,验证下自己了解了没.
再问: 那关键码是什么啊,先采纳了
/ \
3 18
/ \ / \
2 4 13 21
\ \
9 15
/
7
\
8
插入的结果如上
其实二叉排序树很简单,他必须满足一个条件,即父节点的值大于左边孩子的值,且小于右边孩子的值.
每次插入的时候,都必须于当前节点比较,如果大于当前节点,则与右子节点进行比较,如果小于当前节点,则与左子节点比较,一直比较下去,直到不存在左子节点或右子节点,则把新节点插入到不存在的位置.
如
第1步:插入10 不用比较,10为根节点
树:10
第2步:插入18 从根节点开始与10 比较(总比较次数1),比10大,所以接着与10的右子节点比较,由于10没有右子节点,因此把18 插入到10 的右子节点中
树:10
\
18
第3步:插入3 从根节点开始与10 比较(总比较次数2),比10小,所以接着与10的左子节点比较,由于10没有左子节点,因此把3 插入到10 的左子节点中
树:10
/ \
3 18
第4步:插入4 从根节点开始与10 比较,比10小,所以接着与10的左子节点比较(总比较次数3),10的左子节点为3,与3做比较(总比较次数3),比3大,接着与3的右子节点比较,由于3没有右子节点,因此把4 插入到3 的右子节点中.
树:10
/ \
3 18
\
4
.
后面的希望你自己做,验证下自己了解了没.
再问: 那关键码是什么啊,先采纳了
依次输入元素:10,8,16,5,20,7,12,19,试生成一棵二叉排序树.(1) 画出建立的二叉排序树.(2) 假定
在有序列表(3,6,8,10,12,15,16,18,21,25,30)中,用二分查找关键值12所需的关键码比较次数为?
将关键字序列{5,2,11,5,13,10,6}建成一棵平衡二叉排序树,关键是什么叫做平衡二叉
已知一组元素为(55,20,88,12,37,99,60),试画出按元素排列次序插入生成的一棵二叉排序树
众数是一组数据中出现次数最多的数据,∴众数是8;平均数=(4+3+8+2+8)÷5=5;把数据
设有一组关键字序列(34,76,45,18,26,54,92),则由这组记录关键字生成的二叉排序树的深度为()
有一组统计数据共10个,它们是:2、4、4、5、5、6、7、8、9、x,已知这组数据的平均数为6,则这组数据的方差为__
试按表( 6,7,10,14,38,5,8,12)中元素的排列次序, 将所有元素插入一棵初始为空的二叉排序树中, 使之仍
32.对给定的数列R={7,16,4,8,20,9,6,18,5},构造一棵二叉排序树,并且 (1)给出按中序遍历得到
5.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值25,所需的关键码比较
已知8个元素(34,76,45,18,26,54,92,65),按照依次插入结点的方法生成一棵二叉排序树,则该树的深度为
有一组数据:6、3、4、x、7,它们的平均数是10,则这组数据的中位数是______.