Английская Википедия:Elephant in Cairo
Шаблон:Short description An elephant in Cairo is a term used in computer programming to describe a piece of data that matches the search criteria purposefully inserted at the end of a search space, in order to make sure the search algorithm terminates; it is a humorous example of a sentinel value. The term derives from a humorous essay circulated on the Internet that was published in Byte magazine on September 1989, describing how various professions would go about hunting elephants.[1]
Algorithm
When hunting elephants, the article describes programmers as following this algorithm:[1]
- Go to Africa.
- Start at the Cape of Good Hope.[notes 1]
- Work northward in an orderly manner, traversing the continent alternately east and west,
- During each traverse pass:
- Catch each animal seen.
- Compare each animal caught to a known elephant.
- Stop when a match is detected.
This algorithm has a bug, namely a bounds checking error: if no elephants are found, the programmer will continue northwards and end up in the Mediterranean sea, causing abnormal termination by drowning.
Thus experienced programmers modify the above algorithm by placing a known elephant in Cairo to ensure that the algorithm will terminate.[2] The modified algorithm is therefore as follows:
- Go to Africa.
- Put an elephant in Cairo.
- Start at the Cape of Good Hope.
- Work northward in an orderly manner, traversing the continent alternately east and west,
- During each traverse pass:
- Catch each animal seen.
- Compare each animal caught to a known elephant.
- Stop when a match is detected.
- If you are in Cairo, then there are no elephants in Africa (other than the one you placed there).
See also
Notes
References
External links
Ошибка цитирования Для существующих тегов <ref>
группы «notes» не найдено соответствующего тега <references group="notes"/>