Задание

Для приведенного ниже кода, найдите асимптотику \(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)\)