国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)結(jié)構(gòu)算法--1 順序查找二分查找

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)結(jié)構(gòu)算法--1 順序查找二分查找。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

順序查找時(shí)間復(fù)雜度為O(n)

我們可以借助Python中的函數(shù)enumerate,通過enumerate遍歷列表返回其索引和值

def linnear_search(li, val):
    for ind, v in enumerate(li):
        if v == val:
            return ind
    else:
        return None

也可以通過列表長(zhǎng)度依次遍歷:

def linear_search(li, val):     # 順序查找復(fù)雜度為O(n)
    for i in range(len(li)):
        if li[i]==val:
            return i
    return

O(1)<O(logn)<O(n)<O(nlogn)<O(n*n)

但是二分查找時(shí)間復(fù)雜度為O(logn):文章來源地址http://www.zghlxwxcb.cn/news/detail-650794.html

def binary_search(li,val):
    left=0
    right=len(li)-1
    while left<=right:
        mid=(left+right) // 2
        if li[mid]==val:    # 最后會(huì)找到mid
            return mid
        elif li[mid]>val:   # mid值大與查找值,就需要去左半側(cè)查找,right指針就改變
            right=mid-1
        else:
            left=mid+1
    else:
        return None

到了這里,關(guān)于數(shù)據(jù)結(jié)構(gòu)算法--1 順序查找二分查找的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 數(shù)據(jù)結(jié)構(gòu),查找算法(二分,分塊,哈希)

    一、查找算法 ? ? ? ? 1、二分查找:(前提條件: 必須有序的序列) 2、分塊查找:(塊間有序,塊內(nèi)無序) ? ? 索引表 ?+ ?源數(shù)據(jù)表 ? ? 思路: ? ? (1)先在索引表中確定在哪一塊中 ? ? (2)再遍歷這一塊進(jìn)行查找 //索引表 typedef ?struct? { ?? ?int max; //塊中最大值

    2024年02月11日
    瀏覽(27)
  • 數(shù)據(jù)結(jié)構(gòu)和算法之二分法查找

    二分法查找,也稱作 二分查找 或 折半查找 ,是一種在有序數(shù)組中快速查找特定元素的算法。它采用分治法思想,通過將問題劃分為規(guī)模更小的子問題,并且通過對(duì)子問題的查找來解決原問題。 二分法查找的思路是不斷地將數(shù)組一分為二,然后判斷目標(biāo)值在哪一部分,進(jìn)而

    2024年02月09日
    瀏覽(31)
  • 數(shù)據(jù)結(jié)構(gòu)與算法之查找: 順序查找 (Javascript版)

    順序查找 思路 遍歷數(shù)組 找到跟目標(biāo)值相等元素,就返回它的下標(biāo) 沒有找到,返回-1 算法實(shí)現(xiàn) 總結(jié) 非常低效,算是入門搜索 時(shí)間復(fù)雜度:O(n) 對(duì)于數(shù)組結(jié)構(gòu)或鏈表結(jié)構(gòu)而言,沒什么太多可說的

    2024年02月05日
    瀏覽(31)
  • Java【數(shù)據(jù)結(jié)構(gòu)】二分查找

    Java【數(shù)據(jù)結(jié)構(gòu)】二分查找

    ??在 有序 數(shù)組A中,查找目標(biāo)值target ??如果找到返回索引 ??如果找不到返回-1 算法描述 解釋 前提 給定一個(gè)內(nèi)含n個(gè)元素的有序數(shù)組A,滿足A0=A1=A2=·······=An-1,一個(gè)待查值target 1 設(shè)置left=0;right = n - 1 2 如果left right ,結(jié)束查找,沒找到 3 設(shè)置mid = (left + right )/2,mid為中間

    2024年02月12日
    瀏覽(30)
  • 【手撕數(shù)據(jù)結(jié)構(gòu)】二分查找(好多細(xì)節(jié))

    ??鍵盤敲爛,年薪30萬?? 目錄 普通版本的二分查找: right只負(fù)責(zé)控制邊界(少了兩次比較): 時(shí)間復(fù)雜度更穩(wěn)定的版本: BSLeftmost: BSRightmost: ? ??細(xì)節(jié)1:循環(huán)判定條件是left = right ?細(xì)節(jié)2:mid = (left + right ) 1 原因見代碼注釋 改動(dòng)1:while條件是left right 改動(dòng)2:right = nums.len

    2024年02月05日
    瀏覽(28)
  • 數(shù)據(jù)結(jié)構(gòu)之順序查找

    ? 活動(dòng)地址:CSDN21天學(xué)習(xí)挑戰(zhàn)賽 目錄 數(shù)據(jù)結(jié)構(gòu)概念: 算法效率: 1)時(shí)間復(fù)雜度 2)空間復(fù)雜度 順序查找: 代碼實(shí)現(xiàn):? ??作者簡(jiǎn)介:大家好我是小唐同學(xué)(???),大家可以叫我小唐 個(gè)人主頁: 小唐同學(xué)(???)的博客主頁 系列專欄:數(shù)據(jù)結(jié)構(gòu) 博友們?nèi)绻彩切率秩?/p>

    2024年02月13日
    瀏覽(23)
  • 浙大數(shù)據(jù)結(jié)構(gòu)第一周01-復(fù)雜度3 二分查找

    本題要求實(shí)現(xiàn)二分查找算法。 函數(shù)接口定義: 其中 List 結(jié)構(gòu)定義如下: L 是用戶傳入的一個(gè)線性表,其中 ElementType 元素可以通過、==、進(jìn)行比較,并且題目保證傳入的數(shù)據(jù)是遞增有序的。函數(shù) BinarySearch 要查找 X 在 Data 中的位置,即數(shù)組下標(biāo)(注意:元素從下標(biāo)1開始存儲(chǔ))

    2024年02月12日
    瀏覽(32)
  • 17-數(shù)據(jù)結(jié)構(gòu)-查找-(順序、折半、分塊)

    17-數(shù)據(jù)結(jié)構(gòu)-查找-(順序、折半、分塊)

    ????????簡(jiǎn)介:查找,顧名思義,是我們處理數(shù)據(jù)時(shí)常用的操作之一。大概就是我們從表格中去搜索我們想要的東西,這個(gè)表格,就是所謂的查找表(存儲(chǔ)數(shù)據(jù)的表)。而我們?cè)趺丛O(shè)計(jì)查找,才可以讓計(jì)算機(jī)更快的去找到篩選我們所需要的信息呢,因此,關(guān)于怎么設(shè)計(jì)查找

    2024年02月09日
    瀏覽(27)
  • 數(shù)據(jù)結(jié)構(gòu)--順序表的查找

    數(shù)據(jù)結(jié)構(gòu)--順序表的查找

    目標(biāo): GetElem(L,i):按位查找操作。獲取表L中第i個(gè)位置的元素的值。 代碼實(shí)現(xiàn) 時(shí)間復(fù)雜度 O(1) 由于順序表的各個(gè)數(shù)據(jù)元素在內(nèi)存中連續(xù)存放,因此可以根據(jù)起始地址和數(shù)據(jù)元素大小立即找到第i個(gè)元素——“隨機(jī)存取”特性 目標(biāo): LocateElem(Le):按值查找操作。在表L中查找具有給

    2024年02月11日
    瀏覽(27)
  • 【數(shù)據(jù)結(jié)構(gòu)與算法】:手搓順序表(Python篇)

    【數(shù)據(jù)結(jié)構(gòu)與算法】:手搓順序表(Python篇)

    一、順序表的概念 順序表是一種線性的數(shù)據(jù)結(jié)構(gòu),其中數(shù)據(jù)元素按照特定的順序依次存儲(chǔ)在連續(xù)的內(nèi)存空間中。它由一系列元素組成,每個(gè)元素都與唯一的索引(或者叫下標(biāo))相關(guān)聯(lián),索引從 0 開始遞增。 順序表是用一段物理地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)數(shù)據(jù)元素的線性結(jié)

    2024年04月28日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包