在线算法和离线算法的概念
来源:互联网 发布:最新网络词汇 编辑:程序博客网 时间:2024/05/17 02:52
一、在线算法
在计算机科学中,一个在线算法是指它可以以序列化的方式一个个的处理输入,也就是说在开始时并不需要已经知道所有的输入。相对的,对于一个离线算法,在开始时就需要知道问题的所有输入数据,而且在解决一个问题后就要立即输出结果。例如,选择排序在排序前就需要知道所有待排序元素,然而插入排序就不必。
因为在线算法并不知道整个的输入,所以它被迫做出的选择最后可能会被证明不是最优的,对在线算法的研究主要集中在当前环境下怎么做出选择。对相同问题的在线算法和离线算法的对比分析形成了以上观点。如果想从其他角度了解在线算法可以看一下 流算法(关注精确呈现过去的输入所使用的内存的量),动态算法(关注维护一个在线输入的结果所需要的时间复杂度)和在线机器学习。
一个很好的展示在线算法概念的例子是加拿大旅行者问题,这个问题的目标是在一个有权图中以最小的代价到达一个目标节点,但这个有权图中有些边是不可靠的,可能已经被剔除。然而一个旅行者只有到某个边的一个端点时才能确定该边是否已经被移除了。最坏情况下,该问题会变得简单,即所有的不确定的边都被移除该问题将会变成通常的最短路径问题。
二、离线算法
离线算法设计策略都是基于在执行算法前输入数据已知的基本假设,也就是说,对于一个离线算法,在开始时就需要知道问题的所有输入数据,而且在解决一个问题后就要立即输出结果,通常将这类具有问题完全信息前提下设计出的算法成为离线算法。
- 在线算法和离线算法的概念
- 在线算法和离线算法
- RMQ的在线和离线算法
- 推荐引擎的离线算法和在线算法初探
- LCA最近公共祖先 在线算法和离线算法 模板
- LCA最近公共祖先的离线算法(Tarjan)和在线算法(ST)
- hdu 2586 How far away ? lca 在线和离线算法
- 辨析离线算法与在线算法
- 辨析离线算法与在线算法
- POJ1986-LCA问题的在线离线两种算法
- 算法基础 - 最近公共祖先(在线算法/离线算法)
- LCA算法模板(离线算法,在线算法)
- 数据结构 和 算法 的概念
- LCA的离线算法
- 算法的离线评估
- LCA的离线算法(Tarjan)与在线算法(RMQ)详解
- 【伯乐在线】编程面试的10大算法概念汇总
- 在线算法与离线算法(online or offline)
- (27)FTP:文件传送协议
- 感受营销的乐趣(二)--从知乎的黄继新上非诚勿扰说起
- (28)SMTP:简单邮件传送协议
- (29)网络文件系统
- Linux的硬链接和软连接(符号链接)
- 在线算法和离线算法的概念
- URAL 1976 Game Optimization
- 今天开通博客,写篇文章,以此明志
- Thinking in Java(第四版)习题--第七章
- ubuntu13.04安装VM
- ubuntu 13.10 下查看软件信息等命令
- 二叉树的非递归后序遍历算法
- CPU,MPU,MCU,SOC,SOPC联系与差别
- rnqoj-82-又上锁妖塔-dp