Задание
right = nums
merge_sort\(left\)
merge_sort\(right\)
i = j = k = 0
while i < len\(left\) and j < len\(right\):
if left
nums
i+=1
else:
nums
j+=1
k+=1
while i < len\(left\):
nums
i+=1
k+=1
while j < len\(right\):
nums
j+=1
k+=1
Для приведенного ниже кода, найдите асимптотику \(PYTHON\):
def merge_sort\(nums\):
if len\(nums\) > 1:
mid = len\(nums\)//2
left = nums
\[:mid\]
right = nums
\[mid:\]
merge_sort\(left\)
merge_sort\(right\)
i = j = k = 0
while i < len\(left\) and j < len\(right\):
if left
\[i\]
< right\[j\]
:nums
\[k\]
= left\[i\]
i+=1
else:
nums
\[k\]
= right\[j\]
j+=1
k+=1
while i < len\(left\):
nums
\[k\]
= left\[i\]
i+=1
k+=1
while j < len\(right\):
nums
\[k\]
= right\[j\]
j+=1
k+=1
Определите асимптотику данного алгоритма.
- \(O(n\cdot (log\ n))\)
- \(O(1)\)
- \(O( \sqrt n)\)
- \(O(n)\)
- \(O(log\ n)\)
- Правильного ответа нет
- \(O(n^3)\)
- \(O(n^2)\)