简单粗暴一点理解二分法
(1)将数据有序排列:先将一个数据集进行有序排列(文玩葫芦可根据某种数值的大小降序或升序<当然排序的规则可安全工具根据业务规则自定义>,前提是需要查找的数据丘博具备该规则同样的属性);
(2)数据分半: 就是将排序好的数据集切分成大致相等的两份数据集;
(3)查找数据: 查找的时候直接和拆分数据集中的第一个或最后一个元素进行大小比较,不满足则表示数据不存在于该数据集中,满足则说明要查找的元素存在于当前数据集中。
例子进行表述一下便于我们快速理解;
题目:英文网站建设是从[2,-3,0,5,-2,6] 快速查找到X在数据种的位置:
我电脑打字软件们先要把 [2,-3,0,5,-2,,6] 进行排序[-3,-黄桃罐头怎么做2,0,2,5,6] 然后进行拆分data1 [-3,-2,0] data2[2,5,6]玛丽与魔女之花
然后用查找X,是在数据中的位置,假如先从data1检索则如下:毋保良
结果1:如果x>data1[最后一个元素]建安七子 则表示X不在data1 中(因为我们已经进行了排序的)。则比较对象换成人格类型data2,315货源网那么我们把data2看成一个新的数据集袁小波继续进行拆分,把data2拆分成data2_1 和data2_2继续按照之前的规则进行比较,按照此规大学物理实验律直到找到X渔翁对韵相同的值或者比较完da石油大王ta2所有的数据则返回;
结果2:如果x<data1[最后一个元素] 则表示X绝对不会存在data2中(因为我们已经进悟性高行了排序的),可能存在data1胃寒中,那么又我们把data1看黑社会以和为贵成一个新的数爱情问题据集继续进行拆分,把拆data1分成data1_1 和日本电影情书data1_2,按照此规律直到找到X相同的值或者比较完data2所有的数据则返回;
如果x=data1[最后一个元素],那么返回data[最后一个元素]的位置;
最后一张图来说明
本文发布于:2023-06-04 09:15:45,感谢您对本站的认可!
本文链接:http://www.ranqi119.com/ge/85/215291.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |