用于分发的最有效数据结构

Most efficient data structure to use for distributions

用例:

你可以使用什么数据结构来完成这项工作?


我的想法是向量可以工作,但对于插入和检索可能不是最有效的。

设想:保持数组有序。如果用户要求满足分布的 30% 的最低元素,则执行 array.length * 0.7,并 return 该元素。


我肯定会选择二叉树,它可以很好地对数据进行排序,并且可以让你相对快速地找到你想要的东西。

数组适用于插入或特定索引,但任何时候搜索键时,最坏的情况都是 O(n),这并不好。

二叉树的搜索算法为 O(log(n)),速度明显更快。