最有效的方法来实时排序

Met*_*est 0 c sorting data-structures

可能重复:
如何在添加数据时对数据进行排序,而不是以后?

我需要动态排序数据.基本上我有一个数组将插入元素.每次插入后,都应对数据进行排序.实现这一目标的最快方法是什么?

Fre*_*Foo 6

实现此目的的最快方法是删除数组并使用二叉​​搜索树代替O(lg n)排序插入.使用数组时,由于需要平均移动n/2个元素,因此总是会遇到线性时间插入问题.

编辑:您也可以使用而不是BST; 可以用数组实现.但是,对于二进制堆,迭代将花费O(n lg n),而在线程BST中,可以在O(n)时间内使用O(1)额外内存完成迭代.