gpt4 book ai didi

algorithm - MERGE SORT 的 DIVIDE 步骤的基本混淆

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:40:30 24 4
gpt4 key购买 nike

Merge Sort中,每个元素的Divide步骤的运行时间被认为是theta(1),即CLRS中的常数时间


我的困惑是:Let divide 是一个基本运算,需要常数时间 C1。现在,考虑伪代码
enter image description here

现在,当第一次调用MERGE-SORT 函数时,它需要C1 来划分输入(注意:- 我们没有考虑时间由 Merge 函数采用)而这个MERGE-SORT 将把输入lg(n) 时间( 或者我们可以说它会称自己为lg((n))次)所以划分输入的总时间应该是C1 * lg(n)theta(lg(n))


但在 CLRS 中: enter image description here

如果我们考虑到 Divide Step 将需要 theta(1) 时间(作为整体)

注意:lg是以2为底的log

附言- 提前抱歉,因为我的英语没有达到那个标准。欢迎编辑:)

最佳答案

除法的一步确实需要常数时间 O(1)

但是和你想的相反,一共有Θ(N)个除法(1+2+4+8+...N/2)。

无论如何,这没有被考虑在内,因为总的合并工作量是 Θ(N Log N)

关于algorithm - MERGE SORT 的 DIVIDE 步骤的基本混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51780779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com