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

隨感而發(fā)

雜七雜八

統(tǒng)計

留言簿(13)

閱讀排行榜

評論排行榜

尋找第i小元素

今天學習了求第i小元素,被書上忽悠了一下,他硬說是0(n)的復雜度,我怎么看怎么看就是快速排序的思路,只是省去一半的遞歸而已。我開始還以為真的就0(n)呢,自己還想了好久用一個循環(huán)搞定之,結果后來發(fā)現(xiàn),o(n)是最理想情況了。哎。書上說的有個中位數(shù)來得到o(n)的求第i小元素的方法,可以我愚笨,沒有看懂。我就不信他插入排序不算時間,然后遞歸一下求中衛(wèi)數(shù),能正確?反正我是沒有看懂,也不敢實現(xiàn)了。只實現(xiàn)了快速排序思路的方法,而且還發(fā)現(xiàn),我寫了N遍快速排序了,居然還出錯!我也發(fā)現(xiàn)我以前的寫法也有錯。哎,郁悶啊。繼續(xù)加油吧。。堅持。。
奉上源代碼:(沒有什么,就是快排)
#include <stdio.h>
#include 
<stdlib.h>
#include 
<time.h>

//隨機分隔,(就是快排的分割函數(shù))
int RandomPartition(int nData[], int nBegin, int nEnd)
{
    
int i = nBegin + rand() % (nEnd - nBegin);

    
int nX = nData[i];
    nData[i] 
= nData[nBegin];
    nData[nBegin] 
= nX;
    
--nEnd;
    
while(nBegin < nEnd)
    {
        
while(nData[nEnd] > nX)
        {
            
--nEnd;
        }
        
if (nBegin < nEnd)
        {
            nData[nBegin] 
= nData[nEnd];
            nData[nEnd] 
= nX;
            
++nBegin;
        }

        
while (nData[nBegin] < nX)
        {
            
++nBegin;
        }
        
if (nBegin < nEnd)
        {
            nData[nEnd] 
= nData[nBegin];
            
--nEnd;
        }
    }

    nData[nBegin] 
= nX;
    
return nBegin;
}

//遞歸調用得到第i小元素
int RandomIzedRecursion(int nData[], int nBegin, int nEnd, int nPos)
{
    
if (nBegin >= nEnd - 1)        //如果nBegin,直接認為找到了該值
    {
        
return nData[nBegin];
    }
    
int i = RandomPartition(nData, nBegin, nEnd);    //分割兩部分
    if (i == nPos)    //如果剛好分割符號就是nPos,就找到了這個值。
    {
        
return nData[i];
    }

    
if (i > nPos)        //i > nPos。這繼續(xù)遞歸nBegin - i的區(qū)域。
    {
        
return RandomIzedRecursion(nData, nBegin, i, nPos);
    }
                        
//否則遞歸 i + 1, nEnd區(qū)域,不過這時候nPos要相應的改變?yōu)閚Pos - i - 1
    return RandomIzedRecursion(nData, i + 1, nEnd, nPos - i - 1);
    

}

//得到第i小元素
int RandomIzedSelect(int nData[], int nLen, int nPos)
{
    srand((size_t)time(NULL));
    
return RandomIzedRecursion(nData, 0, nLen, nPos);
}

