婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Python查找算法之插補(bǔ)查找算法的實(shí)現(xiàn)

Python查找算法之插補(bǔ)查找算法的實(shí)現(xiàn)

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

一、插補(bǔ)查找算法

插補(bǔ)查找算法又稱為插值查找,它是折半查找算法的改進(jìn)版。插補(bǔ)查找是按照數(shù)據(jù)的分布,利用公式預(yù)測(cè)鍵值所在的位置,快速縮小鍵值所在序列的范圍,慢慢逼近,直到查找到數(shù)據(jù)為止。根據(jù)描述來(lái)看,插值查找類似于平常查英文字典的方法。例如,在查一個(gè)以字母 D 開(kāi)頭的英文單詞時(shí),決不會(huì)用折半查找法。根據(jù)英文詞典的查找順序可知,D 開(kāi)頭的單詞應(yīng)該在字典較前的部分,因此可以從字典前部的某處開(kāi)始查找。鍵值的索引計(jì)算,公式如下:

middle=left+(target-data[left])/(data[right]-data[left])*(right-left)

參數(shù)說(shuō)明:

  • middle:所求的邊界索引。
  • left:最左側(cè)數(shù)據(jù)的索引。
  • target:鍵值(目標(biāo)數(shù)據(jù))。
  • data[left]:最左側(cè)數(shù)據(jù)值。
  • data[right]:最右側(cè)數(shù)據(jù)值。
  • right:最右側(cè)數(shù)據(jù)的索引。

例如,已經(jīng)有排序好的數(shù)列:34、53、57、68、72、81、89、93、99。要查找的數(shù)據(jù)是 53,使用插補(bǔ)查找法步驟如下:

步驟1:將數(shù)據(jù)列出來(lái)并利用公式找到邊界值,計(jì)算過(guò)程如下:

將各項(xiàng)數(shù)據(jù)帶入公式:


將數(shù)據(jù)取整,因此所求索引是 2,對(duì)應(yīng)的數(shù)據(jù)是 57,將查找目標(biāo)數(shù)據(jù) 53 與 57 進(jìn)行比較,如下圖所示。

步驟2:將 53 與 57 進(jìn)行比較,結(jié)果是 53 小于 57,所以查找 57 的左半邊數(shù)據(jù),不用考慮右半邊的數(shù)據(jù),索引范圍縮小到 0 和 2 之間,公式帶入:


取整之后索引是 1,對(duì)應(yīng)的數(shù)據(jù)是 53,將查找目標(biāo)數(shù)據(jù) 53 與 53 進(jìn)行比較,如下圖所示:

步驟3:將 53 與 53 進(jìn)行比較,所得結(jié)果相等,查找完成。說(shuō)明:如果多次分割之后沒(méi)有找到相等的值,表示這個(gè)鍵值沒(méi)有在這個(gè)數(shù)列中。

通過(guò)上述的步驟1就能看出,插補(bǔ)查找算法比折半查找算法的取值范圍更小,因此它的速度要比折半法查找快,這就是插補(bǔ)查找算法的優(yōu)點(diǎn)。

二、實(shí)例:利用插補(bǔ)查找用戶輸入的數(shù)據(jù)

用戶可以隨意輸入一組數(shù)據(jù),例如本實(shí)例輸入一組數(shù)據(jù):34、53、57、68、72、81、89、93、99。在這組數(shù)據(jù)中用插補(bǔ)查找法分別查找數(shù)據(jù) 57、53、93、89、100,且顯示每次查找的過(guò)程。用 Python 代碼實(shí)現(xiàn)此過(guò)程,具體代碼如下:

def insert_search(data, num):
    """
    自定義查找函數(shù):該函數(shù)使用的是插補(bǔ)查找算法
    :param data: 原數(shù)列data
    :param num: 鍵值num
    :return:
    """
    # 計(jì)算
    left_index = 0  # 最左側(cè)數(shù)據(jù)的索引
    right_index = len(data) - 1  # 最右側(cè)數(shù)據(jù)的索引
    print("正在查找.......")  # 提示
    while left_index = right_index:
        # 使用公式計(jì)算出索引值
        middle = left_index + (num - data[left_index]) / (data[right_index] - data[left_index]) * (
                right_index - left_index)
        # 取整
        middle = int(middle)
        # print(middle)
        if num == data[middle]:
            return middle  # 如果鍵值等于邊界值,返回邊界位置
        elif num  data[middle]:
            # 輸出位置在數(shù)列中的左半邊
            print(f"{num} 介于位置{left_index + 1}[{data[left_index]}]和邊界值{middle + 1}[{data[middle]}]之間,找左半邊......")
            right_index = middle - 1  # 如果鍵值小于邊界值,最右邊數(shù)據(jù)索引等于邊界位置減1
        else:
            # 輸出位置在數(shù)列中的左半邊
            print(f"{num} 介于位置{middle + 1}[{data[middle]}]和邊界值{right_index + 1}[{data[right_index]}]之間,找右半邊......")
            left_index = middle + 1  # 如果鍵值大于邊界值,最左邊數(shù)據(jù)索引等于邊界位置加1
    return -1  # 自定義函數(shù)到此結(jié)束


