时间复杂度 2n^2
Time complexity 2n^2
我有一个时间复杂度为 2n^2 的算法,在某些机器上执行它需要 x 时间。问题是:如果我的机器快 32 倍并且时间保持不变,它将处理多少数据?
ty <3
实际上,这个问题没有任何意义,因为复杂性并不能确定确切的运行时间、操作等
但是,这里我们没有 big-O 符号(渐近表示),我将假设:
- 这纯属理论
- 更换机器不会影响每次操作所花费的时间(机器之间的更改保持不变,正好是 32 倍)
所以,假设您在 M1
、M2
上处理 D
、d
个数据点,花费 x
时间
如果此处的复杂性表示操作所花费的确切时间,
2 * D^2 = x = 2 * d^2
由于 M2 快了 32 倍,
32 * 2 * D^2 = 2 * d^2
=> d = 4 * D * sqrt(2)
我有一个时间复杂度为 2n^2 的算法,在某些机器上执行它需要 x 时间。问题是:如果我的机器快 32 倍并且时间保持不变,它将处理多少数据?
ty <3
实际上,这个问题没有任何意义,因为复杂性并不能确定确切的运行时间、操作等
但是,这里我们没有 big-O 符号(渐近表示),我将假设:
- 这纯属理论
- 更换机器不会影响每次操作所花费的时间(机器之间的更改保持不变,正好是 32 倍)
所以,假设您在 M1
、M2
上处理 D
、d
个数据点,花费 x
时间
如果此处的复杂性表示操作所花费的确切时间,
2 * D^2 = x = 2 * d^2
由于 M2 快了 32 倍,
32 * 2 * D^2 = 2 * d^2
=> d = 4 * D * sqrt(2)