一般来说:表示 2,3,...,12 这一串自然数有以下四种方法:
a)2 ≤ i < 13
b)1 < i ≤ 12
c)2 ≤ i ≤ 12
d)1 < i < 13
先说下原因有5点:
- Mesa(参考文献1)实际应用效果,第一种好;
- a,b前两种上下边界之和刚好等于数列长度;
- 表示相邻数列时,前数列的上边界与后边界的下边界相等 ([2,13) 与 [13,15) 相邻或(1,12]和(12,15]))
- 如果采用b,那在表示自然数时会不自然起来,因为最小的自然数是零,要表示从零开始的数,下边界的数就得是-1,(-1,5] 与第一种方法的 [0,6) 相比,显然a好;
- 在二分法使用中,区间为[2,8],左右区间为[2,5],[5,8],5多了,算法的结果不准,有的人说可以这样写[2,5],[6,8]。是可以,但是在二分的时候还要对数据做处理才能分区间。
参考链接:
https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html