Python|分分分找数据
引言
问题描述
如何从有序数列【2,4,6,12,23,26,33,34,55,57,67,68,77】找到数字6,现在我们站在计算机的角度去思考这道题。
解决方案
第一步:计算机会先找到这组有序数列的头和尾,然后从中间把数列分成两部分,也就是从33分开。第二步:它会将6与中间数字33进行比较,发现6<33,然后只需要继续锁定33的左边,直接放弃右边。第三步:寻找中间数字,也就是12。然后6与12进行比较,发现6<12,然后继续锁定12的左边。最后一步:中间数字分别是4和6,发现6=6,从而找到了目标数字。
所以二分法的步骤就是:先找出中间数字,然后目标数字与中间数字比较,如果与目标数字匹配,则直接结束。否则确定下一步的方向,然后继续重复步骤,与中间数字比较,直到找到自己目标数字。
那我们使用二分法时需要注意什么呢?1.最最最重要的是:需要查找的序列一定是有序的序列,是已经排好序的,不然就不适用。如果给你一大堆无序的数字,让你找目标数字,相信你也不容易找出来。2.如果某一次比较的过程中,发现数组为空,则无法找出目标元素。
结语
稿件来源:深度学习与文旅应用实验室(DLETA)
赞 (0)