什么算法在添加新数字时保持数字的排序

2024-05-14 08:51:51 发布

您现在位置:Python中文网/ 问答频道 /正文

在不断添加新数字的同时,保持数字排序的好算法是什么?有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

谢谢你!你知道吗


Tags: in算法logget排序toporder数字

热门问题