资源简介
信息论实验课上编写的常用编码,有香农编码,霍夫曼编码,费诺编码,写成了windows程序,有界面。

代码片段和文件信息
using System;
using System.Collections;
using System.Linq;
using System.Text;
using System.Data;
namespace 实验二
{
class Fano
{/**Fano算法
*
* 1.信源符号按概率递减的方式排列
* 2.将排列好的符号分成两组,使每组的概率之和接近相等并对赋于0和1
* 3.将每一大组再分组,同2
* 4.依次下去,直到只剩一个信源符号
* 5.信源符号所对应的码字即为费诺码
*/
// Data data;//符号集
//double prob;//概率
int codelength;//码长
/*费诺码的实现*/
public ArrayList isFano(double[] px)
{
ArrayList list = new ArrayList();
double[] arr = new double[px.Length];
for (int i = 0; i < px.Length; i++)
{
//data = (Data)list.get(i);//得到每一个符号
//prob = data.getProb();//取出符号概率
arr[i] = px[i];//将概率存放在一个数组中
}
String[] codeword = getGroup(arr 0 arr.Length - 1);//符号编码
for (int i = 0; i < codeword.Length; i++)
{
// data = (Data)list.get(i);//得到每一个符号
//data.setCodeword(codeword[i]);//加上码字
//data.setCodeLength(codeword[i].Length());//加上码长
//list.set(i data);//加上符号
list.Add(codeword[i]);
}
return list;//返回改变的列表
}
/*用分组法求出符号的编码*/
public static String[] getGroup(double[] a int i int j)
{
String[] p = new String[a.Length]; //返回的字符编码
for (int t = 0; t < a.Length; t++)
{
p[t] = ““;//初始化
}
int flag = 0;//分组间隔点
if (i < j)
{
//采用递归法将数组分为两半
double sum = 10;//比较中间量
for (int k = i; k <= j; k++)
{
//取累和间距最小量
if (Math.Abs(sumGroup(a i k) - sumGroup(a k + 1 j)) < sum)
{
//以flag为中间点分别累加左边和右边然后比较
sum = Math.Abs(sumGroup(a i k) - sumGroup(a k + 1 j));
flag = k;//取出中间点
}
}
String[] p1 = getGroup(a i flag);//递归第一组(左边)
String[] p2 = getGroup(a flag + 1 j);//递归第二组(右边)
for (int m = i; m <= flag; m++)
{
p[m] = “0“ + p1[m];//第一组赋值0
}
for (int m = flag + 1; m <= j; m++)
{
p[m] = “1“ + p2[m];//第二组赋值1
}
}
return p;//得到分组后的码字
}
/*求数组第i位到第j位的和*/
public static double sumGroup(double[] a int i int j)
{
double total = 0;
for (int k = i; k <= j; k++)
{
total = total + a[k];
}
return total;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 16896 2018-12-23 15:31 实验二\实验二\bin\Debug\实验二.exe
文件 38400 2018-12-23 15:31 实验二\实验二\bin\Debug\实验二.pdb
文件 11600 2018-12-23 23:02 实验二\实验二\bin\Debug\实验二.vshost.exe
文件 490 2018-04-12 07:35 实验二\实验二\bin\Debug\实验二.vshost.exe.manifest
文件 3478 2018-12-17 15:13 实验二\实验二\Fano.cs
文件 5420 2018-12-09 15:52 实验二\实验二\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6356 2018-12-23 15:31 实验二\实验二\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 774 2018-12-23 23:02 实验二\实验二\obj\x86\Debug\实验二.csproj.FileListAbsolute.txt
文件 979 2018-12-17 09:24 实验二\实验二\obj\x86\Debug\实验二.csproj.GenerateResource.Cache
文件 9214 2018-12-16 19:30 实验二\实验二\obj\x86\Debug\实验二.csprojResolveAssemblyReference.cache
文件 16896 2018-12-23 15:31 实验二\实验二\obj\x86\Debug\实验二.exe
文件 38400 2018-12-23 15:31 实验二\实验二\obj\x86\Debug\实验二.pdb
文件 180 2018-12-17 15:13 实验二\实验二\obj\x86\Debug\实验二.Properties.Resources.resources
文件 180 2018-12-17 15:13 实验二\实验二\obj\x86\Debug\实验二.实验二.resources
文件 494 2018-12-05 15:22 实验二\实验二\Program.cs
文件 1350 2018-12-05 15:21 实验二\实验二\Properties\AssemblyInfo.cs
文件 2870 2018-12-05 15:21 实验二\实验二\Properties\Resources.Designer.cs
文件 5612 2018-12-05 15:21 实验二\实验二\Properties\Resources.resx
文件 1096 2018-12-05 15:21 实验二\实验二\Properties\Settings.Designer.cs
文件 249 2018-12-05 15:21 实验二\实验二\Properties\Settings.settings
文件 10317 2018-12-21 18:07 实验二\实验二\实验二.cs
文件 3732 2018-12-17 15:13 实验二\实验二\实验二.csproj
文件 15898 2018-12-17 09:24 实验二\实验二\实验二.Designer.cs
文件 5817 2018-12-17 09:24 实验二\实验二\实验二.resx
文件 869 2018-12-05 15:21 实验二\实验二.sln
..A..H. 19456 2018-12-23 23:06 实验二\实验二.suo
目录 0 2018-12-05 15:21 实验二\实验二\obj\x86\Debug\TempPE
目录 0 2018-12-23 15:31 实验二\实验二\obj\x86\Debug
目录 0 2018-12-09 15:52 实验二\实验二\bin\Debug
目录 0 2018-12-05 15:22 实验二\实验二\bin\Release
............此处省略9个文件信息
相关资源
- WPF USB 网络 串口 通信软件
- B/S 网上订餐系统
- 教室管理系统.rar
- 小鸡快跑游戏.
-
分别适用于.NET fr
amework 2.0和4.0的E - 汽车租赁系统............................
- 德卡D8读写器关于读写感应卡的一些代
- halcon 测量助手
- 图片存储到数据库保存二进制文件并
- 用Socket写的简易FTP服务器和客户端
- 企业销售管理信息系统(全套)
- 串口操作类(justinio)
- 基于Petri网的工作流(完整的原创源代
- 选择题自动考试系统
- 多线程实例:桌面智能弹球小游戏
- 土地信息管理系统
- ServiceStack V3.9 全部dll
- PDF pdfview.ocx 无水印
- 无需共享打印机实现远程打印功能小
- 真正的破解版PDFView4NET
- 网页调用ActiveX控件获取串口数据
- Luence的与盘古分词的使用软件
- Emgu.CV 打开视频与人脸检测
- 麦克纳姆轮程序.rar
- Unity3D 实战视频教程 保卫萝卜 2D 游戏
- net微信支付
- lucene.net+盘古分词多条件全文检索并匹
- 闪电猫-电商下图助手5.0.zip
- Windows程序设计 中英中文是完美版本
- FastReport.Net V2014.4.8 For .Net2.0
评论
共有 条评论