algorithm - 如何在添加时对数据进行排序,而不是稍后?

标签 algorithm sorting data-structures

我是算法的新手,所以如果这听起来很基础或愚蠢,请原谅我。

我想知道这个:不是将数据添加到某种列表中然后对列表进行排序,有没有一种方法(数据结构+算法)可以让我在添加自身时对数据进行排序,或者换句话说,将数据插入到适当的位置?

例如:如果我想将'3'添加到{1,5,6},而不是在开始或结束时添加它然后对列表进行排序,我希望'3'直接在'1'之后".

谢谢

最佳答案

如果您使用二叉搜索树而不是数组,排序将“自动”进行,因为它已经由节点的插入方法完成。所以二叉树总是有序的,而且很容易遍历。唯一的问题是,当您已经(或多或少)对数据进行排序时,树会变得不平衡(这就是红黑树和其他变体发挥作用的地方)。

关于algorithm - 如何在添加时对数据进行排序,而不是稍后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5831558/

相关文章:

java - findMin 惰性删除二叉搜索树

algorithm - 常分区快速排序算法

python - 为什么 Python 返回 None 而不是值

algorithm - 平面上距离最小的所有最接近的点对

algorithm - 未排序数组中的最大间隙

java - 无法使用 Collections(Java) 对文件名将包含时间戳的文件列表进行排序

arrays - 检查方阵是否满秩的最有效方法

java - 如何使用从数据库检索的值创建 HashMap?

javascript - 按嵌套属性对对象的对象进行排序

java - 如何查看 java.util.PriorityQueue 的尾部?