Я могу использовать алгоритм выбора медианы медиан, чтобы найти медиану в O (n). Кроме того, я знаю, что после выполнения алгоритма все элементы слева от медианы меньше медианы, а все элементы справа больше медианы. Но как мне найти k ближайших соседей к медиане за O (n) время?
Если медиана равна n, цифры слева меньше n, а цифры справа больше n.
Однако массив не сортируется ни по левой, ни по правой стороне. Числа - это любой набор отдельных чисел, данных пользователем.
Проблема из «Введение в алгоритмы» по Кормену, проблема 9.3-7