Что случится со временем выполнения алгоритма рандомизированного выбора, если мы изменим строку 8 в коде с q-1 на q на странице книги CLRS 216?
Я обнаружил, что алгоритм все еще должен работать и не долженНе должно быть никаких изменений во времени выполнения, поскольку это зависит только от подпрограммы RANDOMIZED PARTITION. Это правда?
Randomized-Select (A,p,r,i)
// Finds the ith smallest value in A[p .. r].
if (p = r)
return A[p]
q = Randomized-Partition(A,p,r)
k = q-p+1 // k = size of low side + 1 (pivot)
if (i = k)
return A[q]
else if (i<k)
return Randomized-Select(A,p,q-1,i)
else
return Randomized-Select(A,q+1,r,i-k)