日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分治算法之二分搜索

發布時間:2023/12/4 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分治算法之二分搜索 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、問題

一天晚上,我們在家里看電視,某大型娛樂節目在玩猜數游戲。主持人在女嘉賓的手心上寫一個 10 以內的整數,讓女嘉賓的老公猜是多少,而女嘉賓只能提示大了,還是小了,并且只有 3 次機會。主持人悄悄地在美女手心寫了一個 8。老公:“2。”老婆:“小了。”老公:“3。”老婆:“小了。”老公:“10。”老婆:“暈了!”孩子說:“天啊,怎么還有這么笨的人。”那么,聰明的孩子,現在隨機寫 1~n 范圍內的整數,你有沒有辦法以最快的速度猜出來呢?

 


2、分析

我們用二分法,把數據拍好序,然后折半查找,縮小范圍,比如一組數據

1,4,5,8,10

需要查找的數據是8

查找過程如下

第一次找中間5,然后分割數據

5,8,10

然后第二次找8,找到了

 

 


3、代碼實現

#include <iostream> #include <algorithm>using namespace std;#define MAX 100int data[MAX];int binarySearch(int *data, int length, int value) {//折半思想,如果high = lenght; (low + lenght) / 2是中間的后面一個元素//所以需要high = length - 1;

總結

以上是生活随笔為你收集整理的分治算法之二分搜索的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。