给定运行时如何编写算法

时间:2016-10-03 16:57:08

标签: algorithm time-complexity

我目前正在参加算法分析课程。测验的一个问题是编写一个运算符T(n) = 4T(3n/4) + n^2的算法,算法不需要做任何重要的事情。

我找不到任何类似的例子,所以我不确定如何继续。

1 个答案:

答案 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)