inp_num = 0  # 定義變量,用來(lái)輸入鍵值
num_list = [34, 53, 57, 68, 72, 81, 89, 93, 99]  # 定義數(shù)列
print("數(shù)據(jù)內(nèi)容是:")
for index, ele in enumerate(num_list):
    print(f" {index + 1}[{ele}]", end="")  # 輸出數(shù)列
print("")
flag = True  # 開(kāi)關(guān),用來(lái)管控是否多次查找

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

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

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

您可能感興趣的文章:
  • Python常用外部指令執(zhí)行代碼實(shí)例
  • Python 讀取用戶指令和格式化打印實(shí)現(xiàn)解析
  • 如何安裝并使用conda指令管理python環(huán)境
  • python執(zhí)行CMD指令,并獲取返回的方法
  • Python機(jī)器學(xué)習(xí)之KNN近鄰算法
  • Python機(jī)器學(xué)習(xí)算法之決策樹(shù)算法的實(shí)現(xiàn)與優(yōu)缺點(diǎn)
  • 用Python給圖像算法做個(gè)簡(jiǎn)單應(yīng)用界面
  • Python實(shí)現(xiàn)七大查找算法的示例代碼
  • python實(shí)現(xiàn)狄克斯特拉算法
  • python使用ProjectQ生成量子算法指令集

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python查找算法之插補(bǔ)查找算法的實(shí)現(xiàn)》,本文關(guān)鍵詞  Python,查找,算法,之,插補(bǔ),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python查找算法之插補(bǔ)查找算法的實(shí)現(xiàn)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Python查找算法之插補(bǔ)查找算法的實(shí)現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品视频1区2区| 欧美怡红院视频| 色综合天天综合在线视频| 日韩欧美精品在线视频| 亚洲欧美精品午睡沙发| 国产精品66部| 久久人人爽人人爽| 精品中文av资源站在线观看| 欧美日韩三级在线| 午夜精品在线视频一区| 91在线无精精品入口| 日本一区二区三区四区 | 欧美亚洲日本国产| 亚洲国产欧美日韩另类综合| av激情亚洲男人天堂| 国产精品白丝在线| 成人午夜私人影院| 一区二区三区四区在线| 欧美久久久影院| 国产一区二区免费看| 中文字幕免费不卡在线| 欧美视频精品在线观看| 久久精品二区亚洲w码| 一区二区三区在线视频免费| 成人app网站| 日本aⅴ亚洲精品中文乱码| 欧美一区二区高清| 风间由美性色一区二区三区| 一区二区三区欧美亚洲| 久久看人人爽人人| 欧美日韩国产精品自在自线| 粉嫩一区二区三区在线看| 日韩电影免费在线观看网站| 国产精品久久久久久福利一牛影视 | 蜜桃视频在线观看一区二区| 亚洲视频免费在线观看| 久久综合精品国产一区二区三区| 成人黄色网址在线观看| 久久99久久精品| 日韩精彩视频在线观看| 亚洲一本大道在线| 久久久精品人体av艺术| 日韩欧美一级精品久久| 欧美日韩在线不卡| 91成人免费网站| 欧美区视频在线观看| 欧美色偷偷大香| 欧美日韩五月天| 91精品国产91综合久久蜜臀| 欧美老女人第四色| 日韩女优电影在线观看| 久久久不卡网国产精品一区| 国产丝袜欧美中文另类| 亚洲欧美日韩在线不卡| 亚洲日本一区二区| 亚洲一区二区三区视频在线播放 | 亚洲自拍欧美精品| 亚洲美女在线一区| 亚洲成a人在线观看| 亚洲.国产.中文慕字在线| 丝袜亚洲另类丝袜在线| 国产一区二区女| 欧美一卡2卡3卡4卡| 精品国产一区二区三区av性色| 国产一区二区在线影院| 久久国产生活片100| 97久久久精品综合88久久| 欧美在线观看视频一区二区 | 亚洲超碰精品一区二区| 精品一区二区三区久久| 99国产精品久久| 久久综合丝袜日本网| 亚洲天堂精品在线观看| 国产在线精品一区二区夜色| 欧美亚州韩日在线看免费版国语版| 欧美日韩国产中文| 亚洲裸体xxx| 国产一区二区成人久久免费影院 | 成人激情图片网| 日韩一级欧美一级| 日本va欧美va精品发布| 色偷偷88欧美精品久久久| 国产精品伦理在线| 国产福利精品一区二区| 久久综合狠狠综合久久激情| 蜜桃免费网站一区二区三区| 6080午夜不卡| 麻豆91在线观看| 久久网站热最新地址| 国产黑丝在线一区二区三区| www国产亚洲精品久久麻豆| 精品一区二区三区蜜桃| 欧美一卡在线观看| 国产suv一区二区三区88区| 国产精品久久99| 在线电影国产精品| 日韩av中文字幕一区二区 | 91丨九色丨尤物| 亚洲综合清纯丝袜自拍| 欧美日韩国产在线观看| 精品国产在天天线2019| 99这里都是精品| 欧美精品一区二区精品网| 精品福利一二区| 亚洲国产高清在线观看视频| 成人精品一区二区三区中文字幕 | 日韩一区国产二区欧美三区| 日本一区二区三区四区| 亚洲午夜精品久久久久久久久| 免费精品99久久国产综合精品| 粉嫩一区二区三区性色av| 欧美在线免费播放| 欧美精品一区二区久久婷婷| 亚洲综合小说图片| 国产.欧美.日韩| 日韩午夜av一区| 一区二区三区四区中文字幕| 国产精品小仙女| 欧美一区二区视频在线观看| 亚洲人成在线观看一区二区| 国产一区二区三区在线观看免费视频 | 国产真实精品久久二三区| 欧日韩精品视频| 国产精品二三区| 国产精品亚洲午夜一区二区三区| 91麻豆精品国产91久久久久久| 亚洲天堂久久久久久久| 国产福利91精品一区| 亚洲精品一区二区三区影院| 日韩精品1区2区3区| 欧美午夜精品免费| 亚洲精品欧美综合四区| av一二三不卡影片| 中文字幕国产一区| 国产成人在线影院| 国产人妖乱国产精品人妖| 精品亚洲国产成人av制服丝袜| 欧美肥妇毛茸茸| 伊人夜夜躁av伊人久久| 99精品视频中文字幕| 国产日韩精品久久久| 国产乱理伦片在线观看夜一区| 日韩欧美精品三级| 韩国精品免费视频| 日韩精品在线一区| 激情成人综合网| 久久综合狠狠综合| 成人免费视频网站在线观看| 欧美韩国日本不卡| 成人不卡免费av| 亚洲欧美电影院| 欧美中文字幕一二三区视频| 亚洲国产日韩一级| 欧美一二三区在线| 国产高清成人在线| 亚洲美女视频一区| 欧美群妇大交群中文字幕| 日韩电影在线观看电影| 欧美精品一区二区在线播放| 丁香激情综合国产| 亚洲精品国产高清久久伦理二区| 欧美亚洲日本国产| 久久se精品一区精品二区| 麻豆精品一二三| 欧美成人video| 国产91精品一区二区麻豆网站 | 国产乱码字幕精品高清av| 国产精品高潮久久久久无| 欧美视频中文字幕| 国产资源在线一区| 中文字幕日韩精品一区| 91传媒视频在线播放| 另类的小说在线视频另类成人小视频在线| 日韩欧美一区二区视频| 国产精品99久久久| 一区二区三区四区蜜桃| 欧美一级生活片| 99久久夜色精品国产网站| 日韩专区在线视频| 国产日韩成人精品| 欧美日韩色一区| kk眼镜猥琐国模调教系列一区二区| 亚洲国产一区视频| 久久久www成人免费毛片麻豆| 日本韩国一区二区| 精品一二三四区| 亚洲福利电影网| 国产精品久久久久久久久快鸭| 欧美一区二区三区视频| 色综合中文字幕国产| 精品综合免费视频观看| 亚洲国产一区二区a毛片| 日本一二三不卡| 精品999久久久| 欧美精品 日韩| 色婷婷综合久久久久中文一区二区 | 欧美一区二区三区免费大片| 91丝袜高跟美女视频| 国产乱码精品一区二区三区忘忧草 | 国产呦萝稀缺另类资源|