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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

二分查找和二分答案

發(fā)布時間:2024/3/13 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二分查找和二分答案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

二分查找

二分的思想在程序設(shè)計中有著廣泛的應(yīng)用,例如,排序算法中的快速排序、歸并排序,數(shù)據(jù)結(jié)構(gòu)中的二叉樹、堆、線段樹等。二分是一種常用且高效的算法,它的基本用途是在單調(diào)序列中進行查找和判定操作。

對于n個有序且沒有重復(fù)的元素(假設(shè)為升序),從中查找特定的某個元素x,我們可以將有序序列分成規(guī)模大致相等的兩部分,然后取中間元素與要查找的元素x進行比較,如果x等于中間元素,則查找成功,算法終止;如果x小于中間元素,則在序列的前半部分繼續(xù)查找,否則在序列的后半部分繼續(xù)查找。這樣就可以將查找的范圍縮小一半,然后在剩余的一半中繼續(xù)重復(fù)上面的方法進行查找。

這種每次都從中間元素開始比較,并且一次比較后就能把查找范圍縮小一半的方法,叫作二分查找。二分查找的時間復(fù)雜度是 O(logN),是一種效率較高的查找算法。

時間復(fù)雜度O(logN)

在常見的時間復(fù)雜度中,時間復(fù)雜度為O(logN)的算法十分高效,當(dāng)數(shù)據(jù)規(guī)模增大n信時,耗時增大logN倍(這里的log以2為底)。例如,當(dāng)數(shù)據(jù)增大256倍時,耗時增大8倍,因為2的8次方等于256。二分查找算法的時間復(fù)雜度為O(logN),每次查找排除掉一半的可能,1024個有序數(shù)據(jù)中最多查找10次就可以找到目標(biāo)。

二分查找算法描述

用一維數(shù)組a存儲有序元素序列,用變量low和high分別表示查找范圍中第一個元素和最后一個元素的下標(biāo),mid表示查找范圍的中間位置對應(yīng)元素的下標(biāo),x為要查找的元素。

(1)變量初始化,令low

總結(jié)

以上是生活随笔為你收集整理的二分查找和二分答案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。