Tag: sorting

根据第二个参数sorting元组

我有一个看起来像这样的元组列表: ("Person 1",10) ("Person 2",8) ("Person 3",12) ("Person 4",20) 我想要的是按照元组的第二个值升序排列的列表。 所以L [0]应该是("Person 2", 8)sorting后。 我怎样才能做到这一点? 使用Python 3.2.2如果有帮助。

Quicksort vs heapsort

快速sorting和堆sorting都可以进行sorting。 哪个更好? 什么是优先的应用和案例?

`sorted(list)`和`list.sort()`有什么区别? python

list.sort()对列表进行sorting并保存已sorting的列表,而sorted(list)返回已sorting的列表而不更改原始列表。 但是什么时候用哪个? 哪个更快? 还有多快? 列表的原始位置可以检索list.sort() ?

从列表中获取随机样品,同时保持项目的顺序?

我有一个sorting的列表,让我们说:(它不是真的只是数字,它是一个耗时的algorithmsorting的对象列表) mylist = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,9 , 10 ] 有没有一些Python函数会给我N的项目,但会保持顺序? 例: randomList = getRandom(mylist,4) # randomList = [ 3 , 6 ,7 , 9 ] randomList = getRandom(mylist,4) # randomList = [ 1 , 2 , 4 , 8 ] 等等…

用什么字符将项目放在字母表的末尾?

我经常在第一个位置上添加“ _ ”到我想要的项目。 是否有某种我可以用来把项目放在列表最后的魔法字符? 比“z_item”更优雅的东西。 从 _custom folder1 _custom folder2 收件箱 发送框 垃圾邮件文件夹 至 收件箱 发送框 垃圾邮件文件夹 [?]自定义文件夹1 [?]自定义folder2 是的,这是COT-ISH。

按键对字典进行sorting

我有一个像C#中的字典 Dictionary<Person, int> 我想对字典进行sorting(Person类中的字段)。 我该怎么做? 在互联网上的每一个可用的帮助是列表没有特定的例子就地sorting字典。 任何帮助将不胜感激!

对已知统计分布的数据进行sortingalgorithm?

我想到,如果你知道有关要分类的数据的分布情况(从统计angular度来说),那么如果考虑到这些信息,sortingalgorithm的性能可能会受益。 所以我的问题是,有没有任何sortingalgorithm考虑到这种信息? 他们有多好? 编辑:一个例子来澄清:如果你知道你的数据的分布是高斯,你可以估计平均和平均在你处理数据。 这会给你估计每个数字的最终位置,你可以用它们把它们放在最后的位置。 编辑#2:我很惊讶的答案是不是一个维基链接到通话页面讨论这个问题。 这不是一个很常见的情况(例如高斯情况)? 编辑#3:我为这个问题增加了一个赏金,因为我正在寻找来源的确切答案,而不是猜测。 就像“在高斯分布数据的情况下,XYZalgorithm平均速度最快,正如史密斯等人所certificate的那样[1]”。 但是,欢迎任何其他信息。 请注意 :我将奖励最高票数的答案。 投票明智!

添加到集合然后对其进行sorting还是添加到已sorting的集合?

如果我有这样的Map : HashMap<Integer, ComparableObject> map; 我想获得使用自然顺序sorting的值的集合,哪种方法最快? (一个) 创build像ArrayList这样的可sorting集合的实例,添加值,然后对其进行sorting: List<ComparableObject> sortedCollection = new ArrayList<ComparableObject>(map.values()); Collections.sort(sortedCollection); (B) 创build一个有序集合(如TreeSet的实例,然后添加值: Set<ComparableObject> sortedCollection = new TreeSet<ComparableObject>(map.values()); 请注意,生成的集合永远不会被修改,所以sorting只需要进行一次。

使用命令行工具对sorting序列中的重复项进行计数

我有一个命令(cmd1),通过日志文件greps过滤出一组数字。 数字是随机的顺序,所以我使用sort -gr来获得一个反向sorting的数字列表。 这个sorting列表中可能有重复。 我需要find该列表中每个唯一编号的计数。 例如,如果cmd1的输出是: 100 100 100 99 99 26 25 24 24 我需要另一个命令,我可以pipe上述输出,所以,我得到: 100 3 99 2 26 1 25 1 24 2

sorting一个几乎sorting的数组(元素错位不超过k)

最近我被问到这个面试问题: 你得到一个几乎sorting好的数组,因为N元素中的每一个都可能被正确的sorting顺序放错位置不超过k位置。 查找空间和时间高效的algorithm来对数组进行sorting。 我有一个O(N log k)解决scheme如下。 让我们用arr[0..n)表示从索引0 (含)到N (独占)的数组元素。 sortingarr[0..2k) 现在我们知道arr[0..k)处于最后的sorting位置了… …但是arr[k..2k)仍然可能被k放错位置! sortingarr[k..3k) 现在我们知道arr[k..2k)处于最后的sorting位置了… …但是arr[2k..3k)仍然可能被k放错了位置 sortingarr[2k..4k) …. 直到你sortingarr[ik..N) ,那么你就完成了! 当您剩余的元素less于2k时,最后一步可能比其他步骤便宜 在每个步骤中,您最多可以sortingO(k log k) 2k元素,每个步骤结束时至less将k元素放在最终的sorting位置。 有O(N/k)步,所以总的复杂度是O(N log k) 。 我的问题是: O(N log k)最优的吗? 这可以改善吗? 你能不能(部分)重新sorting相同的元素?