国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

數(shù)據(jù)結(jié)構(gòu)java版之大O表示法

wudengzan / 2968人閱讀

摘要:二分查找法要查找的數(shù)數(shù)組長(zhǎng)度設(shè)定的數(shù)組花了多少次找到最小值最大值當(dāng)前猜的值打印猜的每個(gè)數(shù)找到了花了次如果猜的數(shù)大于選定的數(shù),則把設(shè)為猜的數(shù),否則把設(shè)為猜的數(shù)請(qǐng)輸入大于等于的正整數(shù)且查找的數(shù)不能大于數(shù)組里最大的數(shù)調(diào)用方法執(zhí)行結(jié)果找到了花了次

大O表示法使用大寫字母O,可以認(rèn)為其含義為"order of"(大約是)。我們可以使用大O法來描述線性查找使用了O(N)級(jí)時(shí)間,二分查找使用了O(log N)級(jí)時(shí)間,向一個(gè)無序數(shù)組中插入使用了O(1),或常數(shù)級(jí)時(shí)間。
下面的圖總結(jié)了算法的運(yùn)行時(shí)間:

通過圖我們可以比較不同的大O值,O(1)是優(yōu)秀,O(logN)是良好,O(N)是還可以,O(N^2)則很差了,比如冒泡排序。
下面我們通過例子來看一下二分查找法。就是我們玩過的游戲猜數(shù)字,設(shè)定一個(gè)數(shù)組大小,一個(gè)人心里想一個(gè)數(shù),讓另外一個(gè)人來猜。每次告訴他猜大了還是小了,直到猜中為止。看花了多少步。

/**
* 二分查找法
* @param search 要查找的數(shù)
* @param total 數(shù)組長(zhǎng)度
*/
public void compute(int search,int total){
//設(shè)定的數(shù)組
int[] num;
if(total > 0 && search <= total && search >= 0){
num = new int[total];
for (int i = 0 ; i < total; i++){
num[i] = i;
}
//花了多少次找到
int sum = 0;
//最小值
int min = 0 ;
//最大值
int max = total;
//當(dāng)前猜的值
int current;
while (true){
sum ++ ;
current = (min + max) / 2;
//打印猜的每個(gè)數(shù)
System.out.println(current);
if(num[current] == search){
System.out.println("找到了,花了" + sum + "次");
return;
}else{
//如果猜的數(shù)大于選定的數(shù),則把max設(shè)為猜的數(shù),否則把min設(shè)為猜的數(shù)
if(num[current] > search){
max = num[current] ;
}else{
min = num[current];
}
}

}
}else {
System.out.println("請(qǐng)輸入大于等于0的正整數(shù)且查找的數(shù)不能大于數(shù)組里最大的數(shù)");
}
}

調(diào)用方法:

compute(3,100)
執(zhí)行結(jié)果:

50
25
12
6
3
找到了,花了5次

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/73301.html

相關(guān)文章

  • 數(shù)據(jù)結(jié)構(gòu)java版之冒泡排序及優(yōu)化

    摘要:外層循環(huán)讓內(nèi)層循環(huán)繼續(xù)排沒有排序過的數(shù)組,排序過的不用再排。那么優(yōu)化后的算法能快多少呢。我們都以數(shù)組長(zhǎng)度為來計(jì)算傳統(tǒng)冒泡排序步,優(yōu)化后的冒泡排序步。因?yàn)閮?yōu)化后的冒泡排序,每排完一次,最后一個(gè)數(shù)已經(jīng)是最大的,就不需要再比較了。 冒泡排序的時(shí)間用大O表示法是O(N^2). 傳統(tǒng)的冒泡排序: /** * @param total 要排序的數(shù)組長(zhǎng)度 */ public void sort(in...

    xiaoqibTn 評(píng)論0 收藏0
  • 【Vue原理】依賴收集 - 源碼版之基本數(shù)據(jù)類型

    摘要:當(dāng)東西發(fā)售時(shí),就會(huì)打你的電話通知你,讓你來領(lǐng)取完成更新。其中涉及的幾個(gè)步驟,按上面的例子來轉(zhuǎn)化一下你買東西,就是你要使用數(shù)據(jù)你把電話給老板,電話就是你的,用于通知老板記下電話在電話本,就是把保存在中。剩下的步驟屬于依賴更新 寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注 Vue 源碼分享,文章分為白話版和 源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于 Vue版本 【...

    VincentFF 評(píng)論0 收藏0
  • 【Vue原理】Slot - 源碼版之普通插槽

    摘要:我們都知道分為普通和作用域,兩個(gè)內(nèi)容都很多,所以分兩部分進(jìn)行講述。今天講的是普通其實(shí)普通,表示默認(rèn)和具名,只是他們的處理方式都差不多,就只是是否有自定義名字而已,所以,表示一種類型。 寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注 Vue 源碼分享,文章分為白話版和 源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于 Vue版本 【2.5.17】 如果你覺得排版難看,請(qǐng)...

    lansheng228 評(píng)論0 收藏0
  • Android開發(fā)之大圖片內(nèi)存溢出優(yōu)化

    摘要:縮放加載加載大圖片使用大圖片時(shí)可能出現(xiàn)的異常在下采用來表示顏色每個(gè)像素占圖片手機(jī)寬縮放高縮放需要考慮的問題動(dòng)態(tài)獲取圖片的分辨率動(dòng)態(tài)獲取手機(jī)分辨率實(shí)現(xiàn)步驟獲取手機(jī)屏幕的寬和高獲取圖片的寬和高創(chuàng)建的配置參數(shù)設(shè)置的值為此時(shí)方法并不會(huì)去真正 縮放加載加載大圖片(使用大圖片時(shí)可能出現(xiàn)的異常) 09-14 00:59:51.813: E/AndroidRuntime(2128): Caused b...

    yibinnn 評(píng)論0 收藏0
  • 【Vue原理】Slot - 源碼版之作用域插槽

    摘要:通過函數(shù)參數(shù)傳遞的形式,讓插槽的變量,在解析時(shí),先訪問函數(shù)變量。那么這兩個(gè)有什么關(guān)系呢外殼節(jié)點(diǎn)保存著所有父組件里給這個(gè)子組件綁定的數(shù)據(jù),比如,插槽等。 寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注 Vue 源碼分享,文章分為白話版和 源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于 Vue版本 【2.5.17】 如果你覺得排版難看,請(qǐng)點(diǎn)擊 下面鏈接 或者 拉到 下面...

    tolerious 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<