最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)二分查找算法

 更新時間:2020年09月18日 15:46:47   作者:流柯  
這篇文章主要介紹了python如何實現(xiàn)二分查找算法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下。

介紹

二分查找也稱折半查找(Binary Search),它是一種效率較高的查找方法。但是,折半查找要求線性表必須采用順序存儲結(jié)構(gòu),而且表中元素按關(guān)鍵字有序排列。

前提

必須待查找的序列有序

時間復(fù)雜度

O(log2n)

原理

1)確定該期間的中間位置K

2)將查找的值t與array[k]比較,若相等,查找成功返回此位置;否則確定新的查找區(qū)域,繼續(xù)二分查找。

3)區(qū)域確定過程:

若array[k]>t,由于數(shù)組有序,所以array[k,k+1,……,high]>t;故新的區(qū)間為array[low, ..., K-1];
反之,若array[k]<t對應(yīng)查找區(qū)間為array[k+1, ..., high]

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date  : 2020-07-10
# @Author : 流柯
# @desc : 二分查找算法,python版

def serach(array, t):
  array.sort() #排序,保證列表是有序的
  low = 0
  height = len(array) - 1
  while low <= height:
    k = (low + height) // 2
    if array[k] < t:
      low = k + 1
    elif array[k] > t:
      height = k - 1
    else:
      return k #找到后返回位置
  return -1 #找不到返回-1
array = [1, 3, 5, 7, 9, 6, 8, 0]
print(serach(array, 5))

以上就是python實現(xiàn)二分查找算法的詳細內(nèi)容,更多關(guān)于python 二分查找算法的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python GUI之tkinter窗口視窗教程大集合(推薦)

    Python GUI之tkinter窗口視窗教程大集合(推薦)

    這篇文章主要介紹了Python GUI之tkinter窗口視窗教程大集合,看這一篇教程足了,本文通過圖文實例相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 簡述python四種分詞工具,盤點哪個更好用?

    簡述python四種分詞工具,盤點哪個更好用?

    這篇文章主要介紹了python四種分詞工具的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • python多進程讀圖提取特征存npy

    python多進程讀圖提取特征存npy

    這篇文章主要為大家詳細介紹了python多進程讀圖提取特征存npy,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • python如何讀取.mtx文件

    python如何讀取.mtx文件

    這篇文章主要介紹了python讀取.mtx文件的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 最新解決'nvidia-smi' 不是內(nèi)部或外部命令也不是可運行的程序

    最新解決'nvidia-smi' 不是內(nèi)部或外部命令也不是可運行的程序

    使用cmd查看電腦顯卡的信息,調(diào)用nvidia-smi查看顯卡使用情況報錯,提示'nvidia-smi' 不是內(nèi)部或外部命令,也不是可運行的程序,本文給大家分享完美解決方案,感興趣的朋友跟隨小編一起看看吧
    2023-01-01
  • python中time.ctime()實例用法

    python中time.ctime()實例用法

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python中time.ctime()實例用法內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2021-02-02
  • Python 異常的捕獲、異常的傳遞與主動拋出異常操作示例

    Python 異常的捕獲、異常的傳遞與主動拋出異常操作示例

    這篇文章主要介紹了Python 異常的捕獲、異常的傳遞與主動拋出異常操作,結(jié)合實例形式詳細分析了Python針對異常捕獲、傳遞、處理等常見操作技巧,需要的朋友可以參考下
    2019-09-09
  • 利用Python半自動化生成Nessus報告的方法

    利用Python半自動化生成Nessus報告的方法

    這篇文章主要介紹了利用Python半自動化生成Nessus報告的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • pytest接口自動化測試框架搭建的全過程

    pytest接口自動化測試框架搭建的全過程

    pytest是Python的一種單元測試框架,可用來組織用例執(zhí)行,用例斷言,下面這篇文章主要給大家介紹了關(guān)于pytest接口自動化測試框架搭建的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • Python之Web框架Django項目搭建全過程

    Python之Web框架Django項目搭建全過程

    這篇文章主要介紹了Python之Web框架Django項目搭建全過程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05

最新評論

霍邱县| 绥芬河市| 乌什县| 兴仁县| 阿合奇县| 南阳市| 九江县| 无棣县| 上杭县| 揭阳市| 华容县| 德庆县| 嘉禾县| 江西省| 双鸭山市| 阿勒泰市| 偏关县| 丁青县| 洛隆县| 巢湖市| 冀州市| 田东县| 正镶白旗| 西乡县| 三门县| 温泉县| 定日县| 南康市| 太仆寺旗| 林芝县| 石柱| 隆昌县| 长春市| 九龙县| 盱眙县| 荥阳市| 黔西县| 尉犁县| 襄汾县| 大宁县| 盱眙县|