在不断添加新数字的同时,保持数字排序的好算法是什么?有Python内置的库吗?你知道吗
我的想法是自平衡二叉搜索树
Insert: O(log(n))
Get top k numbers: O(k) do in-order travel
Get all sorted numbers: O(n) do in-order travel
二进制堆也可以工作,但速度较慢
Insert: O(log(n))
Get top k numbers: O(k*log(n)) pop out k numbers
Get all numbers: O(n*log(n)) pop out all
谢谢你!你知道吗
我看了built-in ones,似乎没有解决办法。你知道吗
但是sortedmap module提供了请求的功能,并且基于std::map(red-black tree)。你知道吗
相关问题 更多 >
编程相关推荐