<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  回復  更多評論
      

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲资源在线视频| 日韩精品成人无码专区免费 | 久久精品亚洲AV久久久无码| 国产免费黄色大片| 国产在线观看麻豆91精品免费| 男女一边摸一边做爽的免费视频| 亚洲av无码无线在线观看| 亚洲熟妇av一区| 久久精品亚洲综合专区| 亚洲午夜福利在线观看| 日本成人在线免费观看| 免费不卡视频一卡二卡| 精品无码AV无码免费专区| 久久国产精品免费视频| 国产特黄一级一片免费| 美女视频黄a视频全免费网站一区 美女视频黄a视频全免费网站色 | 亚洲av最新在线观看网址| 国产午夜精品理论片免费观看| 亚洲欧洲国产综合AV无码久久| 亚洲成人在线免费观看| 亚洲精品日韩专区silk| 亚洲日产韩国一二三四区| 亚洲va中文字幕无码久久| 亚洲AV日韩AV永久无码绿巨人| 内射少妇36P亚洲区| 亚洲人成7777| 人人狠狠综合久久亚洲| 一级午夜免费视频| 亚洲免费人成在线视频观看| 97青青草原国产免费观看| 免费av欧美国产在钱| 国产免费久久精品久久久| 国产亚洲欧洲Aⅴ综合一区| 亚洲av鲁丝一区二区三区| 亚洲欧洲校园自拍都市| 亚洲色偷偷色噜噜狠狠99网| 日本视频免费观看| 免费成人在线电影| 97人伦色伦成人免费视频| 亚洲精品视频在线观看你懂的| 国产v亚洲v天堂无码网站|