Tekkaman

导航

 

设计一个数据结构,包含两个函数,1.插入一个数字,2.获得中数

  设计一个数据结构,包含两个函数,1.插入一个数字,2.获得中数。并估算时间复杂度。

解法:

  使用大根堆和小根堆存储。 使用大根堆存储较小的一半数字,使用小根堆存储较大的一半数字。 插入数字时,在O(logn)时间内将该数字插入到对应的堆当中。当两边个数差大于1时,从多的一边取头上的数加入另一边,以维持平衡。 获取中数时,在O(1)时间内找到中数。

posted on 2013-07-16 12:51  Tekkaman  阅读(334)  评论(0编辑  收藏  举报