Python|分分分找数据

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python|分分分找数据相关的知识,希望对你有一定的参考价值。

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

引言

在前几期算法文章中,大家应该学到了一些新的算法吧。今天小编再来分享一种算法---二分法。想象一下你眼前用十个数字,分别是从1到10,如果要你一秒找出数字6,肯定觉得很简单吧,因为你的眼睛能一眼就看出来。但是如果要计算机去找数字6,它的眼睛是什么呢?计算机虽然没有眼睛,可是它有算法这个得力助手。所以当面对一大堆数据时,计算机就可以用二分法,查找想要的目标元素。

问题描述

如何从有序数列【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)

以上是关于Python|分分分找数据的主要内容,如果未能解决你的问题,请参考以下文章

教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

用Python分分钟爬取豆瓣本周口碑榜,就是有这么秀!

基础入门_Python-进线协程.分分钟玩转multiprocessing多进程编程?

教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

教你分分钟学会用 python 爬虫框架 Scrapy 爬取心目中的女神

转载教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神