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

隨筆 - 70  文章 - 160  trackbacks - 0

公告:
知識共享許可協(xié)議
本博客采用知識共享署名 2.5 中國大陸許可協(xié)議進行許可。本博客版權(quán)歸作者所有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意不得隨機刪除文章任何內(nèi)容,且在文章頁面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。 具體操作方式可參考此處。如您有任何疑問或者授權(quán)方面的協(xié)商,請給我留言。

常用鏈接

留言簿(8)

隨筆檔案

文章檔案

搜索

  •  

積分與排名

  • 積分 - 180035
  • 排名 - 147

最新評論

閱讀排行榜

評論排行榜

建議先看看前言:http://www.shnenglu.com/tanky-woo/archive/2011/04/09/143794.html

這一章的內(nèi)容很簡單,基本都是一些概念。

第i個順序統(tǒng)計量:在一個由n個元素組成的集合中,第i個順序統(tǒng)計量(order statistic)是該集合中第i小的元素。

最小值是第1個順序統(tǒng)計量(i=1)

最大值是第n個順序統(tǒng)計量(i=n)

中位數(shù):一個中位數(shù)(median)是它所在集合的“中點元素”,當(dāng)n為奇數(shù)時,i=(n+1)/2,當(dāng)n為偶數(shù)是,中位數(shù)總是出現(xiàn)在1 (下中位數(shù))和2 (上中位數(shù))。

找最大值/最小值問題,通過比較n-1次可以得出結(jié)果。

MINIMUM(A)
1  minA[1]
2  for i ← 2 to length[A]
3         do if min > A[i]
4                then minA[i]
5  return min

如果要同時找出最大值和最小值,則比較次數(shù)最少并不是2*n-2,而是3 ,我們可以將一對元素比較,然后把較大者于max比較,較小者與min比較,這樣就只需要3

如果是一般的選擇問題,即找出一段序列第i小的數(shù),看起來要比找最大值或最小值要麻煩,其實兩種問題的漸進時間都是4

首先看看這個強悍的偽代碼:

RANDOMIZED-SELECT(A, p, r, i)
1  if p = r
2      then return A[p]
3  q ← RANDOMIZED-PARTITION(A, p, r)
4  kq - p + 1
5  if i = k          ? the pivot value is the answer
6      then return A[q]
7  elseif i < k
8      then return RANDOMIZED-SELECT(A, p, q - 1, i)
9  else return RANDOMIZED-SELECT(A, q + 1, r, i - k)

這個算法利用了隨機化的Partition算法,這個實在第七章的隨機化快排中講到:http://www.wutianqi.com/?p=2368,不記得的可以先復(fù)習(xí)下前面的快排。

這個隨機化的選擇算法返回數(shù)組A[p..r]中第i小的元素。

具體實現(xiàn)如下:

 1 /*
 2 Author: Tanky Woo
 3 Blog:   www.WuTianQi.com
 4 About:  《算法導(dǎo)論》第9章 查找序列第i小的數(shù)字
 5 */
 6  
 7 #include <iostream>
 8 #include <cstdlib>
 9 using namespace std;
10  
11 int Partition(int *arr, int beg, int end)
12 {
13     int sentinel = arr[end];
14     int i = beg-1;
15     for(int j=beg; j<=end-1++j)
16     {
17         if(arr[j] <= sentinel)
18         {
19             i++;
20             swap(arr[i], arr[j]);
21         }
22     }
23     swap(arr[i+1], arr[end]);
24  
25     return i+1;
26 }
27  
28 int RandomPartition(int *arr, int beg, int end)
29 {
30     int i = beg + rand() % (end-beg+1);
31     swap(arr[i], arr[end]);
32     return Partition(arr, beg, end);
33 }
34  
35  
36 int RandomSelect(int *a, int p, int r, int i)
37 {
38     if(p == r)
39         return a[p];
40     int q = Partition(a, p, r);
41     int k = q-p+1;
42     if(i == k)
43         return a[q];
44     else if(i < k)
45         return RandomSelect(a, p, q-1, i);
46     else
47         return RandomSelect(a, q+1, r, i-k);
48 }
49  
50 int main()  
51 {  
52     int a[] = {08910021528332763};  
53     int num = 9;   
54     int ith;
55     cout << "序列為: ";
56     for(int i=1; i<=num; ++i)  
57         cout << a[i] << " ";
58     cout << endl;
59     ith = RandomSelect(a, 1, num, 2);
60     cout << "序列中第2小的數(shù)字是: " << ith << endl;
61     getchar();
62  
63     return 0;  
64 }

