亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? huffmandecoder.java

?? HuffmanDecoder 使用java編寫的Huffman解碼器
?? JAVA
字號:
//Huffman.java    
//package huffman.xmu;    
import java.io.*;
import java.util.LinkedHashMap;    
import java.util.ArrayList;    
import java.util.Set;    
import java.util.Iterator;    
public class HuffmanDecoder 
{    
   
  public HuffmanDecoder(LinkedHashMap<Character,Integer> map){    
     
  charTable = map;    
  charset = map.keySet();    
  creatHuffmanTree();    
  creatHuffmanCode();    
      
      
 }    
     
     
 //encode the input string    
 public String enCodeString(String inString){   
      
   StringBuffer temp = new StringBuffer();    
   for(int i=0;i<inString.length();i++){    
         
     int ch = inString.charAt(i);    
     int j=1;    
    for( ;huffmanTree.get(j).charTag!=ch&&j<charset.size()+1;j++){    
        
    }    
    if(j<=charset.size()){    
         
      temp.append(huffmanCode.get(j));    
    } else {    
        
     temp.append(ch);    
    }    
        
   }    
       
   return temp.toString();    
       
       
 }    
     
 //decode the string    
 public String deCodeString(String inString){    
     
   StringBuffer temp = new StringBuffer();    
   int root = charset.size()*2-1;    
   for(int i=0;i<inString.length();i++){    
    char ch=inString.charAt(i);    
        
    if(ch=='0'){    
        
     root=huffmanTree.get(root).lChild;    
    }else if(ch=='1'){    
        
     root=huffmanTree.get(root).rChild;    
    }else {    
        
     temp.append(ch);    
    }    
        
    if(root<=charset.size()){    
        
     temp.append(huffmanTree.get(root).charTag);    
     root=charset.size()*2-1;    
    }    
       
   }    
   return temp.toString();    
     
 }    
     
     
 //creat the huffman tree    
 private void creatHuffmanTree(){    
       
   initTree();    
   int min_child1;    
   int min_child2;    
       
       
   for(int i=charset.size()+1;i<2*charset.size();i++){    
         
     min_child1=0;    
     min_child2=0;    
         
     for(int j=1;j<i;j++){    
           
      
      if(huffmanTree.get(j).parent==0){    
          
       if(huffmanTree.get(j).weight<huffmanTree.get(min_child1).weight||    
          huffmanTree.get(j).weight<huffmanTree.get(min_child2).weight ) {    
             
         if (huffmanTree.get(min_child1).weight < huffmanTree.get(min_child2).weight) {    
                min_child2 = j;    
            }  else {    
                min_child1= j;    
            }                          
          }    
      }    
     }    
         
         
     huffmanTree.get(min_child1).parent=i;    
     huffmanTree.get(min_child2).parent=i;    
         
     if(min_child1<min_child2){    
       huffmanTree.get(i).lChild=min_child1;    
       huffmanTree.get(i).rChild=min_child2;    
     } else{    
       huffmanTree.get(i).rChild=min_child1;    
       huffmanTree.get(i).lChild=min_child2;    
     }    
         
     huffmanTree.get(i).weight=huffmanTree.get(i).weight+huffmanTree.get(i).weight;    
         
        
   }    
     
 }    
     
 private void creatHuffmanCode(){    
      
  huffmanCode = new ArrayList<String>(charset.size()+1);    
  huffmanCode.add(0,null);    
  char [] tempChars = new char[charset.size()+1];     
      
  for(int i=1;i<charset.size()+1;i++){    
       
   int startIndex=charset.size();    
   int parent = huffmanTree.get(i).parent;    
   int ch=i;    
   while(parent!=0){    
       
    if(huffmanTree.get(parent).lChild== ch){    
        
     tempChars[startIndex]='0';    
       
         
    }else {    
        
     tempChars[startIndex]='1';    
       
    }     
        
    startIndex--;    
    ch=parent;    
    parent=huffmanTree.get(parent).parent;    
         
          
   }    
       
   //System.out.println(String.valueOf(tempChars,startIndex+1,charset.size()-startIndex));    
   huffmanCode.add(i, String.valueOf(tempChars,startIndex+1,charset.size()-startIndex));    
       
       
  }//end for    
      
     
      
 }//end method    
   
     
 private void initTree(){    
       
   huffmanTree = new ArrayList<Node>();    
       
   Iterator<Character>  charIter = charset.iterator();    
       
   int i=1;    
       
       
   huffmanTree.add(0,new Node((char) 0, Integer.MAX_VALUE, 0, 0, 0));    
  while(charIter.hasNext()){    
        
    Character ch=charIter.next();    
   huffmanTree.add(i,new Node(ch,charTable.get(ch),0,0,0));    
       
      
   i++;    
      
  }    
      
      
  for(int j=charset.size()+1;j<2*charset.size();j++){    
      
   huffmanTree.add(j,new Node((char)0,0,0,0,0));    
  }    
      
      
 }    
     
 //character table with the frequency of each character    
 private LinkedHashMap<Character,Integer>  charTable;    
     
 private Set<Character >  charset;    
     
 //store the huffman tree with the ArrayList    
 private ArrayList<Node> huffmanTree ;    
     
 //store the huffman code with the ArrayList    
 private ArrayList<String> huffmanCode;    
     
     
 class Node{    
     
  char charTag;    
  int weight;    
  int parent;    
  int lChild;    
  int rChild;    
      
  public Node(char c,int w, int p,int l, int r){    
      
   charTag = c;    
   weight = w;    
   lChild = l;    
   rChild = r;    
  }    
      
 }//end Node    
     
     
     
 public static void main(String [] args)  throws Exception
 {    
     
  LinkedHashMap<Character,Integer> hasmap = new LinkedHashMap<Character,Integer>();    
  hasmap.put('a',509); 
  hasmap.put('A',5); 
  hasmap.put('b',90);  
  hasmap.put('B',5);   
  hasmap.put('c',187);  
  hasmap.put('C',11); 
  hasmap.put('d',259);  
  hasmap.put('D',5); 
  hasmap.put('e',897);  
  hasmap.put('E',1); 
  hasmap.put('f',173);  
  hasmap.put('F',8); 
  hasmap.put('g',128);  
  hasmap.put('G',8); 
  hasmap.put('h',345);  
  hasmap.put('H',20); 
  hasmap.put('i',470);  
  hasmap.put('I',7); 
  hasmap.put('j',15);  
  hasmap.put('J',3); 
  hasmap.put('k',15);  
  hasmap.put('K',1); 
  hasmap.put('l',239);  
  hasmap.put('L',1); 
  hasmap.put('m',146);  
  hasmap.put('M',4); 
  hasmap.put('n',510);  
  hasmap.put('N',9); 
  hasmap.put('o',527);  
  hasmap.put('O',2); 
  hasmap.put('p',137);  
  hasmap.put('P',5); 
  hasmap.put('q',5);  
  hasmap.put('Q',0); 
  hasmap.put('r',443);  
  hasmap.put('R',3); 
  hasmap.put('s',486);  
  hasmap.put('S',13); 
  hasmap.put('t',653);  
  hasmap.put('T',7); 
  hasmap.put('u',213);  
  hasmap.put('U',3); 
  hasmap.put('v',77);  
  hasmap.put('V',2); 
  hasmap.put('w',97);  
  hasmap.put('W',8); 
  hasmap.put('x',9);  
  hasmap.put('X',0); 
  hasmap.put('y',88);  
  hasmap.put('Y',2); 
  hasmap.put('z',4);  
  hasmap.put('Z',0); 

  
  char Comma=(char)44;    
  hasmap.put(Comma,121); 
  
  char FullStop=(char)46;
  hasmap.put(FullStop,40);
  
  char Colonis=(char)58;
  hasmap.put(Colonis,8);
 
  char Semicolon=(char)59;
  hasmap.put(Semicolon,9); 
  
  char Space=(char)32;
  hasmap.put(Space,1390);
  
  char LeftParenthesis=(char)40;
  hasmap.put(LeftParenthesis,1);
  
  char RightParenthesis=(char)41;
  hasmap.put(RightParenthesis,1); 
  
  char SingleQuotes=(char)39;
  hasmap.put(SingleQuotes,1);
  
  char LeftSquareBrackets=(char)91; 
  hasmap.put(LeftSquareBrackets,1);
  
  char RightSquareBrackets=(char)93; 
  hasmap.put(RightSquareBrackets,1);
   
  char dh=(char)45; 
  hasmap.put(dh,1);   
  
  char Enter=(char)13; 
  hasmap.put(Enter,30);
 
  char UK=(char)10; 
  hasmap.put(UK,30); 
       			
  //String str="dasdsdad";
						BufferedReader re=new BufferedReader(new FileReader("DecOfInd.huf"));   
						StringBuffer buffer=new StringBuffer();   
 					  String line;   
  					while ((line=re.readLine())!=null)   
  					{   
         		buffer.append(line); 
         		  
        	  buffer.append("\r");
        	  buffer.append("\n");   
            }   
  re.close();   
  String last=buffer.toString();
  

  HuffmanDecoder huffman = new HuffmanDecoder(hasmap);    
  String temp = huffman.deCodeString(last);    
  

  
   FileOutputStream outFile=null;
	 outFile=new FileOutputStream("DecOfInd-1.txt");
   outFile.write(temp.getBytes("US-ASCII"));
   outFile.close();
  
  /*char[] a=new char[temp.length()];
  for(int cd=0;cd<temp.length();cd++)
  {
  			a[cd]=temp.charAt(cd);
  }  
  for(int cd=0;cd<temp.length();cd++)
  {
  			if(a[cd]==(char)10)
  }*/
  
  
	 /*FileOutputStream outFile=null;
	 outFile=new FileOutputStream("DecOfInd-1.txt");
   outFile.write(temp.getBytes());*/
   
   /*FileWriter te=new FileWriter("ss.txt");
   te.write(a);
   te.close();*/
   
 }    
     
}  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品污www在线观看| 国产一区二区三区视频在线播放 | 亚洲小少妇裸体bbw| 亚洲人成精品久久久久久| 国产毛片一区二区| 麻豆成人av在线| 蜜桃传媒麻豆第一区在线观看| 日韩成人伦理电影在线观看| 欧美aaaaa成人免费观看视频| 午夜精彩视频在线观看不卡| 日韩综合一区二区| 久久精品国产免费看久久精品| 日本欧美加勒比视频| 久久99国产精品成人| 狠狠色伊人亚洲综合成人| 国产真实精品久久二三区| 国产福利一区在线观看| 成人污污视频在线观看| 91麻豆.com| 欧美三级韩国三级日本三斤| 欧美一区二区视频在线观看2020| 日韩一二三四区| 久久久影院官网| 国产精品欧美经典| 尤物av一区二区| 奇米影视在线99精品| 国产中文字幕精品| 99久久婷婷国产综合精品电影| 亚洲猫色日本管| 一区二区不卡在线播放| 日韩中文字幕不卡| 国产一区在线观看麻豆| 成人涩涩免费视频| 欧美日韩黄色影视| 久久蜜桃一区二区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲成人免费看| 国产又粗又猛又爽又黄91精品| 成人国产在线观看| 欧美精品久久一区二区三区| 久久欧美中文字幕| 一区二区三区四区不卡视频| 青青草原综合久久大伊人精品| 成人在线一区二区三区| 欧美精品久久99久久在免费线 | 亚洲国产精品精华液2区45| 亚洲欧美日韩成人高清在线一区| 婷婷中文字幕一区三区| 成人高清免费在线播放| 在线播放视频一区| 国产精品另类一区| 青娱乐精品视频| 91论坛在线播放| 精品欧美一区二区久久| 亚洲欧美色综合| 精品在线观看视频| 在线亚洲一区二区| 久久奇米777| 日韩在线卡一卡二| 99国产精品一区| 精品国产制服丝袜高跟| 亚洲一区在线视频| 国产经典欧美精品| 欧美精品高清视频| 亚洲美女视频在线| 国产宾馆实践打屁股91| 欧美美女一区二区| 亚洲乱码国产乱码精品精98午夜 | 一区二区三区国产精华| 国产伦精一区二区三区| 欧美二区在线观看| 日韩毛片视频在线看| 国产成人综合视频| 欧美videofree性高清杂交| 亚洲成人av一区| 91欧美一区二区| 国产精品视频一二三| 国产一区二区三区在线观看精品| 69堂国产成人免费视频| 洋洋av久久久久久久一区| 国产人成亚洲第一网站在线播放 | 亚洲一区二区三区四区的| 国产成人精品一区二区三区四区 | 国产精品福利av| 韩国av一区二区三区| 91精品国产综合久久精品app| 亚洲人成影院在线观看| 国产精品1区2区3区| 精品国产凹凸成av人网站| 日本视频在线一区| 欧美日韩亚洲另类| 午夜不卡av在线| 欧美精品粉嫩高潮一区二区| 亚洲国产成人porn| 欧美日韩中文字幕一区二区| 亚洲精品成人悠悠色影视| 91最新地址在线播放| 国产精品国产a| a美女胸又www黄视频久久| 欧美激情一区不卡| 成人激情黄色小说| 综合久久给合久久狠狠狠97色 | 99re热这里只有精品免费视频| 久久久777精品电影网影网| 国产麻豆午夜三级精品| 久久久午夜精品理论片中文字幕| 精品一区二区三区香蕉蜜桃| 精品国产乱子伦一区| 国产激情91久久精品导航| 国产亲近乱来精品视频 | 久久久精品国产免大香伊| 国产在线播放一区| 中文字幕第一页久久| eeuss影院一区二区三区| 亚洲免费观看在线视频| 91蜜桃视频在线| 亚洲国产精品一区二区www在线 | 综合激情成人伊人| 91在线国产福利| 亚洲精品日韩专区silk| 欧美三级中文字| 日韩av在线发布| 久久久亚洲高清| 99久久综合色| 欧美制服丝袜第一页| 亚洲成人黄色影院| 91精品国产品国语在线不卡| 久久国产麻豆精品| 国产日韩精品久久久| 91亚洲大成网污www| 石原莉奈在线亚洲二区| 久久久久88色偷偷免费| 成人国产在线观看| 天天色 色综合| 久久青草欧美一区二区三区| 91浏览器在线视频| 奇米影视一区二区三区| 国产精品视频免费看| 欧美性xxxxx极品少妇| 免费成人你懂的| 亚洲天天做日日做天天谢日日欢 | 欧美日韩亚洲综合在线 | 国内精品国产三级国产a久久| 国产精品大尺度| 欧美老肥妇做.爰bbww| 国产精品99久久久久| 亚洲一区视频在线| 精品1区2区在线观看| 91久久精品一区二区| 国产伦精品一区二区三区免费迷 | 国产一区在线观看麻豆| 亚洲日本在线a| 欧美mv日韩mv国产| 日本韩国欧美一区二区三区| 精品在线免费视频| 亚洲一区二区美女| 久久网站热最新地址| 欧美日韩午夜影院| 成人av综合在线| 美女一区二区三区在线观看| 亚洲视频在线一区| 亚洲精品在线免费观看视频| 欧美在线观看视频一区二区 | 欧美色国产精品| 国产jizzjizz一区二区| 天堂成人免费av电影一区| 最新成人av在线| 精品久久久网站| 一本到高清视频免费精品| 国内成人自拍视频| 青青草97国产精品免费观看无弹窗版| 成人免费一区二区三区在线观看| 日韩免费高清视频| 欧美无乱码久久久免费午夜一区 | 在线看日韩精品电影| 国产伦精品一区二区三区视频青涩| 亚洲成av人片观看| 中文字幕在线播放不卡一区| 欧美精品一区二区三区视频 | 亚洲精品成人在线| 国产精品久久久久久久久免费丝袜 | 国产精品77777| 精品一区二区在线免费观看| 午夜精品免费在线观看| 亚洲另类色综合网站| 成人性色生活片| 麻豆精品视频在线观看| 偷拍一区二区三区四区| 一区二区三区免费看视频| 国产精品免费看片| 国产亚洲欧美中文| 久久蜜桃一区二区| 久久综合九色综合欧美98| 日韩一区二区在线看| 欧美体内she精视频| 欧美亚洲日本一区| 日本乱码高清不卡字幕| 91黄色免费版| 日本高清不卡视频| 欧美性视频一区二区三区|