public class BinSearch { //遞歸實(shí)現(xiàn) public static int binSearch(int[]arr,int low,int high,int key){ if(low>high||keyarr[high]){ return -1 ; } int mid = low+(high-low) / 2; if (arr[mid] < key) { return binSearch(arr, mid + 1, high, key); } else if (arr[mid] > key) { return binSearch(arr, low, mid - 1, key); } else { return mid; } } //非遞歸循環(huán)實(shí)現(xiàn) public static int binSearch1(int[]arr,int key){ int low=0; int high=arr.length-1; while(low<=high){ int mid=low+(high-low)/2; if(arr[mid]>key){ low=mid+1; }else if(arr[mid]
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/73541.html
摘要:查找算法之二分查找法思想二分查找法的思想非常簡(jiǎn)單,對(duì)于一個(gè)有序數(shù)列,找它中間的元素,看是否是查找目標(biāo),如果不是,就看這個(gè)查找目標(biāo)是小于還是大于中間元素,然后在對(duì)應(yīng)的區(qū)間內(nèi)重復(fù)上述過(guò)程。 查找算法之二分查找法 思想 二分查找法的思想非常簡(jiǎn)單,對(duì)于一個(gè)有序數(shù)列,找它中間的元素,看是否是查找目標(biāo),如果不是,就看這個(gè)查找目標(biāo)是小于還是大于中間元素,然后在對(duì)應(yīng)的區(qū)間內(nèi)重復(fù)上述過(guò)程。 算法 需要注...
摘要:在數(shù)據(jù)結(jié)構(gòu)領(lǐng)域?qū)?yīng)樹(shù)結(jié)構(gòu)來(lái)說(shuō)二叉樹(shù)是最常用的一種樹(shù)結(jié)構(gòu),二叉樹(shù)具有一個(gè)唯一的根節(jié)點(diǎn),也就是最上面的節(jié)點(diǎn)。二叉樹(shù)每個(gè)節(jié)點(diǎn)最多有兩個(gè)孩子,一個(gè)孩子都沒(méi)有的節(jié)點(diǎn)通常稱(chēng)之為葉子節(jié)點(diǎn),二叉樹(shù)每個(gè)節(jié)點(diǎn)最多有一個(gè)父親,根節(jié)點(diǎn)是沒(méi)有父親節(jié)點(diǎn)的。 showImg(https://segmentfault.com/img/remote/1460000018597053?w=1832&h=9943); 前言...
摘要:在數(shù)據(jù)結(jié)構(gòu)領(lǐng)域?qū)?yīng)樹(shù)結(jié)構(gòu)來(lái)說(shuō)二叉樹(shù)是最常用的一種樹(shù)結(jié)構(gòu),二叉樹(shù)具有一個(gè)唯一的根節(jié)點(diǎn),也就是最上面的節(jié)點(diǎn)。二叉樹(shù)每個(gè)節(jié)點(diǎn)最多有兩個(gè)孩子,一個(gè)孩子都沒(méi)有的節(jié)點(diǎn)通常稱(chēng)之為葉子節(jié)點(diǎn),二叉樹(shù)每個(gè)節(jié)點(diǎn)最多有一個(gè)父親,根節(jié)點(diǎn)是沒(méi)有父親節(jié)點(diǎn)的。 showImg(https://segmentfault.com/img/remote/1460000018597053?w=1832&h=9943); 前言...
摘要:基本思想二分查找算法的基本思想就是在一個(gè)有序的默認(rèn)我們都是升序,如果是降序后面的條件置反即可數(shù)組中將要查找的值和數(shù)組中間的那個(gè)元素比較如果要找的數(shù)大于中間的元素就從中間的元素后一個(gè)元素開(kāi)始到數(shù)組最后一個(gè)元素這個(gè)區(qū)間里面繼續(xù)尋找如果要找的數(shù)小 基本思想 二分查找算法的基本思想就是: 在一個(gè)有序的(默認(rèn)我們都是升序,如果是降序后面的條件置反即可)數(shù)組中; 將要查找的值和數(shù)組中間的那個(gè)元素...
摘要:題目請(qǐng)實(shí)現(xiàn)有重復(fù)數(shù)字的升序數(shù)組的二分查找給定一個(gè)元素有序的升序長(zhǎng)度為的整型數(shù)組和一個(gè)目標(biāo)值,寫(xiě)一個(gè)函數(shù)搜索中的第一個(gè)出現(xiàn)的,如果目標(biāo)值存在返回下標(biāo),否則返回?cái)?shù)據(jù)范圍進(jìn)階時(shí)間復(fù)雜度,空間復(fù)雜度代碼中的類(lèi)名方法名參數(shù)名已經(jīng)指定 題目:請(qǐng)實(shí)現(xiàn)有重復(fù)數(shù)字的升序數(shù)組的二分查找給定一個(gè) 元素有序的(升序)長(zhǎng)度為n的整型數(shù)組...
閱讀 1564·2021-11-04 16:10
閱讀 2866·2021-09-30 09:48
閱讀 2867·2019-08-29 11:31
閱讀 1605·2019-08-28 18:22
閱讀 3248·2019-08-26 13:44
閱讀 1345·2019-08-26 13:42
閱讀 2873·2019-08-26 10:20
閱讀 781·2019-08-23 17:00