边缘情况和角落情况之间的明显区别是什么?

Jam*_*zba 15 algorithm naming-conventions

我已经看到这两个术语可以互换使用。网上找到的定义似乎也各不相同。

根据我的理解,极端情况是输入的极值。边缘情况是设计算法时要处理的极端情况。这样对吗?

有标准定义吗?

ini*_*333 18

根据维基百科

边缘情况涉及将一个变量推至最小值或最大值,将用户置于配置空间的“边缘”,而 极端情况则涉及使用多个变量,这会将用户置于多维配置空间的“角落” 。


Dav*_*ave 15

这些通常可以互换使用。如果您对语言很小心,这些具有特定的(工程)含义(维基百科提供):

在工程中,极端情况(或病理情况)涉及仅在正常操作参数之外发生的问题或情况——特别是当多个环境变量或条件同时处于极端水平时表现出来的问题或情况,即使每个参数都在指定的范围内该参数的范围。

边缘的情况下是发生仅在一个极端(最大或最小)的工作参数的一个问题或情况。例如,立体声扬声器在以最大额定音量播放时可能会明显失真,即使没有其他极端设置或条件。

在编程中,边缘情况通常涉及需要在计算机程序背后的算法中进行特殊处理的输入值。作为在这种情况下验证计算机程序行为的措施,通常会创建单元测试;他们正在测试算法、函数或方法的边界条件。每个“边界”周围的一系列边缘情况可用于提供合理的覆盖范围和置信度,假设如果它在边缘处表现正确,则它应该在其他任何地方表现。

例如,可以使用非常大和非常小的数字来测试将两个数字相除的函数。这假设如果它适用于幅度谱的两端,它应该在两者之间正常工作。