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

问题描述

我们知道,有多种方法可以获取给定子数组的中间元素/索引(在递归调用期间)。另外,我们还必须照顾溢出,低/高条件的较大值,所以我们应该选择哪一个呢?

方法1

mid = (low + high) / 2

方法2

mid = low + (high - low) / 2

解决方法

第三个选项在逻辑上是错误的。第一个选项和第二个选项在逻辑上都是正确的,但是第一种方法可以将您引向IBOutlets。因此,您的第二种方法更适合使用。