|
Нужно найти элемент с номером N. Выбираете случайный элемент последовательности. Разбиваете за линейное время последовательность на две части - меньше выбранного случайного и больше. Исходя из количеств элементов в получившихся частях ищете нужный элемент в одной из частей - разумеется, новый индекс вычисляется.
Кстати, кажется можно найти медиану и за линейное время в хужшем, но алгоритм получается сложный - константа очень большая.
E-mail: info@telesys.ru