Слон в Каире
Слон в Каире — это термин, используемый в компьютерном программировании для описания фрагмента данных, соответствующего критериям поиска, намеренно вставленного в конец пространства поиска, чтобы гарантировать завершение алгоритма поиска; это юмористический пример сторожевой ценности . Этот термин происходит от юмористического эссе, распространенного в Интернете и опубликованного в журнале Byte в сентябре 1989 года, в котором описывается, как представители различных профессий будут охотиться на слонов. [ 1 ]
Алгоритм
[ редактировать ]В статье описывается, как программисты охотятся на слонов, следуя такому алгоритму: [ 1 ]
- Отправляйтесь в Африку .
- Старт от мыса Доброй Надежды . [ примечания 1 ]
- Планомерно двигайтесь на север, пересекая континент поочередно на восток и запад.
- Во время каждого прохода:
- Поймайте каждое увиденное животное.
- Сравните каждое пойманное животное с известным слоном.
- Остановитесь, когда будет обнаружено совпадение.
В этом алгоритме есть ошибка, а именно ошибка проверки границ : если слоны не найдены, программист продолжит движение на север и окажется в Средиземном море, что приведет к аварийному завершению работы в результате утопления .
Таким образом, опытные программисты модифицируют приведенный выше алгоритм, помещая известного слона в Каир, чтобы гарантировать завершение работы алгоритма. [ 2 ] Таким образом, модифицированный алгоритм выглядит следующим образом:
- Отправляйтесь в Африку .
- Поместите слона в Каире .
- Старт от мыса Доброй Надежды .
- Планомерно двигайтесь на север, пересекая континент поочередно на восток и запад.
- Во время каждого прохода:
- Поймайте каждое увиденное животное.
- Сравните каждое пойманное животное с известным слоном.
- Остановитесь, когда будет обнаружено совпадение.
- Если вы находитесь в Каире, то в Африке нет слонов (кроме того, которого вы туда поместили).
См. также
[ редактировать ]Примечания
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б Олсен, Питер К. (сентябрь 1989 г.), «Прогнозирование толстокожего персонала» , Stop Bit, Byte , стр. 404
- ^ Штойбен, Майкл (1998). Двадцать лет до доски . Издательство Кембриджского университета. п. 62. ИСБН 9780883855256 .