
1. 在线问题决策时未掌握全部实例信息已做的决策在更多信息呈现后不可更改。2. 离线问题实例在决策前全部已知的问题。3. 在线算法可以以序列化的方式一个个的处理输入也就是说在开始时并不需要已经知道所有的输入。相对的对于一个离线算法在开始时就需要知道问题的所有输入数据而且在解决一个问题后就要立即输出结果。例如选择排序在排序前就需要知道所有待排序元素然而插入排序就不必。因为在线算法并不知道整个的输入所以它被迫做出的选择最后可能会被证明不是最优的对在线算法的研究主要集中在当前环境下怎么做出选择。对相同问题的在线算法和离线算法的对比分析形成了以上观点。如果想从其他角度了解在线算法可以看一下 流算法关注精确呈现过去的输入所使用的内存的量动态算法关注维护一个在线输入的结果所需要的时间复杂度和在线机器学习。一个很好的展示在线算法概念的例子是加拿大旅行者问题这个问题的目标是在一个有权图中以最小的代价到达一个目标节点但这个有权图中有些边是不可靠的可能已经被剔除。然而一个旅行者只有到某个边的一个端点时才能确定该边是否已经被移除了。最坏情况下该问题会变得简单即所有的不确定的边都被移除该问题将会变成通常的最短路径问题。4. 离线算法离线算法设计策略都是基于在执行算法前输入数据已知的基本假设也就是说对于一个离线算法在开始时就需要知道问题的所有输入数据而且在解决一个问题后就要立即输出结果通常将这类具有问题完全信息前提下设计出的算法成为离线算法。参考文献在线算法和离线算法的概念 - daiyl0320 - 博客园