计算机科学中的增强指的是什么?

4

我听说往一个二分查找(例如)中添加额外的要求可以称为增强。

任何算法复杂度的增加都可以被认为是增强吗?

谢谢


这个问题或许应该迁移到 http://programmers.stackexchange.com 吗?这是一个非常有用的问题,因为似乎没有一个明确的增强定义,而在谷歌搜索 'augmentation computer science' 时会出现这个问题。 - icc97
2个回答

4
增强通常意味着扩展的花哨名称。在计算机科学中,有许多基本、经过充分研究的概念、算法或数据结构。这些概念对于解决许多实际问题至关重要,但有时需要向主要思想添加一些额外的功能。
假设您想使用标准的插入/删除来管理一组数字,并且还想有效地计算小于给定数字 k 的项目数。为了做到这一点,您可以实现一个标准(平衡)二叉搜索树,并在每个节点中存储左子树中的节点数量(表示较小项目的数量),并在插入/删除期间跟踪该计数器。然后,如果您想返回小于 k 的项目数,只需在树中查找 k,并返回 k 的计数器。这就是增强。

“Augmentation” 被解释为 “强化”,请参见此评论 - icc97
@icc97 是的,但我认为“扩展”这个词更合适。 - pkacprzak

1
我不会将其限制为增加复杂性,但是对于某个东西的每一个添加(比如增强现实),都可以称之为“增强”。我从未看到过关于计算机科学中“增强”的明确定义,我怀疑这样的定义是否存在。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接