Arrays 查找搜索中使用的中间元素/索引的最佳方法&;排序算法?

Arrays 查找搜索中使用的中间元素/索引的最佳方法&;排序算法?,arrays,algorithm,sorting,binary-search,mergesort,Arrays,Algorithm,Sorting,Binary Search,Mergesort,正如我们所知,有多种方法可以获取给定子数组的中间元素/索引(在递归调用期间)。此外,我们还必须注意溢出,低/高条件的大值,那么我们应该选择哪一种 方法1 mid = (low + high) / 2 方法2 mid = low + (high - low) / 2 第三种选择在逻辑上是错误的。第一个选项和第二个选项在逻辑上都是正确的,但第一个方法可能导致整数溢出。因此,第二种方法更适合使用。这取决于语言。在Python和许多其他语言中,您不需要担心溢出问题,因此CPython内置。你提出的第

正如我们所知,有多种方法可以获取给定子数组的中间元素/索引(在递归调用期间)。此外,我们还必须注意溢出,低/高条件的大值,那么我们应该选择哪一种

方法1

mid = (low + high) / 2
方法2

mid = low + (high - low) / 2

第三种选择在逻辑上是错误的。第一个选项和第二个选项在逻辑上都是正确的,但第一个方法可能导致
整数溢出
。因此,第二种方法更适合使用。

这取决于语言。在Python和许多其他语言中,您不需要担心溢出问题,因此CPython内置。你提出的第三个选择在逻辑上是错误的。请参阅CS.SE。@ggorlen是的,第三个是错误的,这是一个错误,对此表示抱歉…:)