[英]Recurrence relations, analyze algorithm
好吧,我很難完全理解遞歸關系。
因此,例如,如果我在最壞的情況下使用Θ符號分析快速排序,請為數組輸入未排序的正數;
當基本情況n <= 3時,我使用插入排序對小數組進行排序。 時間:O(1)或O(n ^ 2)?
我使用線性搜索將樞軸設置為所有元素的中位數。 時間:Θ(n)
對樞軸的左右分區並執行遞歸。 時間:我認為2 * T(n / 2)
遞歸是否為:T(n)= O(1)+Θ(n)+ 2 * T(n / 2)那么?
有人告訴我,基本情況將花費O(n ^ 2)時間,因為如果輸入足夠小,那將是最壞的情況。 那會給我遞歸嗎:T(n)= O(n ^ 2)+Θ(n)+ 2 * T(n / 2)?
將它們放在一起(假設樞軸始終是中位數,並且每次用O(N)來找到樞軸):
Best_Case = Worst_Case(因為樞軸始終為中間值)
F(3) = F(2) = F(1) = 1
F(n) = 2F(N/2) + 2N
= 2(2F(N/2^2) + 2(N/2)) + 2N
= 2(2)F(N/2^2) + 2N + 2N
= 2(3)F(N/2^3) + 3(2)N
= 2(LogN)F(N/N) + (2N)LogN
= O(NlogN)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.