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_Time Complexity_Mergesort_Recurrence - Fatal编程技术网

Algorithm 合并排序的重复-需要解释吗

Algorithm 合并排序的重复-需要解释吗,algorithm,sorting,time-complexity,mergesort,recurrence,Algorithm,Sorting,Time Complexity,Mergesort,Recurrence,这是合并排序过程的最坏情况运行时间T(n)的重复 什么是T? 为什么2T(n/2)? O(n)用于哪个操作 为了简单起见,假设n是2的幂,因此每个除法步骤产生两个子问题,两个子问题的大小都正好是n/2 基本情况发生在n=1时 当n≥ 2、合并排序步骤的时间: 除法:只需计算q作为p和r的平均值,这需要恒定的时间,即Θ(1) 为什么是2T(n/2) 征服:递归求解2个子问题,每个子问题的大小为n/2,即2T(n/2) O(n)是针对哪个操作的 合并:在n元素子阵列上合并需要花费Θ(n)个时间 它

这是合并排序过程的最坏情况运行时间T(n)的重复

什么是T?

为什么2T(n/2)?

O(n)用于哪个操作


为了简单起见,假设n是2的幂,因此每个除法步骤产生两个子问题,两个子问题的大小都正好是n/2

基本情况发生在n=1时

当n≥ 2、合并排序步骤的时间:

除法:只需计算q作为p和r的平均值,这需要恒定的时间,即Θ(1)

为什么是2T(n/2)

征服:递归求解2个子问题,每个子问题的大小为n/2,即2T(n/2)

O(n)是针对哪个操作的

合并:在n元素子阵列上合并需要花费Θ(n)个时间

它们加在一起就得到了一个n为线性的函数,即Θ(n)。因此,合并排序运行时间的重复周期为