結(jié)果如圖:
5

在(89, 100, 21, 5, 2, 8, 33, 27, 63)中查找第二小的數(shù)字是5. 

該算法的平均情況性能較好,并且又是隨機化的,所有沒有哪一種特別的輸入會導(dǎo)致最壞情況發(fā)生。



在我獨立博客上的原文:http://www.wutianqi.com/?p=2395
歡迎大家互相學(xué)習(xí),互相探討。
posted on 2011-04-26 13:00 Tanky Woo 閱讀(1584) 評論(1)  編輯 收藏 引用

FeedBack:
# re: 《算法導(dǎo)論》學(xué)習(xí)總結(jié) — 9.第九章 中位數(shù)和順序統(tǒng)計學(xué) 2012-11-24 17:20 
對于效果來說則是業(yè)績效果論述目前的沒有信息分析的依據(jù)在目前來說其實是對于電腦上面的文字不愿意去看,內(nèi)心總是嘆氣的一種心理表現(xiàn),  回復(fù)  更多評論
  

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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久久国产香蕉| 久久高清免费观看| 激情久久久久久| 欧美大片一区| 欧美精品少妇一区二区三区| 亚洲天堂成人| 欧美一区二区性| 亚洲精品一区二区三区不| 日韩视频免费观看高清在线视频 | 久久激情久久| 久久裸体视频| 亚洲小说欧美另类婷婷| 亚洲永久在线| 亚洲精品久久久蜜桃| 亚洲乱码国产乱码精品精98午夜| 欧美天天视频| 久久夜色精品国产| 久久人人爽人人爽爽久久| 亚洲天堂视频在线观看| 99成人精品| 国产日韩在线一区| 欧美成人一区二区| 欧美午夜不卡视频| 欧美va亚洲va香蕉在线| 欧美视频中文字幕| 乱中年女人伦av一区二区| 欧美视频在线一区| 欧美激情精品久久久久久黑人 | 亚洲免费观看视频| 国产视频久久| 99热在这里有精品免费| 激情久久久久久| 亚洲午夜久久久久久久久电影院| 亚洲福利一区| 欧美一区二区日韩一区二区| 亚洲美洲欧洲综合国产一区| 午夜日韩在线| 午夜久久一区| 欧美日韩激情小视频| 免费日韩成人| 国产香蕉久久精品综合网| 99国产精品久久| 亚洲精品一线二线三线无人区| 久久精品日产第一区二区三区| 亚洲免费网站| 欧美三级午夜理伦三级中视频| 女仆av观看一区| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲一区二区三| 在线午夜精品| 欧美日韩激情小视频| 亚洲国产精品一区二区www在线| 国产三级欧美三级| 午夜精品久久久久99热蜜桃导演| 亚洲午夜精品| 欧美日韩一区高清| 日韩视频中文字幕| 一区二区成人精品 | 欧美日韩一卡| 亚洲日本成人网| 日韩视频在线免费| 欧美精品一二三| 亚洲精品视频免费| 日韩视频不卡中文| 欧美欧美全黄| 欧美一区亚洲二区| 久久国产一区| 狠狠v欧美v日韩v亚洲ⅴ| 久久精品国产久精国产爱| 久久久噜噜噜久噜久久 | 在线日韩av| 欧美成人性网| 亚洲伦理在线| 亚洲欧美激情视频| 国产目拍亚洲精品99久久精品| 最新高清无码专区| 亚洲视频视频在线| 久久久99久久精品女同性| 狠狠狠色丁香婷婷综合久久五月 | 亚洲欧洲日本mm| 国产精品99久久久久久白浆小说| 欧美日韩亚洲一区二区三区在线| 亚洲视频在线观看免费| 欧美一级专区| 亚洲电影免费观看高清完整版在线观看| 玖玖视频精品| 一本久久综合亚洲鲁鲁| 久久大逼视频| 亚洲激情综合| 国产精品区一区二区三| 欧美一区二区视频网站| 亚洲精美视频| 欧美在线观看日本一区| 在线观看av一区| 欧美日韩亚洲国产一区| 欧美一区激情| 亚洲免费观看高清完整版在线观看| 欧美在线影院在线视频| 亚洲人成网站777色婷婷| 国产精品初高中精品久久| 久久久久久久久久码影片| 亚洲欧洲三级电影| 久久精品91久久香蕉加勒比| 亚洲美女精品一区| 国产一区二区三区网站| 欧美日本国产一区| 久久综合九九| 性做久久久久久久久| 亚洲日本欧美日韩高观看| 久久蜜桃资源一区二区老牛 | 欧美一级视频一区二区| 亚洲经典三级| 一区二区亚洲欧洲国产日韩| 国产精品啊啊啊| 欧美激情综合亚洲一二区| 欧美在线不卡| 亚洲欧美日本在线| 亚洲精品中文字幕女同| 猛男gaygay欧美视频| 久久国产色av| 西瓜成人精品人成网站| 亚洲美女黄网| 亚洲精品一区二区三区福利| 在线日韩中文字幕| 国产一区二区三区在线播放免费观看| 欧美午夜宅男影院| 欧美日韩视频免费播放| 欧美mv日韩mv国产网站app| 久久精品国产清高在天天线| 亚洲午夜成aⅴ人片| 夜夜夜久久久| 一区二区三区欧美激情| 99亚洲一区二区| 亚洲精品在线免费观看视频| 亚洲第一黄色网| 欧美激情麻豆| 亚洲高清三级视频| 亚洲第一色中文字幕| 亚洲第一精品夜夜躁人人躁 | 久久久久久亚洲综合影院红桃 | 另类亚洲自拍| 蜜桃av噜噜一区| 欧美精品色网| 国产日韩欧美在线| 国产伦精品一区二区三区免费迷 | 国产精品一区久久久久| 国产精品免费在线| 国产精品伦一区| 国产日韩专区在线| 黑人巨大精品欧美一区二区| 在线高清一区| 日韩视频免费大全中文字幕| 亚洲乱码日产精品bd| 亚洲网友自拍| 欧美一区二区三区电影在线观看| 欧美一区二区免费观在线| 久久久久91| 亚洲国产高清一区二区三区| 亚洲日本黄色| 亚洲欧美成人网| 久久在线视频在线| 欧美精品三级| 国产欧美精品一区aⅴ影院| 国语精品中文字幕| 日韩视频一区二区三区在线播放免费观看 | 一本色道综合亚洲| 亚洲欧美中日韩| 久热re这里精品视频在线6| 亚洲国产欧洲综合997久久| 一本色道久久综合亚洲精品小说| 午夜精品久久久久久99热软件| 久久久久免费视频| 欧美日韩国产探花| 国产在线精品自拍| 日韩一级大片| 久久久久久久久久久久久久一区 | 一区电影在线观看| 久久久久久久久久久成人| 欧美日韩一区成人| 伊人精品久久久久7777| 亚洲天堂网在线观看| 蜜桃视频一区| 亚洲一区精品电影| 欧美国产亚洲精品久久久8v| 国产午夜精品在线观看| 一区二区三区欧美在线观看| 久久久久九九九九| 夜夜嗨av一区二区三区四区| 久久久久一区二区三区| 欧美色中文字幕| 最新成人av在线| 久久久精品国产一区二区三区| 亚洲乱码国产乱码精品精天堂| 欧美怡红院视频一区二区三区| 欧美日韩综合久久| 一本色道精品久久一区二区三区| 久久久久国产一区二区三区| 亚洲香蕉在线观看| 欧美色精品天天在线观看视频|