青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Jiang's C++ Space

創作,也是一種學習的過程。

   :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::

六、二分法查找(Binary Search)

如何從數組里找一個元素的位置?如果排列是無序的,我們只能從頭到尾找,但如果排列是有序的,我們則可以用別的更好的方法,二分查找法就類似我們在英漢詞典里找一個單詞的方法。如下圖所示(假如我們要查找的數字是“88”):

下面我給出了一段demo代碼,來演示二分查找法比順序查找快多少,代碼為了方便起見,初始化有序表的時候填入的數字都是均勻的,而事實上數字可以不均勻。你可以調整一下代碼中TABLE_SIZE的值,從500,調到5000,再調到10000,再調到30000……你會發覺兩者差距越來越明顯。我在第一篇的地方提到二分查找法的復雜度為Ο(logn),而順序查找的復雜度為Ο(n),當n越來越大時候,Ο(logn)的優勢也就越來越明顯,當然了,前提是“有序”,才可用二分查找法。

#include "stdio.h"
#include 
"time.h"

#define TABLE_SIZE 50000

//returns the position, -1 means failed.
int SequenceSearch(int *pArray, int iArraySize, int iVal)
{
    
int i;
    
for(i=0; i<iArraySize; i++)
    {
        
if(pArray[i]==iVal)
            
return i;
    }

    
return -1;
}

//returns the position, -1 means failed.
int BinarySearch(int *pArray, int iArraySize, int iVal)
{
    
int iLeft = 0;
    
int iRight = iArraySize-1;
    
while(iLeft<=iRight)
    {
        
int iMiddle = (iLeft+iRight)/2;
        
if(iVal < pArray[iMiddle])
        {
            iRight 
= iMiddle-1;
        }
        
else if(iVal > pArray[iMiddle])
        {
            iLeft 
= iMiddle+1;
        }
        
else
            
return iMiddle;
    }

    
return -1;
}

int main(int argc, char* argv[])
{
    
//make the table
    int table[TABLE_SIZE];
    
int i;
    
for(i=0; i<TABLE_SIZE; i++)
    {
        table[i] 
= i*2;
    }

    clock_t ctBegin 
= clock();
    
//Test sequence search
    for(i=0; i<TABLE_SIZE; i++)
    {
        SequenceSearch(table, TABLE_SIZE, i
*2);
    }
    clock_t ctEnd 
= clock();

    printf(
"SequenceSearch takes %d clocks.\n", ctEnd-ctBegin);

    
//Test binary search
    ctBegin = clock();
    
for(i=0; i<TABLE_SIZE; i++)
    {
        BinarySearch(table, TABLE_SIZE, i
*2);
    }
    ctEnd 
= clock();
    
    printf(
"BinarySearch takes %d clocks.\n", ctEnd-ctBegin);

    
return 0;
}

這篇文章是不是太簡單了點?OK,下一篇技術含量要高一點了。

