Top Qs
Timeline
Chat
Perspective
Elephant in Cairo
Term used in computer programming From Wikipedia, the free encyclopedia
Remove ads
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 in September 1989, describing how various professions would go about hunting elephants.[1]
Remove ads
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).
Remove ads
See also
Notes
- The Cape of Good Hope has been traditionally believed to be Africa's southernmost point, but that is actually Cape Agulhas.
References
External links
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads