两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

本章淺談一下在線算法,當(dāng)然,說到在線算法會想到離線算法,這兩個概念都會提到,幫助大家理解。


(一)在線算法

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

因為在線算法并不知道整個的輸入,所以它被迫做出的選擇最后可能會被證明不是最優(yōu)的,對在線算法的研究主要集中在當(dāng)前環(huán)境下怎么做出選擇。對相同問題的在線算法和 離線算法的對比分析形成了以上觀點。如果想從其他角度了解在線算法可以看一下 流算法(關(guān)注精確呈現(xiàn)過去的輸入所使用的內(nèi)存的量),動態(tài)算法(關(guān)注維護一個在線輸入的結(jié)果所需要的 時間復(fù)雜度)和在線機器學(xué)習(xí)。

一個很好的展示在線算法概念的例子是加拿大旅行者問題,這個問題的目標(biāo)是在一個有權(quán)圖中以最小的代價到達一個目標(biāo)節(jié)點,但這個有權(quán)圖中有些邊是不可靠的,可能已經(jīng)被剔除。然而一個旅行者只有到某個邊的一個端點時才能確定該邊是否已經(jīng)被移除了。最壞情況下,該問題會變得簡單,即所有的不確定的邊都被移除該問題將會變成通常的最短路徑問題。


(二)離線算法

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


在計算機科學(xué)中,在線算法是一種處理輸入數(shù)據(jù)的獨特形式,其演算過程中并不要求所有輸入數(shù)據(jù)在算法開始運始之一刻即完備,反而可對逐步輸入的數(shù)據(jù)加以處理并在輸入完最后一項數(shù)據(jù)之后輸出運算結(jié)果。與之相對的稱為離線算法,則假設(shè)輸入數(shù)據(jù)在運算開始前已完備。舉例:選擇排序是離線算法,而插入排序則為在線算法。

注意:插入排序始終生成一個最優(yōu)的結(jié)果,也就是說一個正確排序的列表。然而對于很多問題,在線算法的性能比不上離線算法(即無法獲取最優(yōu)的結(jié)果)。如果對于同一個問題的在線算法和最優(yōu)化的離線算法的性能比率是有界的,那么這個在線算法被稱作是competitive。

并非所有在線算法都有與之對應(yīng)的離線算法。


點贊(1)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點擊了解:

一點編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進階課程

從零到寫出一個爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程

手把手講解近五年真題的藍橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運行等待時間)