Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 基于排序属性对数组进行排序的最佳方法_Algorithm_Sorting - Fatal编程技术网

Algorithm 基于排序属性对数组进行排序的最佳方法

Algorithm 基于排序属性对数组进行排序的最佳方法,algorithm,sorting,Algorithm,Sorting,您将获得大量数组,并且希望知道对每个数组进行排序大致需要多少步骤 步骤包括: 交换数组的第一个和第二个元素 向前旋转阵列(最后一个元素成为第一个元素) 向后旋转阵列 因此,对这些数组进行排序的默认方法是为每个数组分配一个随机数。这样,数字越大的数组进行排序的步骤越多,概率为50%。我需要做得更好!(理想情况下约为80%)这些会对数组进行排序吗?请出示example@VidorVistrom会的。以冒泡排序为例—由于他可以旋转数组,他可以有效地交换数组中的任意两个连续元素,方法是将它们移动到第

您将获得大量数组,并且希望知道对每个数组进行排序大致需要多少步骤

步骤包括:

  • 交换数组的第一个和第二个元素

  • 向前旋转阵列(最后一个元素成为第一个元素)

  • 向后旋转阵列


因此,对这些数组进行排序的默认方法是为每个数组分配一个随机数。这样,数字越大的数组进行排序的步骤越多,概率为50%。我需要做得更好!(理想情况下约为80%)

这些会对数组进行排序吗?请出示example@VidorVistrom会的。以冒泡排序为例—由于他可以旋转数组,他可以有效地交换数组中的任意两个连续元素,方法是将它们移动到第一个和第二个位置并执行交换操作。考虑到操作限制,这是否是最有效的方法还有待观察。@spug是的,它会。。我只是尝试一下,您可能希望从简单开始,因为这将给出操作的下限。您首先需要描述将用于排序数组的方法,然后才能估计需要多长时间。例如,数组内排序算法是否已经准确地知道每个元素在已排序数组中所属的位置?另外,您希望数组排名估计器花费多长时间?如果这不重要,为什么不把它们分类,看看需要多长时间?