Time complexity 分析合并排序输入加倍时的时间复杂度
我试图从理论上理解,当传递给merge sort的输入大小加倍时,需要多长时间。我当时正在读一本教科书,上面写着:Time complexity 分析合并排序输入加倍时的时间复杂度,time-complexity,complexity-theory,Time Complexity,Complexity Theory,我试图从理论上理解,当传递给merge sort的输入大小加倍时,需要多长时间。我当时正在读一本教科书,上面写着: “因为合并的运行时间(对于大N)是O(n Log2 2n),所以我们应该考虑比率,r= n^ { 1.1 } Log2(n^ { 1.1 })/(n Log2(n)),这简化为1.1 n^ { 0.1 },该值在3.5“左右”。 我想问他们是如何计算的,当输入大小增加一倍时,执行合并排序需要大约3.5倍的时间。本质上,他们希望如何进行转换。使用对数算法: 这仍然取决于N 我的猜测
“因为合并的运行时间(对于大N)是O(n Log2 2n),所以我们应该考虑比率,r= n^ { 1.1 } Log2(n^ { 1.1 })/(n Log2(n)),这简化为1.1 n^ { 0.1 },该值在3.5“
左右”。我想问他们是如何计算的,当输入大小增加一倍时,执行合并排序需要大约3.5倍的时间。本质上,他们希望如何进行转换。使用对数算法: 这仍然取决于N 我的猜测是,他们假设N的一个大数字是100000,所以:
是的,我理解对数运算,但不理解教科书最初是如何得出这种形式的。他们检查了一个比原始输入大1.1次方的输入。对于我猜测的输入大小,它大约会大3倍。