我是算法的新手,所以如果这听起来很基础或愚蠢,请原谅我。
我想知道这个:不是将数据添加到某种列表中然后对列表进行排序,有没有一种方法(数据结构+算法)可以让我在添加自身时对数据进行排序,或者换句话说,将数据插入到适当的位置?
例如:如果我想将'3'添加到{1,5,6},而不是在开始或结束时添加它然后对列表进行排序,我希望'3'直接在'1'之后".
谢谢
最佳答案
如果您使用二叉搜索树而不是数组,排序将“自动”进行,因为它已经由节点的插入方法完成。所以二叉树总是有序的,而且很容易遍历。唯一的问题是,当您已经(或多或少)对数据进行排序时,树会变得不平衡(这就是红黑树和其他变体发挥作用的地方)。
关于algorithm - 如何在添加时对数据进行排序,而不是稍后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5831558/