首页 > 编程语言 > 详细

数据结构与算法分析C语言描述第二版第79页

时间:2020-09-30 19:57:43      阅读:64      评论:0      收藏:0      [点我收藏+]

这一节讲解的是二叉查找树,书中这一页有一个地方让我比较疑惑,原文是:

“如果向一棵预先排序的树输入数据,那么一连串Insert操作将花费二次时间,而链表实现的代价会非常巨大,因为此时的树将只由那些没有左儿子的节点组成。”

这里为什么是花费二次时间,这就是我的疑惑点,然后在知乎找到了答案。该回答简单理解就是,因为是预先排好序的树,所以我们可以想象我们输入的数是一组从小到大排好序的数列,然后逐个插入,那么按照这样的情况,我们每一次插入都是插入在上一个节点的右子树上面,此时这棵树就退化成了一个简单的链表,而我们知道,链表的一次插入操作的时间是O(N),那么,一连串的Insert操作自然花费的就是二次时间了。

参考:https://www.zhihu.com/question/333857802

数据结构与算法分析C语言描述第二版第79页

原文:https://www.cnblogs.com/fanlumaster/p/13755987.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!