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

隨筆 - 70  文章 - 160  trackbacks - 0

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

常用鏈接

留言簿(8)

隨筆檔案

文章檔案

搜索

  •  

積分與排名

  • 積分 - 180823
  • 排名 - 147

最新評論

閱讀排行榜

評論排行榜

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

這一章的內容很簡單,基本都是一些概念。

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

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

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

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

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

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

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

如果是一般的選擇問題,即找出一段序列第i小的數,看起來要比找最大值或最小值要麻煩,其實兩種問題的漸進時間都是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,不記得的可以先復習下前面的快排。

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

具體實現如下:

 1 /*
 2 Author: Tanky Woo
 3 Blog:   www.WuTianQi.com
 4 About:  《算法導論》第9章 查找序列第i小的數字
 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小的數字是: " << ith << endl;
61     getchar();
62  
63     return 0;  
64 }

結果如圖:
5

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

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



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

FeedBack:
# re: 《算法導論》學習總結 — 9.第九章 中位數和順序統計學 2012-11-24 17:20 
對于效果來說則是業績效果論述目前的沒有信息分析的依據在目前來說其實是對于電腦上面的文字不愿意去看,內心總是嘆氣的一種心理表現,  回復  更多評論
  

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   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>
              久久久久久久精| 欧美大片在线观看一区二区| 亚洲国产一区二区视频| 久久久久久综合| 亚洲国产成人午夜在线一区| 美女啪啪无遮挡免费久久网站| 欧美专区第一页| 在线观看日韩av| 亚洲欧洲日本mm| 国产精品成人久久久久| 久久激情久久| 久久嫩草精品久久久精品| 在线欧美电影| 亚洲精一区二区三区| 欧美午夜影院| 久久久久久久97| 欧美成人精品一区| 亚洲自拍三区| 欧美综合激情网| 亚洲三级色网| 亚洲图片自拍偷拍| 亚洲动漫精品| 亚洲一区二区三区成人在线视频精品| 国产欧美日韩三区| 亚洲高清久久| 国产精品揄拍500视频| 欧美成人一区二区| 国产精品久久久久久久久久ktv| 久久精品国产清高在天天线| 葵司免费一区二区三区四区五区| 亚洲香蕉伊综合在人在线视看| 午夜精品久久久久久久99黑人| 亚洲电影免费在线 | 一区二区久久久久| 亚洲欧美日韩综合一区| 亚洲欧洲日本一区二区三区| 亚洲一区三区电影在线观看| 亚洲第一在线综合网站| 一区二区三区四区五区精品| 亚洲第一级黄色片| 亚洲午夜av在线| 91久久国产自产拍夜夜嗨| 亚洲综合色视频| 一区二区av在线| 美国三级日本三级久久99| 欧美一区二区在线看| 欧美激情中文字幕一区二区| 久久久777| 国产乱码精品一区二区三区av| 亚洲激情视频在线播放| 在线观看日韩av先锋影音电影院| 亚洲一区二区免费看| 亚洲精选视频在线| 蜜桃伊人久久| 榴莲视频成人在线观看| 国产情人节一区| 亚洲小视频在线| 亚洲深夜福利在线| 欧美福利视频在线| 亚洲第一毛片| 亚洲国产一二三| 麻豆免费精品视频| 免费在线成人| 1769国产精品| 久久久久久久精| 久久九九99视频| 国产欧美日韩精品在线| 午夜精品av| 欧美综合77777色婷婷| 国产欧美日韩一级| 欧美一区二区日韩一区二区| 亚洲欧美日韩在线综合| 国产精品久久久久久久久久免费看 | 欧美午夜片在线免费观看| 亚洲欧洲精品一区二区精品久久久| 亚洲成人资源网| 久久综合久久久久88| 麻豆成人91精品二区三区| 激情一区二区| 免费观看欧美在线视频的网站| 麻豆精品91| 亚洲精品视频中文字幕| 欧美久久久久久久久久| 一区二区高清视频在线观看| 欧美一级久久久久久久大片| 国产欧美日韩在线观看| 久久久www| 欧美黄色视屏| 中文欧美日韩| 国内成人精品一区| 免费成人黄色| 一区二区三区日韩欧美精品| 久久成人一区| 亚洲欧洲一二三| 国产精品免费视频xxxx| 久久精品亚洲乱码伦伦中文 | 欧美一级淫片播放口| 国产午夜精品全部视频播放 | 久久精品夜色噜噜亚洲aⅴ| 欧美激情导航| 亚洲欧美在线一区| 精品电影在线观看| 欧美日韩国产首页在线观看| 这里只有精品在线播放| 欧美v国产在线一区二区三区| 在线视频你懂得一区| 国产嫩草一区二区三区在线观看 | 欧美视频免费在线| 久久福利电影| 亚洲美女视频在线观看| 欧美在线视频导航| 亚洲精品无人区| 国产区在线观看成人精品| 美女免费视频一区| 亚洲欧美999| 亚洲精品九九| 狂野欧美激情性xxxx| a91a精品视频在线观看| 国内久久婷婷综合| 欧美三级黄美女| 快she精品国产999| 亚洲欧美一区二区在线观看| 亚洲国产99精品国自产| 久久精品国产亚洲一区二区| 夜色激情一区二区| 亚洲高清资源综合久久精品| 国产精品日韩欧美一区二区| 老司机免费视频一区二区| 亚洲欧美日韩一区在线观看| 日韩视频在线观看免费| 欧美国产日韩一区二区在线观看 | 亚洲精品之草原avav久久| 国产亚洲va综合人人澡精品| 欧美视频在线播放| 欧美人交a欧美精品| 久久亚洲国产成人| 久久天天躁狠狠躁夜夜av| 亚洲欧美日韩直播| 亚洲网站视频福利| 一区二区三区视频在线看| 亚洲精品欧美激情| 亚洲精品日韩综合观看成人91| 欧美激情精品久久久久久黑人| 欧美制服丝袜第一页| 午夜精品偷拍| 欧美一区二区三区成人| 亚洲一区区二区| 亚洲免费中文| 午夜精品久久久久久久99热浪潮| 中文在线不卡| 国产精品99久久久久久有的能看| 亚洲人成网站777色婷婷| 亚洲日本一区二区三区| 亚洲国产一区二区精品专区| 最新69国产成人精品视频免费| 最近看过的日韩成人| 99精品免费网| 亚洲私人黄色宅男| 午夜激情一区| 久久99在线观看| 老司机一区二区三区| 亚洲电影专区| 日韩视频精品在线观看| 亚洲视频一区二区在线观看| 亚洲一品av免费观看| 午夜精品福利在线| 久久久久国产精品一区二区| 美女精品网站| 欧美日本韩国一区| 国产精品视频观看| 精品成人在线观看| av不卡在线| 欧美在线综合| 亚洲国产精品免费| 中国av一区| 久久精品成人一区二区三区蜜臀| 欧美成人精品1314www| 欧美日韩精品一区| 国产欧美日韩一级| 日韩一级精品| 久久精品在线观看| 亚洲精品麻豆| 久久精品人人爽| 欧美日韩免费一区| 国产主播一区二区三区| 亚洲精选国产| 久久影院午夜论| 日韩视频在线观看免费| 欧美一区二区三区免费大片| 欧美电影在线免费观看网站| 国产精品久久久91| 亚洲人成网站精品片在线观看 | 亚洲欧美日韩国产一区| 欧美gay视频激情| 亚洲淫片在线视频| 欧美激情bt| 在线观看成人av| 性做久久久久久久免费看| 亚洲国产日韩一区二区| 欧美伊人久久大香线蕉综合69|