Нет лучшего способа выбрать точку поворота, чем выбрать средний элемент списка в качестве нашей точки.
Почему?
Идеальный способ найти точку поворота для списка чисел это найти точку поворота случайно. Однако дополнительный процесс рандомизации потребует дополнительной временной или пространственной сложности.
Что, если мы просто выберем первый элемент в качестве основного и скажем, что это как-то "случайно" для списка? Если список уже отсортирован и выбран первый элемент в качестве сводного, алгоритм сгенерирует, чтобы иметь временную сложность O (n ^ 2) вместо нашего среднего времени O (nlogn).
Поэтому, чтобы гарантировать, что дополнительная временная сложность не используется и не вырождается наш алгоритм. Самое быстрое, простое и распространенное решение - использовать средний элемент списка в качестве нашего центра. Если это так, мы можем гарантировать, что наш алгоритм O (nlogn). В этот момент нашему алгоритму будет крайне трудно вырождаться, если только он не упорядочен так, чтобы вырождаться.