java ¹þ·òÂü±àÂë·´±àÂëµÄʵÏÖ
//¹þ¸¥Âü±àÂëµÄʵÏÖÀà
public class HffmanCoding {
private int charsAndWeight[][];// [][0]ÊÇ ×Ö·û£¬[][1]´æ·ÅµÄÊÇ×Ö·ûµÄȨֵ£¨´ÎÊý£©
private int hfmcoding[][];// ´æ·Å¹þ¸¥ÂüÊ÷
private int i = 0;// Ñ»·±äÁ¿
private String hcs[];
public HffmanCoding(int[][] chars) {
// TODO ¹¹Ôì·½·¨
charsAndWeight = new int[chars.length][2];
charsAndWeight = chars;
hfmcoding = new int[2 * chars.length - 1][4];// Ϊ¹þ¸¥ÂüÊ÷·ÖÅä¿Õ¼ä
}
// ¹þ¸¥ÂüÊ÷µÄʵÏÖ
public void coding() {
int n = charsAndWeight.length;
if (n == 0)
return;
int m = 2 * n - 1;
// ³õʼ»¯¹þ¸¥ÂüÊ÷
for (i = 0; i < n; i++) {
hfmcoding[i][0] = charsAndWeight[i][1];// ³õʼ»¯¹þ¸¥ÂüÊ÷µÄȨֵ
hfmcoding[i][1] = 0;// ³õʼ»¯¹þ¸¥ÂüÊ÷µÄ¸ù½Úµã
hfmcoding[i][2] = 0;// ³õʼ»¯¹þ¸¥ÂüÊ÷µÄ×óº¢×Ó
hfmcoding[i][3] = 0;// ³õʼ»¯¹þ¸¥ÂüÊ÷µÄÓÒº¢×Ó
}
for (i = n; i < m; i++) {
hfmcoding[i][0] = 0;// ³õʼ»¯¹þ¸¥ÂüÊ÷µÄȨֵ
hfmcoding[i][1] = 0;// ³õʼ»¯¹þ¸¥ÂüÊ÷µÄ¸ù½Úµã
hfmcoding[i][2] = 0;// ³õʼ»¯¹þ¸¥ÂüÊ÷µÄ×óº¢×Ó
hfmcoding[i][3] = 0;// ³õʼ»¯¹þ¸¥ÂüÊ÷µÄÓÒº¢×Ó
}
// ¹¹½¨¹þ¸¥ÂüÊ÷
for (i = n; i < m; i++) {
int s1[] = select(i);// ÔÚ¹þ¸¥ÂüÊ÷ÖвéÕÒË«Ç×ΪÁãµÄ weight×îСµÄ½Úµã
hfmcoding[s1[0]][1] = i;// Ϊ¹þ¸¥ÂüÊ÷×îСֵ¸¶Ë«Ç×
hfmcoding[s1[1]][1] = i;
hfmcoding[i][2] = s1[0];// нڵãµÄ×óº¢×Ó
hfmcoding[i][3] = s1[1];// нڵãµÄÓÒº¢×Ó
hfmcoding[i][0] = hfmcoding[s1[0]][0] + hfmcoding[s1[1]][0];// нڵãµÄȨֵÊÇ×óÓÒº¢×ÓµÄȨֵ֮ºÍ
}
}
// ²éÕÒË«Ç×ΪÁãµÄ weight×îСµÄ½Úµã
private int[] select(int w) {
// TODO Auto-generated method stub
int s[] = { -1, -1 }, j = 0;// s1 ×îСȨֵÇÒË«Ç×ΪÁãµÄ½ÚµãµÄÐòºÅ £¬ i ÊÇÑ»·±äÁ¿
int min1 = 32767, min2 = 32767;
for (j = 0; j < w; j++) {
if (hfmcoding[j][1] == 0) {// Ö»ÔÚÉÐδ¹¹Ôì¶þ²æÊ÷µÄ½áµãÖвéÕÒ£¨Ë«Ç×ΪÁãµÄ½Úµã£©
if (hfmcoding[j][0] < min1) {
min2 = min1;
s[1] = s[0];
min1 = hfmcoding[j][0];
s[0] = j;
} else if (hfmcoding[j][0] < min2) {
Ïà¹ØÎĵµ£º
ListµÄÓ÷¨
List°üÀ¨List½Ó¿ÚÒÔ¼°List½Ó¿ÚµÄËùÓÐʵÏÖÀà¡£ÒòΪList½Ó¿ÚʵÏÖÁËCollection½Ó¿Ú£¬ËùÒÔList½Ó¿ÚÓµÓÐCollection½Ó¿ÚÌṩµÄËùÓг£Ó÷½·¨£¬ÓÖÒòΪListÊÇÁбíÀàÐÍ£¬ËùÒÔList½Ó¿Ú»¹ÌṩÁËһЩÊʺÏÓÚ×ÔÉíµÄ³£Ó÷½·¨£¬Èç±í1Ëùʾ¡£
±í1 List½Ó¿Ú¶¨ÒåµÄ³£Ó÷½·¨¼°¹¦ÄÜ
´Ó±í1¿ÉÒÔ¿´³ö£¬List½Ó¿ÚÌṩµÄÊʺÏÓÚ×ÔÉíµÄ ......
¼ÇµÃ´óѧ±ÏÒµÕÒ¹¤×÷ʱ£¬Ãæ¹Ù¾³£ÎʵľÍÊÇ˵˵“==Óëequals”µÄÇø±ð£¬ºúÂÒ´ðһͨ¡£½ñÌì¿´Ò»ÏÂÔÀí°É¡£
ʲôʱºòÐèÒªÖØÐ´equals()?
¡¡¡¡ÎÒÃÇÖªµÀÿһ¸öjavaÀà¶¼¼Ì³Ð×ÔObjectÀ࣬equals()ÊÇObjectÀàÖÐÌṩµÄ·½·¨Ö®Ò»¡£ÄÇô£¬ÈÃÎÒÃÇÏÈÀ´¿´¿´Object#equals()ÔÚJavaÖеÄÔ´úÂ룺
public boolea ......
Map m = new HashMap();
for (Object o : map.keySet()){
map.get(o);
}
JDK1.4
Map map = new HashMap() ;
Iterator it = map.entrySet().iterator() ;
while (it.hasNext())
{
Map.Entry entry = (Map ......
Õ⼸ÌìÈÏÕæµÄ¿´ÁËÕâ±¾Ê飬ÒòΪÊÇȫӢÎĵģ¬ËùÒÔ»¹ÊǸоõ°ÑÒ»±¾ºÃÊ鏸ÔãÌ£ÁË¡£¡£¡£
ÏÖÔÚдЩ±Ê¼Ç¡£
£££££££££££££££££££££££££££
½éÉÜ£º
££££££££££££££££££££££££££££££££ ......
½ñÌìÀ´µ½Ñ§Ð£²ÅÖªµÀ£¬ÕâÊÇÕÅÀÏʦ¸øÎÒÃÇÉϿεÄ×îºóÒ»ÌìÁË£¬±¾À´¼Æ»®½²ÎåÌìµÄ£¬ÁÙʱµ÷ÕûÖ»½²ÁËÈýÌ죬ºÃ¶àͬѧ֪µÀÏûÏ¢ºó¶¼Í¨¹ý·ÉÇï¸øÀÏʦ·¢ÐÅÏ¢£¬Ï£ÍûÀÏʦÄÜ¶à´øÎÒÃǼ¸Ì죬µ«ÊÇÀÏʦ¸æËßÎÒÃÇÒòΪ¹«Ë¾ÀïÒ»Ð©ÖØÒªµÄÊÂÇéÐèÒª´¦Àí£¬ËùÒÔÖ»Äܵ÷Õûһϣ¬ÒÔºóµÄ¿ÎÊÇ·ëÍþÀÏʦ¸øÎÒÃÇÉÏ£¬»Ø¹ËÕâÈýÌìÉϿεÄÄÚÈÝ£¬ÕæµÄÊÜÒæ·Ëdz£¬Õ⼸ÌìÉϿΠ......