【发布时间】:2022-01-09 07:06:08
【问题描述】:
我收到了一个练习,提供了一种算法,该算法仅使用“is x
输入: {x_1, x_2, x_3, x_4} 的值为 {1, 2, 3, 4}
步骤 1: 如果 x_1 步骤 2 a): 如果 x_2 步骤 3 a):如果 x_3
所以在最好的情况下进行 3 次比较。但我在网上读到最低数量是 4 而不是 3。这让我很困惑。如果有人能为我澄清这一点,我将不胜感激。最好的情况真的是 3 次比较还是我的程序出错了?
澄清:1 之后的步骤有 a 和 b 选项以适应上一步的两个结果。所以步骤 2 a) 如果第一个比较为真,步骤 2 b) 如果第一个比较为假。
我没有提供整个二叉树,因为它很长,但如果有必要我可以提供。
【问题讨论】:
-
"但是我在网上看到最小数量是 4 而不是 3。"链接?
-
你确定你的网上信息没有说“$O(N)$,而不是真正的$N$?
-
如果您的引用声称在最佳情况下需要 4 次比较来获得 4 个元素的列表,那么您的引用显然是不正确的。
-
@500-InternalServerError 非常感谢您的确认。我怀疑它,但我不确定。我怀疑也许是逻辑上的一个错误步骤让我得出了这个结论。
-
在没有来源的情况下,这个问题有什么用?
标签: algorithm sorting combinatorics