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

隨筆 - 70  文章 - 160  trackbacks - 0

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

常用鏈接

留言簿(8)

隨筆檔案

文章檔案

搜索

  •  

積分與排名

  • 積分 - 180036
  • 排名 - 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 閱讀(1584) 評論(1)  編輯 收藏 引用

FeedBack:
# re: 《算法導論》學習總結 — 9.第九章 中位數和順序統計學 2012-11-24 17:20 
對于效果來說則是業績效果論述目前的沒有信息分析的依據在目前來說其實是對于電腦上面的文字不愿意去看,內心總是嘆氣的一種心理表現,  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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精品视频免费全部在线| 午夜在线一区| 91久久国产综合久久蜜月精品| 久久影视精品| 一区在线观看| 正在播放亚洲一区| 久久婷婷综合激情| 99精品欧美一区二区三区| 欧美伊人久久久久久久久影院 | 欧美大片免费观看| 99精品国产高清一区二区| 久久久久国产免费免费| 国产精品综合色区在线观看| 亚洲精品乱码| 亚洲精品久久久久| 久久亚洲欧美| 国产真实乱偷精品视频免| 午夜精品免费| 亚洲香蕉成视频在线观看| 国产精品v欧美精品v日韩 | 亚洲激情视频在线观看| 午夜精品一区二区三区电影天堂 | 在线视频免费在线观看一区二区| 欧美一区激情| 性欧美长视频| 永久免费毛片在线播放不卡| 蜜臀av一级做a爰片久久| 久久一区国产| 亚洲精品视频一区| 夜夜精品视频一区二区| 国产精品资源在线观看| 欧美在线视频一区| 久久天天躁狠狠躁夜夜爽蜜月| 欧美亚洲三区| 亚洲第一黄色| 一本大道久久a久久精品综合| 欧美日韩三级一区二区| 久久久久久久999| 欧美激情一区二区三区蜜桃视频| 亚洲天堂av在线免费| 久久精品国产免费观看| 一本色道久久综合亚洲二区三区| 亚洲综合视频一区| 亚洲剧情一区二区| 麻豆成人小视频| 久久精品99国产精品| 欧美片在线观看| 亚洲第一主播视频| 韩日在线一区| 欧美亚洲视频在线观看| 欧美有码视频| 国产精品日韩电影| 亚洲午夜小视频| 亚洲一区二区久久| 国产精品v欧美精品v日韩精品| 亚洲第一在线综合在线| 亚洲第一页自拍| 久久久久久综合网天天| 欧美国产第一页| 亚洲麻豆视频| 欧美日韩亚洲在线| 一本色道综合亚洲| 亚洲男女自偷自拍图片另类| 国产精品第一区| 久久久精品午夜少妇| 亚洲国产二区| 一区二区欧美国产| 国产精品一二三四| 免费成人高清视频| 性刺激综合网| 欧美精品在线观看91| 欧美日韩一二区| 久久国产福利| 性色一区二区| 久久电影一区| 欧美一区永久视频免费观看| 亚洲深夜av| 亚洲影院在线观看| 国产在线成人| 欧美激情麻豆| 午夜免费在线观看精品视频| 亚洲日本精品国产第一区| 午夜亚洲性色视频| 一本色道久久精品| 亚洲毛片一区| 精久久久久久| 国产欧美在线看| 欧美美女福利视频| 先锋影音网一区二区| 欧美成人国产一区二区| 亚洲在线中文字幕| 日韩天堂在线观看| 伊人婷婷欧美激情| 国产农村妇女毛片精品久久麻豆| 欧美日韩国内| 女女同性精品视频| 久久国产精品毛片| 欧美专区在线| 久久丁香综合五月国产三级网站| 久久综合给合久久狠狠狠97色69| 久久影院亚洲| 亚洲高清不卡在线观看| 一区二区日韩免费看| 性欧美1819sex性高清| 免费不卡视频| 国产精品v欧美精品v日韩精品| 欧美日韩123| 国产欧美一区二区在线观看| 一区二区三区在线免费播放| 亚洲高清久久久| 国产精品嫩草99a| 久久国产一区二区| 女同性一区二区三区人了人一| 国产精品视频自拍| 欧美成人情趣视频| 国产精品入口福利| 亚洲欧洲一区二区天堂久久 | 嫩模写真一区二区三区三州| 欧美激情网友自拍| 免费中文字幕日韩欧美| 国产偷国产偷亚洲高清97cao| 一区二区日韩免费看| 一区二区三区毛片| 欧美成人一品| 欧美激情中文不卡| 在线观看成人一级片| 久久福利电影| 久久婷婷蜜乳一本欲蜜臀| 国产综合网站| 久久精品国产99国产精品| 欧美一区二区三区四区在线观看地址 | 99视频精品免费观看| 欧美aⅴ一区二区三区视频| 久久综合婷婷| 在线日韩av片| 牛人盗摄一区二区三区视频| 亚洲国产成人精品视频| 日韩性生活视频| 欧美性色aⅴ视频一区日韩精品| 一区二区三区鲁丝不卡| 午夜国产精品视频| 国产综合色一区二区三区 | 亚洲一区二区三区中文字幕| 欧美一区2区视频在线观看| 国产乱肥老妇国产一区二 | 久久久久国产精品一区三寸 | 亚洲欧美国内爽妇网| 久久精品123| 91久久精品国产91性色tv| 欧美日韩在线直播| 亚洲欧美国产日韩天堂区| 久久久久久有精品国产| 亚洲日韩成人| 国产精品国产a| 久久久久成人网| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲午夜精品一区二区| 国产综合欧美在线看| 欧美/亚洲一区| 亚洲女优在线| 欧美日韩一区国产| 久久久久国色av免费观看性色| 黄色精品在线看| 欧美啪啪成人vr| 欧美在线观看网址综合| 亚洲黄色尤物视频| 欧美一区二区三区啪啪| 日韩视频三区| 国外成人在线视频| 欧美日本亚洲视频| 欧美专区在线观看一区| 99视频精品在线| 欧美成人午夜免费视在线看片| 亚洲在线观看免费视频| 亚洲国产精品传媒在线观看 | 亚洲韩国一区二区三区| 国产精品自拍在线| 欧美人交a欧美精品| 久久精品午夜| 亚洲一区二区黄| 亚洲另类在线视频| 亚洲第一二三四五区| 久久久久成人精品免费播放动漫| 在线午夜精品| 一区二区三区四区蜜桃| 亚洲精品欧美日韩专区| 亚洲国产精品久久人人爱蜜臀 |