📜  在线算法

📅  最后修改于: 2021-04-26 10:41:22             🧑  作者: Mango

在线算法是一种可以按串行方式逐个处理其输入的算法,即,按顺序将输入馈送到算法,而无需从一开始就获得整个输入。

相反,离线算法从一开始就提供了整个问题数据,并且需要输出一个解决当前问题的答案。

例如,考虑排序算法选择排序插入排序

选择排序算法通过从未排序部分重复查找最小元素(考虑升序)并将其放在开头来对数组进行排序。这需要访问整个输入;因此,它是一种离线算法。另一方面,插入排序每次迭代都考虑一个输入元素,并产生了部分解决方案,而没有考虑将来的元素。因此,插入排序是一种在线算法。

在线算法示例(插入排序):

由于在线算法不了解全部输入,因此可能会做出一些决定,但后来发现这些决定并不是最优的,
请注意,插入排序会产生最佳结果。因此,对于许多问题,在线算法无法与离线算法的性能匹敌。

在线算法示例如下:
1.插入排序
2.感知器
3.储层采样
4.贪婪算法
5.对手模型
6.公制任务系统
7.赔率算法

在线问题:有许多问题可以提供多种在线算法作为解决方案:
1.加拿大旅行者问题
2.线性搜索问题
3. K服务器问题
4.作业车间调度问题
5.列表更新问题
6.土匪问题
7.秘书问题

参考 :
https://zh.wikipedia.org/wiki/在线算法