在線算法和離線算法

離線算法

算法設計策略都是基於在執行算法前輸入數據已知的基本假設,也就是說,對於一個離線算法,在開始時就需要知道問題的所有輸入數據,而且在解決一個問題後就要立即輸出結果,通常將這類具有問題完全信息前提下設計出的算法成爲離線算法( off line algorithms)

 

例題可供參考

http://blog.csdn.net/xj2419174554/article/details/10238557

http://blog.csdn.net/xj2419174554/article/details/9567989

在線算法

在計算機科學中,一個在線算法是指它可以以序列化的方式一個個的處理輸入,也就是說在開始時並不需要已經知道所有的輸入。相對的,對於一個離線算法,在開始時就需要知道問題的所有輸入數據,而且在解決一個問題後就要立即輸出結果。例如,選擇排序在排序前就需要知道所有待排序元素,然而插入排序就不必。

因爲在線算法並不知道整個的輸入,所以它被迫做出的選擇最後可能會被證明不是最優的,對在線算法的研究主要集中在當前環境下怎麼做出選擇。對相同問題的在線算法和離線算法的對比分析形成了以上觀點。如果想從其他角度瞭解在線算法可以看一下 流算法(關注精確呈現過去的輸入所使用的內存的量),動態算法(關注維護一個在線輸入的結果所需要的時間複雜度)和在線機器學習。

 

轉自:http://blog.csdn.net/xiaofengcanyuexj

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章