• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#求解哈夫曼树,实例代码

C#求解哈夫曼树,实例代码

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了哈夫曼编码实例,哈夫曼编码,哈夫曼树,哈夫曼,哈夫曼树的构造等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

               //获取数组中最小的2个值
                for (int j = 0; j < LeafNum + i; j++)
                {
                    if (data[j].Weight<min1&&data[j].Parent == -1)
                    {
                        min2 = min1;
                        tmp2 = tmp1;
                        min1 = data[j].Weight;
                        tmp1 = j;
                    }
                   else if (data[j].Weight < min2 && data[j].Parent == -1)
                    {
                        min2 = data[j].Weight;
                        tmp2 = j;
                    }                
                }
                data[tmp1].Parent = this.LeafNum + i;
                data[tmp2].Parent = this.LeafNum + i;
                data[this.LeafNum + i].Weight = data[tmp1].Weight + data[tmp2].Weight;
                data[this.LeafNum + i].LChild = tmp1;
                data[this.LeafNum + i].RChild = tmp2;
            }
        }


//树的结点(树是用数组保存的) 

public class Node
    {
        public int Weight { get; set; }//权值
        public int LChild { get; set; }//左孩子在数组中的位置
        public int RChild { get; set; }//右孩子在数组中的位置
        public int Parent { get; set; }//父节点在数组中的位置
        public Node()
        {
            Weight = 0;
            LChild = -1;
            RChild = -1;
            Parent = -1;//-1表示没有
        }
        public Node(int weight,int lChild,int rChild,int parent )
        {
            this.Weight = weight;
            this.LChild = lChild;
            this.RChild = rChild;
            this.Parent = parent;
        }
    }
</div>

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#求解哈夫曼树,实例代码

相关文章

  • 2017-05-28C# 判断字符为空的6种方法的效率实测对比
  • 2017-05-28.NET连接MongoDB数据库实例教程
  • 2017-05-28Windows中使用C#为文件夹和文件编写密码锁的示例分享
  • 2017-05-28C#创建压缩文件的实现代码
  • 2017-05-28C#列出当前系统所有正在运行程序的方法
  • 2017-05-28C# 读取指定路径配置文件的方法
  • 2017-05-28winform实现创建最前端窗体的方法
  • 2017-05-28C#中使用快速排序按文件创建时间将文件排序的源码
  • 2017-05-28通过C#实现自动售货机接口
  • 2017-05-28C#中尾递归的使用、优化及编译器优化

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#如何消除验证码图片的锯齿效果
    • C#实现在listview中插入图片实例代码
    • DOTNETBAR制作圆角窗体和圆角控件代码实例
    • C#使用XML序列化操作菜单的方法
    • 基于动态修改App.Config与web.Config的使用详解
    • Url相对路径的问题总结
    • .NET中保证线程安全的高级方法Interlocked类使用介绍
    • C#中Linq查询基本操作使用实例
    • C#文件目录操作方法汇总
    • ActiveMQ在C#中的应用示例分析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有