Как свести решение к задаче существования

Достаточно часто от программиста требуется найти число или структуру данных, удовлетворяющую определенным условиям. Причем не построить, а именно найти в некотором множестве. Это множество может быть задано перечислением своих элементов, или отношением между элементами, или как-то иначе. В качестве примера задачи такого рода можно привести поиск наибольшего в массиве чисел. Задача имеет очень простое решение:

Максимальное = Первому Числу Для всех чисел выполнить Если Очередное больше Максимального То Максимальное = Очередному

Однако даже эта простая задача при небольших дополнительных требованиях может стать вполне нетривиальной. Например, если потребовать за один проход множества чисел найти сразу два наибольших. Это говорит о том, что поиск данных с нужными свойствами в общем случае может оказаться задачей, требующей специального анализа.

для самостоятельного решения

Для того чтобы убедиться в том, что простая по формулировке задача может оказаться нетривиальной, напишите программу, находящую в массиве два наибольших за один проход массива.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >