Binary Search的临界点分析

Binary Search说来容易,但容易出错,原因在于临界点选择。而需要考虑临界点的位置竟然有3处之多,且彼此联系。 首先,有两个原则: The target cannot be ruled out. The search space decreases over time. 最基本的Binary Search: Critical Point 1: loop终止条件 跳出loop时,left > right。通常用在target是一个确定值,而不是一个不确定的概念(比如最接近某值)时。所谓确定,就是说loop中找到符合条件的元素时就可以直接return。loop结束时就说明target没找到,因此不需要post processing。 结束时left ==… Read more “Binary Search的临界点分析”