Меня попросили сформировать рекуррентное уравнение из рекурсивной функции и решить его для T (n).Эта функция делит массив из ? элементов на две половины;найти наибольшее значение каждой половины, а затем возвращает наибольшее из двух.Однако у меня возникли некоторые затруднения с пониманием того, как из этой функции составить рекуррентное уравнение.
Я рассматривал некоторые подобные вопросы здесь и в других местах в Интернете, и, как мне кажется, я понял эту функциювыполняет два рекурсивных вызова и разбивает данные на 2 каждый раз, а размер должен быть = n, однако я не уверен относительно других элементов функции и того, как правильно их записать.
?????ℎ???(?[], ????????, ????)
{
?? (???? == 1)
?????? A[????????];
???1 = ?????ℎMax(?[], ????????, ⌊????/2⌋);
???2 = ?????ℎMax(?[], ???????? + ⌊????/2⌋, ???? − ⌊????/2⌋);
if (???1 ≥ ???2)
?????? ???1;
????
?????? ???2;
}