在查找最近點對在O(nlgn)時間的運行時間,僞代碼,用於分離一個已排序列表分成兩個已排序的列表( CLRS第三版第1043頁)據說在O(n)時間運行。最近對點(CLRS皮克1043)的:分割一個排序後的數組分成兩個有序陣列
然而,這種假設線在固定時間內4次運行,我覺得很難相信(我假設它在O(LGN運行)時,如果它被存儲爲二進制樹,給總的運行時間爲O(nlgn)
Y是一個有序的數組,YL和YR是兩個新的子數組,PL是Y的隨機序列子集,YL是相同的子集,但是在排序順序
我在哪裏出錯我的推理?
將Y的元素添加到PL時,將其標記爲屬於PL。 (只是猜測,我不知道PL是如何形成的)。 –
如果PL製作得像合理的hashmap/hashset,預期的查找平均時間可以是O(1),但最壞的情況是另一回事...... –
@AlexanderAnikin我們實際上正在處理大O符號的最壞情況。 –