part1
有個(gè)小姐姐在上班乳绕,某一天被 XX 相親網(wǎng)的男士打電話“騷擾”绞惦。
起初以為是打錯(cuò)了,并沒在意洋措,后面才知道這個(gè)電話只是個(gè)開始济蝉。
隔三岔五的總會(huì)有一些男士打電話過來“約”她,小姐姐有點(diǎn)煩了菠发,逮住其中的一個(gè)男士問王滤,你從哪里找到我的信息的?
那個(gè)憨厚的男士一五一 十的告訴了他滓鸠,男士在 XX 相親網(wǎng)站看到小姐姐的信息雁乡,于是就打電話過來了。小姐姐半信半疑糜俗,就去那個(gè)相親網(wǎng)站找踱稍。
天吶,上面照片和聯(lián)系方式不正是自己的嗎悠抹?
小姐姐還是第一次聽說有這個(gè)網(wǎng)站的珠月,而且上面的照片是她曾經(jīng)花了一個(gè)下午用美圖秀秀 P 的照片,也沒在公開網(wǎng)站發(fā)布過楔敌。
該向這個(gè)網(wǎng)站的管理員投訴啤挎,讓其注銷此賬號(hào)?
不行卵凑,小姐姐有點(diǎn)氣不過庆聘,得揪出這個(gè)兇手才行,mmp勺卢。
之前談戀愛練成的福爾摩斯思維伙判,讓她異常的冷靜,她開始回想值漫,從宇宙大爆炸到人類誕生澳腹,照片的來源织盼,微博沒發(fā) / 抖音沒玩 / QQ 空間早不玩了,也沒私發(fā)過酱塔,那么剩下朋友圈了Aち凇!羊娃!
于是她鎖定了微信賬號(hào)上的幾百個(gè)好友唐全,可是這么多好友如同大海撈針,也不能打草驚蛇蕊玷。不如來個(gè)將計(jì)就計(jì)邮利,先假裝什么都沒發(fā)生,除了自己誰都不提這事垃帅。
她按照往常一樣在朋友圈發(fā)自己美美噠的照片延届,但在發(fā)布之前她設(shè)置了分組可視,比如 300 個(gè)好友贸诚,先分成兩組方庭, A 組為 1- 150 名,B 組為 151 -300 名酱固。
今天發(fā)一組照片械念,設(shè)置 A 組好友可見, B 組不可見运悲,然后靜靜的等待幾天龄减。過了幾天小姐姐在相親網(wǎng)站看到了朋友圈才有的照片。
喲嚯班眯,目標(biāo)鎖定希停,嫌疑人在 A 組那, B 組好友解除嫌疑鳖敷。
于是按照上述流程繼續(xù)對(duì) A 組折半分組釣魚執(zhí)法脖苏,最后抓到了“兇手”程拭。
你看這就是算法“二分查找”的一個(gè)應(yīng)用定踱。還有一個(gè)聽得最多的故事就是三國(guó)諸葛亮猜數(shù)的典故。
part2
傳說諸葛亮“借”完箭恃鞋,率船歸岸后崖媚,命令 500 軍兵清點(diǎn)箭數(shù)。
這些軍兵從中揀好的箭數(shù)夠十萬支后恤浪,發(fā)現(xiàn)還剩下一些多余的箭畅哑。
軍兵們于是便將這些剩下的箭也都清點(diǎn)了一下,正準(zhǔn)備報(bào)給諸葛亮聽水由,卻見諸葛亮輕輕揮了一下羽毛扇荠呐,讓這個(gè)士兵不要報(bào)出數(shù)來,并對(duì)在座的將士們說:“今天大獲全勝,大家都很高興泥张,我呢呵恢,就來猜猜這些剩下的箭數(shù),給大家助助興媚创∩ぃ”
說完,諸葛亮微笑著對(duì)前來匯報(bào)的士兵說:“你們都不必說出要報(bào)的箭數(shù)钞钙,但是你們得回答我的問題鳄橘。
你們中間不論是誰,當(dāng)我問問題時(shí)芒炼,你們只要回答‘Yes’或‘No’瘫怜,我只要問夠 10 個(gè)問題,我就能知道你們要報(bào)的箭數(shù)了本刽”δィ”
士兵們一聽都不相信,其中的一個(gè)士兵迫不及待地站了起來盅安,想嘗試一下唤锉。
諸葛亮問這位士兵:“你想報(bào)的箭數(shù)比 1000 大還是比 1000 小?”
士兵答道:“比 1000 小”鸩t!?/p>
接著窿祥,諸葛亮又向這位士兵問:“你想報(bào)的箭數(shù)比 500 大還是比 500 小?”
士兵答:“比 500 小◎”
于是依次問了 8 個(gè)問題晒衩,等諸葛亮問完,士兵答完墙歪,諸葛亮果然說出了個(gè)數(shù)目 250听系!
將士們一聽,個(gè)個(gè)拍手稱奇虹菲,高呼諸葛牛批?渴ぁ!毕源!
結(jié)尾:
你可能會(huì)吐槽第一個(gè)故事的真實(shí)性浪漠,我也忘記是個(gè)新聞還是個(gè)段子。
但這不是重點(diǎn)霎褐,我只是想用兩個(gè)故事說明技術(shù)(方法)它是來源生活址愿,但又反饋于生活。
另一方面冻璃,我嘗試用這種故事性的方式來解釋知識(shí)點(diǎn)的响谓。
歡迎留言分享你用學(xué)到的知識(shí)解決了那些生活中的問題损合,又或者給你帶來了什么。
PS:二分查找又稱折半查找娘纷,它是一種效率較高的查找方法塌忽。 只適用順序存儲(chǔ)結(jié)構(gòu)。為保持表的有序性失驶,在順序結(jié)構(gòu)里插入和刪除都必須移動(dòng)大量的結(jié)點(diǎn)土居。
因此,二分查找特別適用于那種一經(jīng)建立就很少改動(dòng)嬉探、而又經(jīng)常需要查找的線性表擦耀。
微信搜索公眾號(hào)「一起學(xué)大數(shù)據(jù)呀」,里面有更多學(xué)習(xí)資料