成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > Python查找算法之折半查找算法的實現(xiàn)

Python查找算法之折半查找算法的實現(xiàn)

熱門標簽:看懂地圖標注方法 淮安呼叫中心外呼系統(tǒng)如何 打印谷歌地圖標注 佛山通用400電話申請 電話外呼系統(tǒng)招商代理 廣東旅游地圖標注 電話機器人貸款詐騙 蘇州人工外呼系統(tǒng)軟件 京華圖書館地圖標注

一、折半查找算法

折半查找算法又稱為二分查找算法,折半查找算法是將數(shù)據(jù)分割成兩等份,首先用鍵值(要查找的數(shù)據(jù))與中間值進行比較。如果鍵值小于中間值,可確定要查找的鍵值在前半段;如果鍵值大于中間值,可確定要查找的鍵值在后半段。然后對前半段(后半段)進行分割,將其分成兩等份,再對比鍵值。如此循環(huán)比較、分割,直到找到數(shù)據(jù)或者確定數(shù)據(jù)不存在為止。折半查找的缺點是只適用于已經(jīng)初步排序好的數(shù)列;優(yōu)點是查找速度快。

生活中也有類似于折半查找的例子,例如,猜數(shù)字游戲。在游戲開始之前,首先會給出一定的數(shù)字范圍(例如0~100),并在這個范圍內(nèi)選擇一個數(shù)字作為需要被猜的數(shù)字。然后讓用戶去猜,并根據(jù)用戶猜的數(shù)字給出提示(如猜大了或猜小了)。用戶通常的做法就是先在大范圍內(nèi)隨意說一個數(shù)字,然后提示猜大了/猜小了,這樣就縮小了猜數(shù)字的范圍,慢慢地就猜到了正確的數(shù)字,如下圖所示。這種做法與折半查找法類似,都是通過不斷縮小數(shù)字范圍來確定數(shù)字,如果每次猜的范圍值都是區(qū)間的中間值,就是折半查找算法了。


例如,已經(jīng)有 排序好 的數(shù)列:12、45、56、66、77、80、97、101、120,要查找的數(shù)據(jù)是 101,用折半查找步驟如下:

步驟1:將數(shù)據(jù)列出來并找到中間值 77,將 101 與 77 進行比較,如下圖所示。

步驟2:將 101 與 77 進行比較,結(jié)果是 101 大于 77,說明要查找的數(shù)據(jù)在數(shù)列的右半段。此時不考慮左半段的數(shù)據(jù),對在右半段的數(shù)據(jù)再進行分割,找中間值。這次中間值的位置在 97 和 101 之間,取 97,將 101 與 97 進行比較,如下圖所示。

步驟3:將 101 與 97 進行比較,結(jié)果是 101 大于 97,說明要查找的數(shù)據(jù)在右半段數(shù)列中,此時不考慮左半段的數(shù)據(jù),再對剩下的數(shù)列分割,找中間值,這次中間值位置是 101,將 101 與 101 進行比較,如下圖所示。

步驟4:將 101 與 101 進行比較,所得結(jié)果相等,查找完成。說明:如果多次分割之后沒有找到相等的值,表示這個鍵值沒有在這個數(shù)列中。

從折半法查找的步驟來看,明顯比順序查找法的次數(shù)少,這就是折半查找法的優(yōu)點:查找速度快。

二、實例:線路故障

有一條的150米線路,在這條線路上存在故障。第一天維修工已經(jīng)大致鎖定了幾個疑似故障點,疑似故障點分別在線路的12、45、56、66、77、80、97、101、120米處。第二天維修工要在這9個疑似故障點中確定一個真正的故障點(假設(shè)真正的故障點是101米處)。維修工為了快速查找此故障點,就在每段數(shù)據(jù)的中間位置開始排查。

例如,第一次選擇在77米處的疑似故障點接通電路,發(fā)現(xiàn)接通,他判斷此故障在77米之后的位置;第二次取97米處的疑似故障點,發(fā)現(xiàn)也接通了,說明在97米之后的位置;第三次取101米處的位置,再次接通線路,發(fā)現(xiàn)未接通,說明此處是真正的故障點。此次查找經(jīng)歷了3次,將真正故障點找到。具體代碼如下:

