【正文】
a”為“無(wú)效的”,所以 pos=4。 abcab c d e ?從 pos到 Right進(jìn)行 ScanA檢索 a b c a b c d e Right 主算法二(續(xù)) pos 主算法二(續(xù)) ?階段 1: ? 正向 ScanA檢索字符串“ a” a b c b c d 6 5 3 9 1 2 4 7 8 d e 編號(hào) 1 2 3 4 5 6 7 8 9 Shift 4 3 2 1 1 3 2 1 4 P P pos a b c a b c d e Right 主算法二(續(xù)) ?T=“abcabcde” ? Left = 4, Right = Left + Shift[P] = 7, P = 2 ?從 Right到 Left+1逆向進(jìn)行 ScanB ? 有“ bcd”為“有效的”,所以 pos=5。 ? ScanB將所有的 T[Left+1..Right]的字符掃描完畢的概率并不大,可以證明平均復(fù)雜度: )log( 26???nO算法總結(jié) ——啟示 1 ? 的使用 ? 變大 —— ? ScanA將很難退出,平均復(fù)雜度變大! ? 變小 —— ? RightLeft的差變小, ScanB的 pos回到 Left+1的可能性變大,平均復(fù)雜度變大! 2?32?3?中間值! 算法總結(jié) ——啟示 2 ?優(yōu)劣得所的思想 ?算術(shù)平均數(shù) —— 本算法 ?幾何平均數(shù) —— Editor塊狀鏈表 ? 不斷更新的數(shù)組 A[1..10000],求max{A[1..i]} ? 更新: O(10000)。取值: O(100) 啟示 ?一條鐵鏈的強(qiáng)度,決定于最弱的鐵環(huán)的強(qiáng)度 一個(gè)水桶的水量,決定于最短的竹片的長(zhǎng)度 ?在算法 深度 達(dá)到一定程度的前提下,我們應(yīng)該將算法的 廣度 拓寬, 多種算法 并用,從 最弱的點(diǎn) 找到解決問(wèn)題的