二分查找
二分查找 在二分查找的过程中,必须保持不变量,也就是循环不变量 循环不变量的定义:在循环过程中报错不变的性质 主要作用: - 让算法设计的逻辑更加清晰 - 让代码更加简洁,有更强的逻辑性 - 证明算法的正确性 比如 - 在选择排序算法中,我们可以写出循环不变的性质: 区间nums 0...i 里保存了数组力最小的i个元素,并且nums中的元素按升序排列。 无论是在循环的初始化、循环的过程中、循环的结束,这个循环不变性…
二分查找
在二分查找的过程中,必须保持不变量,也就是循环不变量
循环不变量的定义:在循环过程中报错不变的性质
主要作用:
- 让算法设计的逻辑更加清晰
- 让代码更加简洁,有更强的逻辑性
- 证明算法的正确性
比如
-
在选择排序算法中,我们可以写出循环不变的性质:**区间nums[0…i]里保存了数组力最小的i个元素,并且nums中的元素按升序排列。**无论是在循环的初始化、循环的过程中、循环的结束,这个循环不变性质都是恒定不变的。我们可以根据这个不变性质去设计算法,去让程序更有逻辑性
-
对二分法进行代码实现的时候,我们可以定义其循环不变的性质:**循环过程中其区间是左闭右开的。**我们在写代码的时候,依据这个不变性质,就不会造成区间一会是左闭右开,一会是左闭右闭,造成代码错误