如果滿足某些條件,則計數排序可按線性時間排序。構建一個 序列A = < a1; :::; a10> n = 10個數字,其中計數排序需要theta(n^7)時間。解釋你的選擇。計數排序 - 我知道它是如何工作的,但無法解決它
我的方法;
如果我選擇A = [0,0,0,1,2,3,4,5,6,2],其中n = 10 C new將是[3,4,6,7,8 ,9,10]和B = [0,0,0,1,2,2,3,4,5,6] 這是如何計算排序工作(根據講座),但我如何證明它有運行時間n次方7?通過根據僞碼計算每個步驟的運行時間,然後添加?
看起來像一個問題給你張貼在這裏。 – nullpointer
是的,因爲我知道如何計數排序工作,我試着使用如下; 如果我選擇A = [0,0,0,1,2,3,4,5,6,2],其中n = 10 C new將是[3,4,6,7,8,9, 10]和B = [0,0,0,1,2,2,3,4,5,6] 這是如何計算排序工作(根據講座),但我如何證明它已運行n次冪7?通過根據僞碼計算每個步驟的運行時間,然後添加? –
這個問題似乎是不可能解決的,因爲Theta符號在極限中將運行時限作爲n的函數進行討論,所以在運行時爲Theta(n^7)的情況下,應該有固定n和固定序列。對於任何固定的大小和順序,運行時間爲O(1)。 – templatetypedef