<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    午夜拍鍵驚奇
    子夜 編程 代碼與我同在
    posts - 48,comments - 118,trackbacks - 79
    放假之前從圖書館借來《編程珠璣》,開篇便把我震住,作者以位圖排序優雅地解決了一個現實問題:
    有3000萬個沒有重復的電話號碼,1M內存,外存比較充裕,需要將這3000萬個電話排序
    借此作者引出了位圖排序:
    位圖排序是指以一個N位長的串,每位上以“1”或“0”表示需要排序的集合(后簡稱“集合”)中的數。比如集合為{2,7,4,9,1,10},則生成一個10位的串,將第2、7、4、9、1、10位置為“1”,其余位置為“0”,這樣當把串中所有位都置完后,排序也自動完成了(因為串的下標是有序的):1101001011
    位圖排序的代碼如下:

    public void bitmapSort(int[] set){
      
    int max=max(set);
      
    int[] array=new int[max];
      
      
    for(int i=0;i<array.length;i++)
        array[i]
    =0;

      
    for(int i=0;i<set.length;i++)
        array[
    set[i]]=1;

      
    for(int i=0;i<array.length;i++){
        
    if(array[i]==1)
          System.
    out.println(i+” ”);
      }

    }


    private int max(int[] set){
      
    // return the maxium integer of the set
    }


    可以看出,位圖排序的時間復雜度是O(n)的,比一般的排序都快,但它是以空間換時間(需要一個N位的串),而且有一些限制,比如排序前集合大小最好已知,而且集合中元素的最大重復次數必須已知,最好是稠集數據(不然空間浪費很大)。
    posted on 2005-02-13 22:17 ^ Mustang ^ 閱讀(1489) 評論(4)  編輯  收藏 所屬分類: 基礎理論

    FeedBack:
    # re: 位圖(bitmap)排序
    2005-12-16 13:44 | 我的萬花@
    絕!不知道誰發明的  回復  更多評論
      
    # re: 位圖(bitmap)排序
    2005-12-16 13:45 | 我的萬花@
    不過看你寫的文字看不懂,還是要看代碼,嘿嘿
      回復  更多評論
      
    # re: 位圖(bitmap)排序
    2008-10-04 12:14 | haibo
    這段代碼是錯的,不能用integer array, 只能用BitArray, 否則,在內存受限的情況下,你是不能把所有的的數裝下的。所謂的位圖排序也是這個意思  回復  更多評論
      
    # re: 位圖(bitmap)排序
    2009-08-27 12:51 | zhangdp
    為了更節省時間 應該用 BitArray  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久精品国产亚洲一区二区| 精品亚洲成a人片在线观看| 大香人蕉免费视频75| 在线观看视频免费国语| 日本免费网站在线观看| 亚洲一区二区高清| 乱人伦中文视频在线观看免费| 深夜福利在线免费观看| 国产在线一区二区综合免费视频| 国产92成人精品视频免费| 亚洲男人天堂2020| 在线观看人成视频免费无遮挡| h视频在线免费看| 亚洲三级中文字幕| 午夜神器成在线人成在线人免费| 亚洲精品无码专区在线在线播放| 91丁香亚洲综合社区| 老司机福利在线免费观看| 最近中文字幕无免费| 亚洲精品成a人在线观看| 亚洲国产午夜电影在线入口 | 亚洲精品白色在线发布| 精品国产亚洲AV麻豆| 一区二区三区在线免费看| 国产91久久久久久久免费| 亚洲香蕉免费有线视频| h视频在线免费观看| 蜜桃视频在线观看免费网址入口| 亚洲色偷拍区另类无码专区| 最新国产成人亚洲精品影院| 可以免费观看的毛片| 亚洲国产综合精品中文字幕| 亚洲熟女精品中文字幕| 真实国产乱子伦精品免费| 中文字幕亚洲天堂| 18未年禁止免费观看| 亚洲AV一宅男色影视| eeuss影院ss奇兵免费com| 在线观看亚洲免费| 久久九九全国免费| 亚洲国产成人无码AV在线|