def search(data, num):
    """
    定義查找函數(shù):該函數(shù)使用的是折半查找算法
    :param data: 原數(shù)列data
    :param num: 鍵值num
    :return:
    """
    low = 0  # 定義變量用來表示低位
    high = len(data) - 1  # 定義變量用來表示高位
    print("正在查找.......")  # 提示
    while low = high and num != -1:
        mid = int((low + high) / 2)  # 取中間位置
        if num  data[mid]:  # 判斷數(shù)據(jù)是否小于中間值
            # 輸出位置在數(shù)列中的左半邊
            print(f"{num} 介于中間故障點 {low + 1}[{data[low]}] 和故障點位置 {mid + 1}[{data[mid]}] 之間,找左半邊......")
            high = mid - 1  # 最高位變成了中間位置減1
        elif num > data[mid]:  # 判斷數(shù)據(jù)是否大于中間值
            # 輸出位置在數(shù)列中的右半邊
            print(f"{num} 介于中間故障點 {mid + 1}[{data[mid]}] 和故障點位置 {high + 1}[{data[high]}] 之間,找右半邊......")
            low = mid + 1  # 最低位變成了中間位置加1
        else:  # 判斷數(shù)據(jù)是否等于中間值
            return mid  # 返回中間位置
    return -1  # 自定義函數(shù)到此結(jié)束


inp_num = 0  # 定義變量,用來輸入鍵值
num_list = [12, 45, 56, 66, 77, 80, 97, 101, 120]  # 定義數(shù)列
print("疑似故障點如下:")
for index, ele in enumerate(num_list):
    print(f" {index + 1}[{ele}]", end="")  # 輸出數(shù)列
print("")
flag = True  # 開關(guān),用來管控是否多次查找

while flag:  # 循環(huán)查找
    inp_num = int(input("請輸入故障點:").strip())  # 輸入查找鍵值
    if inp_num == -1:  # 判斷鍵值是否是-1
        break  # 若為-1,跳出循環(huán) 即結(jié)束程序
    result = search(num_list, inp_num)  # 調(diào)用自定義的查找函數(shù)——search()函數(shù)
    if result == -1:  # 判斷查找結(jié)果是否是-1
        print(f"沒有找到[{inp_num}]故障點")  # 若為-1,提示沒有找到值
    else:
        # 若不為-1,提示查找位置
        print(f"在{result + 1}個位置找到[{num_list[result]}]故障點")
    char = input("本次查找結(jié)束,是否繼續(xù)查找,請輸入 y(Y) 或 n(N):").strip()
    if char.upper() == "N":
        flag = False

程序執(zhí)行結(jié)果如下圖所示:

到此這篇關(guān)于Python查找算法之折半查找算法的實現(xiàn)的文章就介紹到這了,更多相關(guān)Python 折半查找算法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python實現(xiàn)線性回歸算法
  • Python實現(xiàn)七大查找算法的示例代碼
  • Python查找算法之插補查找算法的實現(xiàn)
  • python高效的素數(shù)判斷算法
  • python實現(xiàn)ROA算子邊緣檢測算法
  • Python實現(xiàn)粒子群算法的示例
  • Python實現(xiàn)隨機爬山算法
  • python中K-means算法基礎(chǔ)知識點
  • python 圖像增強算法實現(xiàn)詳解
  • python入門之算法學(xué)習(xí)

