我目前正在参加算法分析课程。测验的一个问题是编写一个运算符T(n) = 4T(3n/4) + n^2
的算法,算法不需要做任何重要的事情。
我找不到任何类似的例子,所以我不确定如何继续。
答案 0 :(得分:3)
为了简化如何考虑此类问题,只需使用n
元素数组来表示大小为n
的问题。
然后,运行时间T(n)
表示在阵列上运行的算法。
运行时间4T(3n/4)
表示算法在阵列的四分之三上运行四次。
运行时间n^2
代表阵列上的一些二次运算(例如,冒泡排序)。
silly_algo (arr[], n)
if n == 0 return
for i : 1..4
silly_algo(arr, 3*n/4)
bubblesort(arr, n)