当前位置:我的异常网» J2SE » 用Java实现哈夫曼编码解决方法

用Java实现哈夫曼编码解决方法

www.myexceptions.net  网友分享于:2013-01-08  浏览:13次

用Java实现哈夫曼编码

我有一个程序 但是运行结果不对 而且 也没有界面设计

请各位高手帮忙修改下 用JAVA实现 要有界面设计 谢谢

import java.io.*;

public class Huffumancode {

static float sum=0;

static String s;

public static void main(String[] args) {

// TODO Auto-generated method stub

new Huffumancode().run();

}

public void run()

{

try

{

FileReader fr=new FileReader("WordAndFreq.txt");

BufferedReader br=new BufferedReader(fr);

String s=null;

Node []A=new Node[24686];

A[0]=new Node();

A[0].freq=24685;

int i=1;

String []st=new String [2];

while((s=br.readLine())!=null)

{

st=s.split("\\s");

A[i]=new Node();

A[i].data=st[0];

A[i].freq=Integer.parseInt(st[1]);

i++;

}

System.out.println(A[24685].data +A[24685].freq);

heap_sort(A);

A[0].freq=24685;

build_huffmantree(A);

System.out.println("A[1]ede pin ldu"+A[1].freq);

FileWriter fw=new FileWriter("output.txt");

BufferedWriter bw=new BufferedWriter(fw);

preorder(A[1],bw);

bw.flush();

float average=sum/3330999;

String s1="the average length of the code is :".concat(Float.toString(average));

bw.write(s1);

bw.close();

System.out.println(average);

}

catch(Exception e)

{

System.out.println(e);

}

}

public void min_Heapify( Node []A, int i)

{

int l=2*i;

int r=2*i+1;

int small;

if(l<=A[0].freq&&A[l].freq

small=l;

else small=i;

if (r<=A[0].freq&&A[r].freq

求解哈夫曼编码Java实现,用Java实现哈夫曼编码解决方法相关推荐

  1. [ JAVA编程 ] double类型计算精度丢失问题及解决方法

    [ JAVA编程 ] double类型计算精度丢失问题及解决方法 参考文章: (1)[ JAVA编程 ] double类型计算精度丢失问题及解决方法 (2)https://www.cnblogs.co ...

  2. tomcat运行时候出现java.net.BindException: Address already in use: JVM_Bind错误解决方法

    tomcat运行时候出现java.net.BindException: Address already in use: JVM_Bind错误解决方法 参考文章: (1)tomcat运行时候出现java ...

  3. java.lang.IllegalArgumentException: Request header is too large的解决方法

    java.lang.IllegalArgumentException: Request header is too large的解决方法 参考文章: (1)java.lang.IllegalArgum ...

  4. java应用 cpu占用过高问题分析及解决方法

    主要介绍了java应用cpu占用过高问题分析及解决方法,具有一定参考价值,需要的朋友可以参考下. 使用jstack分析java程序cpu占用率过高的问题 1,使用jps查找出java进程的pid,如3 ...

  5. Eclipse Java Oxygen不能创建动态的web项目(解决方法)

    Eclipse Java Oxygen不能创建动态的web项目(解决方法) 一.eclipse安装J2EE插件 一.eclipse安装J2EE插件 Oxygen版本Eclipse没有toamct开发工 ...

  6. IDEA java类文件左下角出现红色的J标识,解决方法

    IDEA java类文件左下角出现红色的J标识,解决方法 解决方法: 引自:https://blog.csdn.net/lisulong1/article/details/81060385

  7. 关于java.lang.Exception:No tests found matching的一系列解决方法

    关于java.lang.Exception:No tests found matching的一系列解决方法 run junit时出现 No test found matching 解决方法 run j ...

  8. 元空间不足java.lang.OutOfMemoryError: PermGen space 错误的原因及解决方法

    出现 java.lang.OutOfMemoryError: PermGen space 错误的原因及解决方法 原因:堆内存的永久保存区内存分配不足(缺省默认为64M),导致内存溢出错误. 解决的方案 ...

  9. java 读utf-8 xml_〖JAVA经验〗JDom输出UTF-8的XML完美解决方法

    完美的解决方法从辟谣开始: 1)JDOM是否生成UTF-8的文件与Format是否设置无关,只有输出其他字符编码才需要设置,见下面的注释. 2)JDOM输出UTF-8文件乱码的根本原因并非在JDOMA ...

  10. java getparameter 乱码_request.getParameter(“参数名”) 中文乱码解决方法

    今天浏览项目时候,遇到一个问题,页面用${requestScope.参数名 }获取的值是乱码,然后搜了一下,最后说是编码的问题,附上查找的结果: 在Java 开发中,如果框架搭建的不完善或者初学者在学 ...

最新文章

  1. 网络编程学习笔记(RES_USE_INET6解析器选项)
  2. 人脸识别安全吗?调查称六成受访者认为技术有被滥用趋势
  3. 20145324 20145325 《信息安全系统设计基础》实验三
  4. mysql创建表示对属性进行说明_mysql基础
  5. python mysql 分号_Python中使用MySQL
  6. python3 readexcel pandas问题,使用python中的pandas中的read_excel函数将日期保留为字符串...
  7. 基于FPGA 的8b10b编解码电路前端电路设计
  8. docker -v 文件夹下没有数据_微服务就是Dubbo?并没有那么简单!微服务架构+Docker+k8s了解下...
  9. 解决CesiumForUnreal加入CesiumSunSky并调整设置后场景仍然纯白的问题
  10. 永磁同步电机的矢量控制策略(八)一一一仿真模型搭建与源代码
  11. 卷积神经网络超详细介绍
  12. Java生成指定范围的随机数
  13. ionic4自定义插件
  14. 智能设备主要有哪些特点
  15. Cognos 11.0快速开发指南 Ⅰ
  16. 保底掉落装备matlab,DNF团本减负计划 保底深渊票史诗装备删除
  17. 拓展延伸: 实现一个百亿级别的计算器
  18. 高校合同管理系统的设计与实现
  19. 编程之法—实现单词翻转
  20. 武汉理工大学计算机考研考纲,2020武汉理工大学计算机考研初试科目、参考书目、招生人数汇总...

热门文章

  1. boot.oat FC问题分析报告
  2. 详解为何在嵌套ESXi环境下要求开启Promiscuous Mode
  3. myisam和innodb
  4. ntop网络监控-安装配置指南
  5. Ubuntu16.04 + Matlab2018+ desktop creation
  6. 从镜头到滤光片 解读光学透雾监控摄像机
  7. 用BusyBox制作Linux根文件系统
  8. 四、极大似然参数估计
  9. 爱普生SCARA机器人参考文档列表
  10. win10系统开不了机