標簽:駐馬店 呼和浩特 中山 湖州 畢節(jié) 股票 江蘇 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Python查找算法之折半查找算法的實現(xiàn)》,本文關(guān)鍵詞  Python,查找,算法,之,折半,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python查找算法之折半查找算法的實現(xiàn)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python查找算法之折半查找算法的實現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    成人片在线看| 亚洲第一区在线| 黄色动漫网站入口| 亚洲一二三级电影| 福利视频一区二区三区四区| 欧美h在线观看| 欧美黑吊大战白妞| 韩日毛片在线观看| 久久久久久久久免费看无码| 69堂亚洲精品首页| 又黄又骚的视频| 亚洲最大的黄色网址| 欧美大胆在线视频| 国产精品有限公司| 黑人巨大精品欧美黑白配亚洲| 激情视频网站在线观看| 中文字幕在线播放第一页| 97精品国产露脸对白| 深田咏美在线x99av| 亚洲成人自拍视频| 艳母动漫在线免费观看| 成人av网站在线| 精品国产福利| 欧美激情福利视频在线观看免费| 国产白袜脚足j棉袜在线观看| 骚视频在线观看| 亚洲春色综合另类校园电影| 国产精品a成v人在线播放| 日韩国产精品久久久| 亚洲精品久久久久中文字幕欢迎你| 国产欧美精品一区二区三区介绍| 国产精品羞羞答答在线| 国产一区二区三区美女| 欧美性色综合网| 亚洲一级生活片| 国产精品久久久久久户外露出| 日本亚洲欧洲色| 综合色婷婷一区二区亚洲欧美国产| 欧美色播在线播放| 午夜精品福利久久久| 日韩久久久久久久久久久久久| 伊人久久久久久久久久| 国产成人一区二区三区小说| 亚洲区免费视频| 未满十八勿进黄网站一区不卡| 少妇aaaaa| 欧美高清视频www夜色资源网| 日韩在线视频精品| 欧美色图久久| 成人精品影院| 日韩欧美网址| 日本不卡一二区| 亚洲精品小区久久久久久| 波多野结衣小视频| 成视频免费在线看| 免费一级毛片在线观看| 成人在线超碰| 色就是色欧美色图| 麻豆理论在线观看| 在线免费观看h视频| 久久久久久久久久一区二区三区| 精品国产欧美成人夜夜嗨| 亚洲欧美自拍偷拍色图| 成人免费看片'免费看| 日本五级黄色片| av小说天堂网| 成人av在线一区二区| 久草在线中文最新视频| 亚洲视频在线观看免费视频| 四虎影院一区二区| 舔足天天操天天射| 亚洲av无码一区二区三区网址| 欧美电影一区| 在线播放av片| 亚洲成人精品久久| 免费成人黄色大片| 欧美在线视频你懂得| 最新天堂资源在线| 99精品视频在线免费播放| 欧美精品性生活| 欧美精品一区二区三区免费播放| 一区二区中文| 亚洲欧美中文字幕在线一区| 美女在线视频一区| 国产日韩精品久久| 成人av一区二区三区在线观看| 欧美人善zozσ性伦交| 一区二区三区四区在线免费视频| 久久99精品国产麻豆婷婷| sis001欧美| 最新真实国产在线视频| 成人av电影在线观看| 久久久亚洲av波多野结衣| 91精品国产91久久久久青草| 欧美r级电影在线观看| 午夜天堂影视香蕉久久| 免费精品国产自产拍观看| 美女一级全黄| 国产91精品久久久久久| 欧美性一区二区| 黑人精品视频| 国产l精品国产亚洲区久久| 99国产超薄丝袜足j在线观看| 超碰人人干人人| 国产又白又嫩又爽又黄| 午夜电影网亚洲视频| 久久99高清| 久久视频免费| 麻豆av一区二区| 激情婷婷欧美| 欧美成人a交片免费看| 国产第一页在线| 一区二区三区高清不卡| 九九久久免费视频| 妺妺窝人体色www看人体| 欧美区在线播放| 18岁网站在线观看| 精品国产成人av| 啪啪激情综合网| 免费在线高清av| 久久国产视频播放| 在线观看国产精品视频| 久久久一二三| 国产性猛交96| 欧美日韩亚洲综合一区二区三区| 亚洲香蕉伊在人在线观| 久草福利视频在线| 欧美大成色www永久网站婷| 97久久精品午夜一区二区| 欧美在线不卡区| 黄动漫视频高清在线| 欧美午夜精品久久久| 少妇高潮一区二区三区| 欧美色道久久88综合亚洲精品| 久久久久国产成人精品亚洲午夜| 成人www视频在线观看| 国产精品自在线| 国产奶头好大揉着好爽视频| 一区二区亚洲精品| 美美哒免费高清在线观看视频一区二区| 给个网站可以在线观看你懂的| 高潮白浆视频| 无遮挡h肉3d动漫在线观看| 亚洲天堂美女视频| 天天综合天天做天天综合| 91最新国产视频| 欧美亚洲在线观看| 7878视频在线观看| 97在线观看免费高清| 欧美自拍丝袜亚洲| 国产无精乱码一区二区三区| 在线不卡日本| 欧美日本三区| 久久电影网电视剧免费观看| 国产在线不卡av| 在线观看日韩欧美| 成人av电影天堂| 一级做a爰片久久毛片16| 欧美大片网站| 亚洲日本伊人| 在线观看日韩www视频免费| 乳奴隷乳フ辱julia在线观看| 国产精品伊人色| 天堂免费视频| 亚洲片在线观看| 狠狠鲁男人天堂| 欧美精品亚洲精品日韩精品| 欧美性xxxxx极品视频| 午夜国产精品视频| 亚洲婷婷综合网| 欧美天堂亚洲电影院在线观看| 青青草免费观看视频| 欧美人妇做爰xxxⅹ性高电影| 日本久久精品| 欧美电影h版| 日韩 欧美 自拍| 麻豆专区一区二区三区四区五区| 久久久久久久av麻豆果冻| 国产精品毛片一区二区在线看| 136福利第一导航国产在线| 亚洲婷婷影院| 日日夜夜中文字幕| 欧美黑人疯狂性受xxxxx野外| 亚洲国产精品久久| 日韩欧美国产中文字幕| 亚洲精品一区三区三区在线观看| 久久久精品欧美| 日韩中文字幕免费观看| 中文字幕一区二区三区不卡| 1区2区3区欧美| 日本特黄a级高清免费大片| 欧美久久精品| 亚洲欧美一区二区三区极速播放| 日韩欧美高清| 另类在线视频| 在线视频亚洲色图| www.色香蕉| 亲爱的老师9免费观看全集电视剧| 中文字幕一区二区三区在线视频| 电影在线一区| 国产精品伦子伦| 无码少妇精品一区二区免费动态| 天天综合网网欲色| 欧美色图17p| 麻豆精品密在线观看| 日本少妇吞精囗交| 在线免费中文字幕| 亚洲图片欧美激情| 一线天粉嫩在线播放| 久久99国产综合精品免费| 国产极品jizzhd欧美| 最近中文字幕在线视频| av二区三区| 91欧美在线| 蜜桃久久久久久| 国产精品第八页| 亚洲色无码播放| 亚洲激情中文字幕| 一区二区乱子伦在线播放| 成人禁在线观看网站| 久久午夜国产精品| 国产又黄又粗又硬| 日韩黄色在线| 一区二区成人在线视频| 国产自产v一区二区三区c| 日本国产高清不卡| 国产 日韩 欧美一区| 手机在线免费观看av| 欧美天堂亚洲电影院在线播放| 亚洲精品亚洲人成在线观看| 91动漫在线看| 国产精品都在这里| 91麻豆国产精品| 97最新国自产拍视频在线完整在线看| 欧美啪啪网站| 中文字幕の友人北条麻妃| 在线观看中文字幕2021| 同房视频网站| 日本国产一级片| 日韩成人三级视频| www.成人三级视频| free性中国hd国语露脸| 欧美成人aaa| av在线之家电影网站| 91麻豆国产精品| www 四虎| 黄色91视频| 爽爽爽在线观看| 美女把尿口扒开给男人桶视频| 精品综合在线| 亚洲精品欧洲| 亚洲男人天堂视频| 免费一级黄色大片| 激情久久99| 中日韩一区二区三区| 亚洲美女色播| 视频在线精品一区| 国产亚洲欧美日韩精品| 欧美精品一区二区三区一线天视频| 日本视频中文字幕一区二区三区| 香港三级日本三级a视频| 天天操天天干天天插| 国产精品自拍一区| 中文字幕久热精品在线视频| 欧美日本中文字幕| 极品一区美女高清| 久久免费成人精品视频| 国产精品一国产精品k频道56| 精品久久久久久亚洲综合网站| 天堂午夜影视日韩欧美一区二区| 福利小视频在线观看| 国产精品一区二区在线观看| 精品国产乱码久久久久久郑州公司| 欧美亚洲国产日韩2020| 国产日韩综合| 国产欧美日韩电影| 精品免费国产| 一级黄色香蕉视频| 中文字幕1区2区| 亚洲一区二区成人在线观看| 久久只精品国产| eeuss国产一区二区三区四区| 伊人久久大香线蕉av超碰| 日韩欧美国产激情| 99在线精品视频在线观看| 日韩精品在线视频美女| 日韩你懂的电影在线观看| 三级一区在线视频先锋| 人人做人人爽| 亚洲第一偷拍网| 在线国产亚洲欧美| 新的色悠悠久久久| 激情五月色综合国产精品| 私人影视中文字幕| 怡红院成永久免费人全部视频| 91tv亚洲精品香蕉国产一区| 欧美视频导航| 9i在线看片成人免费| 波多野结衣中文字幕在线播放| 青春草国产成人精品久久| 伊人色综合久久天天| 国产对白在线正在播放| 亚洲一区二区五区| 在线观看亚洲一区二区| 性一爱一乱一交一视频| 亚洲人成网站影音先锋播放| 在线免费高清一区二区三区| 亚洲精品免费一区亚洲精品免费精品一区| 91麻豆免费在线视频| 国产男男gay体育生网站| 国产乱淫av片免费| 国产精品羞羞答答| 国产精品色综合| 国产亚洲色婷婷久久99精品91| 国产乡下妇女做爰视频| 久久精品观看| 怡红院av亚洲一区二区三区h| 黄色成人免费观看| 91精品免费观看| 洋洋av久久久久久久一区| 日本一欧美一欧美一亚洲视频| 精品黑人一区二区三区观看时间| 特黄特色欧美大片| 国产美女视频黄a视频免费| 一个人免费播放在线视频看片| 在哪里可以看毛片| 亚洲国产第一| 97精品欧美一区二区三区|