One-pass algorithm explained

In computing, a one-pass algorithm or single-pass algorithm is a streaming algorithm which reads its input exactly once. It does so by processing items in order, without unbounded buffering; it reads a block into an input buffer, processes it, and moves the result into an output buffer for each step in the process. A one-pass algorithm generally requires O(n) (see 'big O' notation) time and less than O(n) storage (typically O(1)), where n is the size of the input. An example of a one-pass algorithm is the Sondik partially observable Markov decision process.

Example problems solvable by one-pass algorithms

Given any list as an input:

Given a list of numbers:

Given a list of symbols from an alphabet of k symbols, given in advance.

Example problems not solvable by one-pass algorithms

Given any list as an input:

Given a list of numbers:

The two-pass algorithms above are still streaming algorithms but not one-pass algorithms.

References

[1] [2] [3]

Notes and References

  1. Web site: Schweikardt. Nicole. One-Pass Algorithm. 2021-07-01.
  2. Web site: Pollett. Chris. 2005-03-14. One and Two Pass Algorithms. 2021-07-01.
  3. Web site: Sondik's One-Pass Algorithm. www.pomdp.org.