二分查找又称折半查找,二分查找算法要求数据必须是有序的,以下是php实现二分查找算法的代码。
一:递归方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
执行结果
1 2 3 4 5 6 7 8 9 |
|
我们看到,经过4次二分查找,查找区间不断折半,最终找到了$target。
二:循环方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
执行结果
1 2 3 4 5 6 7 8 9 |
|
我们看到,两种方式过程和结果相同。下面我们来测试下针对关联数组的二分查找算法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
两次二分查找,找到了$target,针对关联数组,我们使用了php的array_keys函数获得这个关联有序数组的key,通过key间接比对$target和$array的值。
Atas ialah kandungan terperinci PHP实现二分查找算法(代码详解). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!