查看: 2101|回复: 3
收起左侧

给定序列,判断是否为BST后续遍历结果

|只看干货 |刷题
头像被屏蔽

分享帖子到朋友圈
wwwyhx | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

上一篇:google : Organize football tournament
下一篇:Microsoft : Excel 列的编号
darksteel 2011-5-24 09:12:39 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (32)
 
 
0% (0)    👎
最后一个节点a[n]一定是根节点。是后序遍历的结果的充要条件是:前面的数组可以分为小于a[i]和大于a[i]的两部分,并且分别都是后序遍历的结果。所以可以用O(n)来判断是否能分成两部分,再递归判断剩下的两部分,T(n)=T(k)+T(n-k)+O(n),这个应该和快排的复杂度是一样的,O(nlogn)期望,O(n^2) worst case。我相信利用二分可以将上式变为T(n)=T(k)+T(n-k)+O(logn),但需要非常小心来保证正确性。
回复

使用道具 举报

头像被屏蔽
 楼主| wwwyhx 2011-5-26 22:07:16 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
 楼主| wwwyhx 2011-5-28 14:14:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

隐私提醒:
■拉群请前往同学同事飞友|拉群结伴版块,其他版块拉群,帖子会被自动删除
■论坛不能删帖,为防止被骚扰甚至人肉,不要公开留微信等联系方式,请以论坛私信方式发送。
■特定版块可以超级匿名:https://tools.1point3acres.com/thread
■其他版块匿名方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

>
快速回复 返回顶部 返回列表