算过程中并不要求所有输入资料在演算法开始运始之一刻即完备，反而可对逐步输入的资料加以处理并在输入完最后一项资料之后输出运算结果。与之相对的称为离线演算法，则假设输入资料在运算开始前已完备。举例：选择排序是离线演算法，而插入排序则为线上演算法。注意：插入排序始终生成一个最优的结果，也就是说一个正确排序的列表。然而对于很多问题，线上演算法的性能比不上离线算法（即无法取得最优的结果）。如果对于同一个问题的在线算法和最优化的离线算法的性能比率是有界的，那么这个在线算法被称作是competitive。并非所有