【发布时间】:2017-05-17 09:12:23
【问题描述】:
我正在考虑优化当前的排序算法。为了让这个过程更快,我想到了使用线程并将数组分成两部分。使用线程同时使用插入排序对两个数组进行排序并等待它们完成。之后使用冒泡排序合并这两个数组。你觉得使用这个算法,排序会更快吗?
【问题讨论】:
-
我现在才想到这个。我今天/明天将尝试在 C# 中实现它,并将尝试自己对其进行基准测试。我很好奇,所以发布了这个问题,如果有人对此有理论上的想法
-
冒泡排序将是一个缓慢的合并。尝试对小列表进行冒泡排序,然后对它们进行归并排序。
-
@MalcolmMcLean 通过冒泡排序我的意思是假设我有两个排序数组 A [1,2,3,6,8,9,16] 和 B [4,7,10,11,13, 15]从使用插入排序获得,并且都作为线程运行。我将保留两个数组的最小值和最大值,并从最小值的最小值开始直到它适合。然后将循环直到数组中的任何一个被耗尽。
-
第二阶段称为合并,而不是冒泡排序。它类似于合并排序正在做的事情。也许您可以编辑问题以修复此术语。 《结合插入排序和合并排序》
标签: sorting optimization