2016-10-10 08:59发布
n个数,要求插入,查找最大最小值,删除最大最小值的时间复杂度都限制在O(log2n),应该用什么算法和数据结构?
楼上两个答案的出发点不同。
使用平衡二叉树
用C++ STL里的set
set
而线段树可以求出区间最大或者最小值,不需要重新排序。没有现成的数据结构可用,你可以自己写个模板。
平衡二叉树可以做到,但是原序列会被排序。在C++中,set 和 map 都可以满足要求。
线段树可解 ...
最多设置5个标签!
付费偷看金额在0.1-10元之间
楼上两个答案的出发点不同。
使用平衡二叉树
用C++ STL里的
set
而线段树可以求出区间最大或者最小值,不需要重新排序。
没有现成的数据结构可用,你可以自己写个模板。
平衡二叉树可以做到,但是原序列会被排序。
在C++中,set 和 map 都可以满足要求。
线段树可解 ...
一周热门 更多>