Fencepost error

1. (Rarely “lamp-post error”) A problem with the discrete equivalent of a boundary condition, often exhibited in programs by iterative loops. From the following problem: “If you build a fence 100 feet long with posts 10 feet apart, how many posts do you need?” (Either 9 or 11 is a better answer than the obvious 10).
For example, suppose you have a long list or array of items, and want to process items m through n; how many items are there? The obvious answer is n – m, but that is off by one; the right answer is n – m + 1. The “obvious” formula exhibits a fencepost error.
See also zeroth and note that not all off-by-one errors are fencepost errors. The game of Musical Chairs involves a catastrophic off-by-one error where N people try to sit in N – 1 chairs, but it’s not a fencepost error. Fencepost errors come from counting things rather than the spaces between them, or vice versa, or by neglecting to consider whether one should count one or both ends of a row.
2. (Rare) An error induced by unexpected regularities in input values, which can (for instance) completely thwart a theoretically efficient binary tree or hash coding implementation. The error here involves the difference between expected and worst case behaviours of an algorithm.
[Jargon File]


Read Also:

  • Fencer

    [fen-ser] /ˈfɛn sər/ noun 1. a person who practices the art of with a sword, foil, etc. 2. a person who . 3. a horse trained to jump barriers, as for show or sport. 4. Australian. a person who builds or repairs . /ˈfɛnsə/ noun 1. a person who fights with a sword, esp one […]

  • Fencerow

    [fens-roh] /ˈfɛnsˌroʊ/ noun 1. the uncultivated land on each side of and below a fence. 2. any uncultivated strip of land within a field, farm, etc.

  • Fence-sitter

    [fens-sit-er] /ˈfɛnsˌsɪt ər/ noun 1. a person who remains neutral or undecided in a controversy.

  • Fence-straddler

    noun Mugwump (1940s+)

Disclaimer: Fencepost error definition / meaning should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional. All content on this website is for informational purposes only.