int main()
{
    
int nData[10= {8,2,5,9,3,6,4,7,1,6};    //測試
    int nTest;
    
for (int i = 0; i < 10++i)
    {
        nTest 
= RandomIzedSelect(nData, 10, i);
        printf(
"%d ", nTest);
    }
    printf(
"\n");

    
for (int i = 0; i < 10++i)        //注意,這里是改變了原來的數(shù)據(jù)
    {
        printf(
"%d ", nData[i]);
    }
    printf(
"\n");
    system(
"pause");
    
return 0;
}


posted on 2009-04-27 19:36 shongbee2 閱讀(851) 評論(0)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)結構和算法

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲人在线视频| 99精品视频一区| 久久综合九色九九| 亚洲高清不卡| 亚洲激情一区| 欧美日韩亚洲免费| 欧美亚洲视频在线观看| 亚洲一区日韩在线| 国内成+人亚洲| 欧美福利影院| 欧美日韩亚洲一区二区| 亚洲综合大片69999| 亚洲欧美国产日韩中文字幕| 国产亚洲欧洲997久久综合| 老司机久久99久久精品播放免费| 久久免费黄色| 一区二区三区四区蜜桃| 亚洲尤物在线视频观看| 在线观看视频一区二区| 亚洲国产日韩欧美在线图片| 欧美日韩综合在线免费观看| 久久国产加勒比精品无码| 久久精品国产免费观看| 亚洲三级免费电影| 亚洲视频观看| 最新国产精品拍自在线播放| 夜夜嗨一区二区三区| 狠狠操狠狠色综合网| 亚洲国产精品va在线看黑人| 国产精品私拍pans大尺度在线| 欧美成年人视频网站欧美| 欧美日韩一本到| 久久另类ts人妖一区二区| 欧美精品在线观看播放| 久久男人资源视频| 欧美日韩精品免费看| 老妇喷水一区二区三区| 欧美日韩在线高清| 欧美成人一区二区在线| 国产精品日本欧美一区二区三区| 欧美成人高清| 国内视频精品| 亚洲视频一区二区在线观看 | 午夜电影亚洲| 日韩亚洲欧美精品| 久久成人久久爱| 亚洲专区一区| 欧美激情精品久久久久久大尺度 | 亚洲电影免费| 性欧美xxxx视频在线观看| 99精品国产一区二区青青牛奶| 午夜精品成人在线视频| 亚洲一区二区三区中文字幕| 久久亚洲精品视频| 久久久国产午夜精品| 国产精品欧美在线| 99国产精品99久久久久久粉嫩| 亚洲国产精品久久久久婷婷老年| 欧美一区二区日韩| 欧美一级视频精品观看| 欧美午夜一区| 在线视频亚洲| 亚洲在线观看免费视频| 欧美日本一区| 亚洲日本在线观看| 一本大道久久a久久精品综合| 久久野战av| 欧美激情一区二区三区在线视频观看| 红桃视频亚洲| 久久五月婷婷丁香社区| 另类图片综合电影| 亚洲第一精品夜夜躁人人躁| 久久精品色图| 欧美aⅴ99久久黑人专区| 在线观看成人av| 欧美阿v一级看视频| 亚洲电影免费观看高清完整版在线观看| 亚洲第一视频| 欧美成人在线影院| 日韩午夜在线电影| 亚洲欧美另类久久久精品2019| 国产精品久久久久久久久免费桃花| 亚洲午夜精品国产| 久久成人精品电影| 一区二区三区亚洲| 欧美看片网站| 午夜一区二区三区不卡视频| 久久影院午夜论| 亚洲激情网站免费观看| 欧美精品久久久久久久久久| 99re8这里有精品热视频免费| 午夜亚洲视频| 亚洲福利电影| 欧美视频在线不卡| 欧美在线视频播放| 亚洲国产精品高清久久久| 亚洲一区二区三区精品动漫| 国外成人网址| 欧美精品免费视频| 欧美一级大片在线观看| 亚洲成人在线视频播放| 亚洲免费视频网站| 黄色欧美成人| 国产精品高清免费在线观看| 欧美在线视频全部完| 亚洲精品国产精品国自产在线| 亚洲欧美日韩直播| 亚洲欧洲日产国码二区| 国产乱肥老妇国产一区二| 久久嫩草精品久久久精品| 99国产一区二区三精品乱码| 久久久精品一区| 亚洲少妇最新在线视频| 伊人男人综合视频网| 国产精品va在线播放| 毛片基地黄久久久久久天堂| 亚洲午夜激情| 亚洲七七久久综合桃花剧情介绍| 久久精品99| 亚洲一区二区三| 亚洲精品视频在线观看免费| 狠狠久久婷婷| 国产精品一区二区女厕厕| 欧美极品一区| 欧美 日韩 国产在线| 欧美专区日韩视频| 亚洲一卡久久| 一区二区三区国产在线| 亚洲高清免费| 欧美国产日韩二区| 美女精品网站| 久久精品免视看| 先锋影音一区二区三区| 亚洲字幕在线观看| 在线视频亚洲欧美| 夜夜爽av福利精品导航| 最新国产拍偷乱拍精品| 亚洲国产精品成人| 黑丝一区二区三区| 国产综合婷婷| 狠狠色2019综合网| 国内偷自视频区视频综合| 国产精品网站在线| 国产精品麻豆va在线播放| 欧美视频免费| 国产精品福利影院| 国产精品亚洲一区| 国产乱码精品1区2区3区| 国产精品视频午夜| 国产日韩精品在线| 国产一区二区黄色| 激情综合五月天| 在线精品国产成人综合| 在线播放一区| 亚洲精品日韩综合观看成人91| 亚洲毛片视频| 亚洲午夜精品一区二区| 小处雏高清一区二区三区| 新片速递亚洲合集欧美合集| 欧美亚洲免费高清在线观看| 久久久久高清| 欧美激情第3页| 99视频日韩| 午夜精品久久久99热福利| 久久精品国产69国产精品亚洲 | 这里只有视频精品| 亚洲综合精品自拍| 久久国产毛片| 免费视频一区二区三区在线观看| 欧美成人亚洲成人| 国产精品理论片在线观看| 国产欧美一区二区白浆黑人| 在线播放亚洲| 一区二区三区导航| 久久精彩视频| 亚洲第一在线综合网站| 国产精品99久久久久久白浆小说| 小嫩嫩精品导航| 欧美成人国产一区二区| 国产精品成人观看视频免费| 黄色工厂这里只有精品| 日韩视频三区| 久久久午夜精品| 日韩亚洲欧美在线观看| 久久久高清一区二区三区| 欧美日韩国产影院| 国产手机视频一区二区| 999亚洲国产精| 久久久美女艺术照精彩视频福利播放 | 欧美亚日韩国产aⅴ精品中极品| 国产日韩欧美在线视频观看| 最新成人av在线| 欧美在线看片a免费观看| 亚洲黄网站黄| 久久精品99久久香蕉国产色戒| 欧美精品尤物在线| 一区在线观看| 欧美一区影院| 一本色道综合亚洲| 欧美成人精品高清在线播放|