posted on 2009-10-15 10:15 Jiang Guogang 閱讀(1633) 評論(0)  編輯 收藏 引用 所屬分類: Knowledge
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久人成影片一区二区三区| 国产精品久久久久久久久免费桃花 | 欧美+亚洲+精品+三区| 亚洲影音一区| 欧美一区二区性| 久久男女视频| 亚洲高清资源| 亚洲精品综合| 亚洲男女毛片无遮挡| 久久aⅴ乱码一区二区三区| 久久精品国产久精国产思思| 久久婷婷一区| 欧美日韩在线影院| 国外成人在线视频| 中文在线一区| 久久影音先锋| 亚洲精品综合精品自拍| 午夜在线a亚洲v天堂网2018| 免费观看一区| 国产精品美女一区二区| 在线电影欧美日韩一区二区私密| 99精品欧美一区二区三区综合在线| 亚洲欧美国产精品桃花| 免费精品视频| 亚洲一区二区三| 久久久久久成人| 国产精品高潮在线| 亚洲国产三级在线| 欧美主播一区二区三区| 91久久精品日日躁夜夜躁国产| 亚洲欧美精品一区| 欧美国产一区二区在线观看| 国产亚洲亚洲| 亚洲欧美日韩精品久久奇米色影视| 欧美r片在线| 亚洲欧美中文另类| 欧美性片在线观看| 99在线热播精品免费| 农村妇女精品| 欧美亚洲综合在线| 欧美日韩精品一本二本三本| 亚洲国产精品久久久久| 欧美在线亚洲一区| 日韩视频亚洲视频| 欧美激情无毛| 亚洲国产岛国毛片在线| 久久久精品免费视频| 亚洲视频观看| 欧美体内she精视频| 亚洲靠逼com| 亚洲国产欧美一区二区三区同亚洲| 久久久91精品国产| 国内一区二区三区在线视频| 欧美freesex交免费视频| 欧美特黄一级| 中文国产亚洲喷潮| 亚洲精品资源美女情侣酒店| 欧美成年人网站| 在线观看91精品国产入口| 久久久久在线观看| 欧美一级网站| 国产一区二区三区在线免费观看| 午夜精品国产更新| 亚洲一区精品视频| 国产欧美日韩视频在线观看| 性做久久久久久免费观看欧美| 日韩一级精品| 欧美午夜一区| 欧美亚洲三级| 欧美伊人久久| 狠狠色丁香婷婷综合影院| 噜噜噜噜噜久久久久久91| 久久久国产精品亚洲一区| 黄色在线一区| 亚洲二区在线视频| 欧美日韩小视频| 午夜精品婷婷| 欧美一级在线播放| 亚洲国产高清aⅴ视频| 亚洲国产欧美日韩另类综合| 欧美日韩视频在线| 久久福利影视| 美女视频黄a大片欧美| 一区二区三区日韩精品| 亚洲在线中文字幕| 亚洲风情亚aⅴ在线发布| 亚洲经典三级| 国产精品一区二区在线观看| 美女主播精品视频一二三四| 欧美精品videossex性护士| 亚洲综合视频1区| 久久久久久综合| 亚洲天堂黄色| 久久久久久9| 亚洲欧美经典视频| 免费不卡在线视频| 欧美一级黄色网| 欧美成人激情视频免费观看| 欧美一区二区网站| 欧美成人有码| 欧美在线观看视频一区二区| 欧美黄色一区| 久久亚洲春色中文字幕| 欧美日韩中文字幕在线视频| 免费成人av在线看| 国产啪精品视频| 99精品国产一区二区青青牛奶| 一区二区三区在线视频观看| 亚洲伦理在线观看| 亚洲国产欧美一区二区三区丁香婷| 亚洲深夜福利视频| 99伊人成综合| 男女激情视频一区| 老司机久久99久久精品播放免费| 欧美午夜不卡| 亚洲高清视频在线| 亚洲国产精品久久久久秋霞不卡 | 一片黄亚洲嫩模| 亚洲国产天堂久久综合网| 亚洲欧美区自拍先锋| 亚洲视频第一页| 免费欧美视频| 六月婷婷久久| 黄色成人小视频| 欧美一区二区黄色| 欧美亚洲日本网站| 国产精品试看| 在线亚洲精品| 亚洲一区免费观看| 欧美日韩国产va另类| 欧美电影免费观看高清完整版 | 99精品热视频| 欧美激情国产日韩精品一区18| 免费视频一区| 尤物九九久久国产精品的分类| 午夜视频在线观看一区二区三区| 亚洲一区二区视频在线观看| 欧美久久在线| 亚洲美女毛片| 亚洲淫片在线视频| 国产精品久久久久久影院8一贰佰| 亚洲精品免费观看| 99精品欧美一区| 欧美啪啪成人vr| 日韩一级精品| 午夜激情久久久| 国产伦精品一区二区三区四区免费 | 亚洲一级在线| 国产精品青草综合久久久久99 | 亚洲专区欧美专区| 欧美在线观看网站| 国产综合自拍| 久久夜色精品国产噜噜av| 午夜视频一区二区| 国产日韩精品一区二区三区| 午夜激情一区| 久久久久九九九| 亚洲大胆av| 欧美精品日韩综合在线| 中文av一区特黄| 久久精品国产91精品亚洲| 狠狠操狠狠色综合网| 免费观看成人www动漫视频| 亚洲国产美女久久久久| 亚洲欧美经典视频| 激情五月综合色婷婷一区二区| 久久午夜精品| 日韩视频免费在线| 久久国产福利国产秒拍| 亚洲国产欧美不卡在线观看| 欧美日韩视频一区二区| 欧美一区二区视频观看视频| 亚洲第一精品在线| 午夜在线一区| 亚洲人精品午夜在线观看| 国产精品国产三级国产aⅴ无密码| 欧美一区视频在线| 亚洲欧洲日本专区| 久久精品人人做人人爽| 一区二区三区视频在线观看| 国产欧美精品一区aⅴ影院| 久久人人97超碰国产公开结果 | 欧美视频第二页| 欧美一区二区三区免费视| 亚洲国产精品va| 亚洲欧美一区二区三区极速播放| 国产亚洲福利| 欧美色中文字幕| 久久久久久久综合狠狠综合| 9国产精品视频| 蜜桃av一区二区在线观看| 亚洲一区二区3| 亚洲风情亚aⅴ在线发布| 国产精品电影在线观看| 老司机精品视频一区二区三区| 亚洲小说欧美另类社区| 欧美福利在线观看| 久久久一二三| 国产一区二区精品久久| 欧美色综合天天久久综合精品|