逐点插入法建立二叉树?
2个回答
展开全部
1、第一个数字50,作为根节点
(所有数字都要先跟50比,大的放右侧,小的放左)
2、第二个数字72和50比,大于50,分叉分到右侧
3、第三个数字43跟50比 ,小于50,分叉分到左侧
4、85先跟50比,应该归到右侧,但是右侧已经有了一个72了,85位置跟72重复了,所以要把冲突的位置作为节点继续分叉,因此跟72比较以后,85大于72,分叉到72的右侧
5、20跟50比,放到左侧,左侧有了43,因此位置重复,要把43作为节点继续分叉,20小于43,因此放在43分叉后的左侧
6、35跟50比,放到左侧,但是有了43,继续分叉,应该放在43分叉后的左侧,但是这个位置有了20,所以要以20为节点继续分叉,分叉后大于20,放在20下方的右侧。
7、45跟50比,小于50,放在左侧,左侧有了43,继续分叉,因为大于43,因此放在43的右侧,跟20一排
8、65和30同理类推,最终答案图示如下:
。。。。。。。。。 50
。。。。。。。 / 。。。 \
。。。。。。43 。。。。72
。。。。。 / 。 \。。。 / 。。\
。。。。 20。。45 。65 。。。85
。。。。。\
。。。。。35
。。。。。/
。。。。30
(所有数字都要先跟50比,大的放右侧,小的放左)
2、第二个数字72和50比,大于50,分叉分到右侧
3、第三个数字43跟50比 ,小于50,分叉分到左侧
4、85先跟50比,应该归到右侧,但是右侧已经有了一个72了,85位置跟72重复了,所以要把冲突的位置作为节点继续分叉,因此跟72比较以后,85大于72,分叉到72的右侧
5、20跟50比,放到左侧,左侧有了43,因此位置重复,要把43作为节点继续分叉,20小于43,因此放在43分叉后的左侧
6、35跟50比,放到左侧,但是有了43,继续分叉,应该放在43分叉后的左侧,但是这个位置有了20,所以要以20为节点继续分叉,分叉后大于20,放在20下方的右侧。
7、45跟50比,小于50,放在左侧,左侧有了43,继续分叉,因为大于43,因此放在43的右侧,跟20一排
8、65和30同理类推,最终答案图示如下:
。。。。。。。。。 50
。。。。。。。 / 。。。 \
。。。。。。43 。。。。72
。。。。。 / 。 \。。。 / 。。\
。。。。 20。。45 。65 。。。85
。。。。。\
。。。。。35
。。。。。/
。。。。30
展开全部
二叉树排序目标就是建立一颗二叉树,对于每个节点,其左儿子小于它,右儿子大于它。
逐点插入的话,一开始以50作为根,接下来依次插入。
比如72比50大,作为50的右儿子。
43比50小,作为50的左儿子。
85比50大,但是这时50已经有右儿子75了,所以85与75比较,85比75大,作为75的右儿子。
同理,这样就可以把二叉树建出来了。
而查找30时,因为30比50小,所以往左边走。然后以此类推。。。。
逐点插入的话,一开始以50作为根,接下来依次插入。
比如72比50大,作为50的右儿子。
43比50小,作为50的左儿子。
85比50大,但是这时50已经有右儿子75了,所以85与75比较,85比75大,作为75的右儿子。
同理,这样就可以把二叉树建出来了。
而查找30时,因为30比50小,所以往左边走。然后以此类推。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询