当前位置: 首页 > news >正文

百度刷自己网站的关键词兰州网站推广排名

百度刷自己网站的关键词,兰州网站推广排名,明星网页设计模板图片,建网站网络推广优势1. 要求 本文设计了一套界面系统#xff0c;该系统能够实现以下功能#xff1a; 克劳夫特不等式的计算#xff0c;并且能够根据计算结果给出相应的信息。可通过用户输入的初始条件然后给出哈夫曼编码以及LZ编码#xff0c;结果均通过对话框来显示哈夫曼编码结果包含相应的…1. 要求 本文设计了一套界面系统该系统能够实现以下功能 克劳夫特不等式的计算并且能够根据计算结果给出相应的信息。可通过用户输入的初始条件然后给出哈夫曼编码以及LZ编码结果均通过对话框来显示哈夫曼编码结果包含相应的码字信源熵平均码长以及编码效率LZ编码结果的形式如下图所示包括每一个短语段号码字以及二进制码 2.过程 1.界面总体设计 初始界面包含用户登录克劳夫特不等式哈夫曼编码以及LZ编码四个模块每一个模块都用groupbox控件来单独设计使得整个系统看起来更加合理清晰 图1 初始界面 2.每一个部分的设计过程 1登录 private void button1_Click(object sender, EventArgs e){string resulttextBox1.Text 你好!欢迎使用信源编码程序;Form2 mfrm new Form2(result);mfrm.ShowDialog();} 图2 用户登录 点击登录后弹出出的对话框设计 public partial class Form2 : Form{private string message;public Form2(string msg){InitializeComponent();message msg;}private void Form2_Load(object sender, EventArgs e){label1.Text message;}private void button1_Click(object sender, EventArgs e){this.Close();}} 图3 登录后弹出的对话框 2克劳夫特不等式对话框设计与图3一致 private void button2_Click(object sender, EventArgs e){Double m;String a;m Convert.ToDouble(textBox2.Text);int k;double[] y new double[richTextBox1.Lines.Length];double sum 0;for (int i 0; i richTextBox1.Lines.Length; i){a richTextBox1.Lines[i];k a.Length;sum Math.Pow(m, -k);}if (sum 1){       Form2 mfrm new Form2(Convert.ToString(sum) 1,满足克劳夫特不等式存在唯一可译码);mfrm.Show();}else{Form2 mfrm new Form2(Convert.ToString(sum) 1,不满足克劳夫特不等式不存在唯一可译码);mfrm.Show();} 图4 克劳夫特不等式模块 3哈夫曼编码重点 定义类 public class Node                                 //哈夫曼树结点{public string code;public double prioirry;                           //保存权值public Node lchild;                           //左孩子指针public Node rchild;                           //右孩子指针} 定义字典存储结果 private Dictionarystring, string dictcode new Dictionarystring, string(); //结果字典 比较函数 public int comparisonNode(Node n1, Node n2){return (int)(100*n1.prioirry -100*(n2.prioirry ));}遍历哈夫曼树的函数 private void viewTree(Node n, string v){if ( n.code !null){dictcode.Add(n.code, v);}else{if (n.lchild ! null){string vl v 1;viewTree(n.lchild, vl);}if (n.rchild ! null){string vr v 0;viewTree(n.rchild, vr);}}} 编码函数 private string encode(double[] p){dictcode.Clear();Dictionarystring, double priorityQueue new Dictionarystring, double();for (int i 0; i p.Length; i){string ci x Convert.ToString(i); priorityQueue.Add(ci, p[i]);}ListNode listpc new ListNode();foreach (var item in priorityQueue){listpc.Add(new Node() { prioirry item.Value, lchild null, rchild null,code item.Key });}listpc.Sort(comparisonNode);while (listpc.Count 1){Node n new Node();n.prioirry listpc[0].prioirry listpc[1].prioirry;n.lchild listpc[0];n.rchild listpc[1];listpc.RemoveAt(0);listpc.RemoveAt(0);int index -1;for (int i 0; i listpc.Count; i){if (n.prioirry listpc[i].prioirry){index i;break;}}if (index -1){ index listpc.Count; }listpc.Insert(index, n);}string encodestr ;viewTree(listpc[0], );for (int i 0; i p.Length; i){encodestr dictcode[xConvert.ToString(i)] ;}return encodestr;} 编码按钮中代码 private void button3_Click(object sender, EventArgs e){string[] a new string[richTextBox2.Lines.Length];double[] px new double[richTextBox2.Lines.Length];string[] s new string[richTextBox2.Lines.Length];double h 0;double k 0;for (int i 0; i richTextBox2.Lines.Length; i){a[i] richTextBox2.Lines[i];px[i] Convert.ToDouble(a[i]);}s encode(px).Split( );for (int i 0; i px.Length; i){h -px[i] * Math.Log(px[i], 2);k px[i] * s[i].Length;}Form3 mfrm new Form3(encode(px),h,k,h/k);mfrm.Show();} 图5 哈夫曼编码模块 图6 哈夫曼编码结果对话框 4LZ编码 编码按钮中的代码 private void button6_Click(object sender, EventArgs e){Dictionarystring, int dic new Dictionarystring, int();Dictionarychar, char xl new Dictionarychar, char();xl[a] 0;xl[b] 1;int len textBox3.Text.Length;int i 0;int n 0;string u;//短语string nn;//段号string w;//码字string k;//二进制码string str textBox3.Text;label5.Text ;while (i len){string a Convert.ToString(str[i]);if (!dic.ContainsKey(a)){k (0, xl[str[i]])  ;w (0, str[i] )  ;u str[i]      ;dic[a] dic.Count 1;i 1;n 1;nn Convert.ToString(n)       ;}else if (i len - 1){w (Convert.ToString( dic[a]) , )  ;u str[i]      ;n1;   k(Convert.ToString(dic[a],2).PadLeft(Convert.ToInt16(Math.Ceiling( Math.Log(n,2)))), )”; nn Convert.ToString(n)       ;i 1;}else{for (int j i 1; j len; j){if (!dic.ContainsKey(str.Substring(i, j 1 - i))){n 1;u str.Substring(i, j - i1)      ;nn Convert.ToString(n)       ;w ( Convert.ToString(dic[str.Substring(i, j - i)]) , str[j] )  ;                       k(Convert.ToString(dic[str.Substring(i,j-i)],2).PadLeft(Convert.ToInt16(Math.Ceiling( Math.Log(n,2))),0) , xl[str[j]])  ;dic[str.Substring(i, j 1 - i)] dic.Count 1;i j 1;break;}else if (j len - 1){n 1;nn Convert.ToString(n)       ;u str.Substring(i, j1-i)      ;w (Convert.ToString( dic[str.Substring(i, j 1 - i)]) , )  ;k ( Convert.ToString(dic[str.Substring(i, j1-i)], 2).PadLeft(Convert.ToInt16(Math.Ceiling(Math.Log(n, 2))), 0) , )  ;i j 1;}}}}Form4 mfrm new Form4(u,nn,w,k);mfrm.Show();} 图7  LZ编码模块 图8  LZ编码结果对话框 设计完成 3. 测试 图9 登录测试 克劳夫特不等式输入相应的码字之后点击按钮出现对应信息例如下图中不等式大于1所以可以判断不存在唯一可译码 图10 克劳夫特不等式测试 以上模块较为简单经过验证已经可以满足要求接下里着重对于哈夫曼以及LZ编码模块进行测试 第一个哈夫曼测试采用书上例5-6的原题 图11 原书例5-6 图12 哈夫曼编码测试1 对比原题与本系统计算出的结果可以发现测试完全正确与答案保持一致编码效率达到了96% 第二个哈夫曼编码测试 概率分别为 0.40.20.20.10.1 图13 哈夫曼编码测试2 通过计算可以得知该测试的结果完全正确由此基本可以判断该模块可以成功实现哈夫曼编码但是在计算过程中我发现如果将码字编为 00.1011010011的话虽然编码效率和图7中一样但是此编码结果码方差为0.16而图7中编码方差为1.36。经过分析得知程序在编码过程中每一次概率的排序并不一定会把合并的概率放到前面因此造成了有的信源符号被赋予更长的码。 第1个LZ编码测试 序列abbabaabbabbaaaaba 图14  LZ编码测试1 经验证测试1结果完全正确 第2个LZ编码测试 序列baabbbaaababb 图15  LZ编码测试2 可以发现最后一个短语对应的码字以及二进制码都没有后缀这是由于bb在第4个短语的位置就出现过了所以前缀为4而bb后没有其它符号所以为空。因此测试结果同样正确。 4. 总结 本文加入了信源熵码长效率等编码指标让整个程序更加完整地解决了哈夫曼编码地全部过程。但是在测试中我也发现了存在的问题例如我的程序编码的结果虽然正确但是却不一定是最佳的因为它的码方差可能比最佳的编码更大 LZ编码的结构相对没有那么复杂主要是对不同情况要分别讨论同样也添加了更加具体的结果以便更好的去分析它。 哈夫曼编码可以用于数据压缩但是它的概率特性需要精确测定在数据压缩的过程中可能就会降低速度。LZ编码可以应用于很多计算机数据存储但是它通常在序列起始段压缩效果较差随着长度增加效果会变好。
http://www.pierceye.com/news/705355/

相关文章:

  • 网站开发与没计是做什么贵阳查房子备案的网站
  • 做网站学不需要做后台管理系统mean网站开发
  • 网页网站公司如何做备份游戏型网站开发
  • 网站排名必做阶段性seo策略软文写作是什么意思
  • 网站域名商渭南哪家公司可以做网站
  • 医院网站asp源码加强机关网站建设
  • wordpress建手机站网站建设规划大纲
  • 同个主体新增网站备案施工企业副总经理竞聘
  • 视频网站后台设计针式个人知识库管理系统
  • 外围网站开发网页制作对联
  • 深圳福永网站建设网站多个用户怎样建设
  • 百度网站排名怎么提高wordpress页面全屏的插件
  • 企业网站优化方式wordpress 外链播放器
  • 设计衣服的网站久久诗歌网
  • 上海网站营销it运维网
  • 一起做网店广州站怎么推广软件让别人下载
  • 王晴儿网站建设方案wordpress媒体库 ftp
  • 乡村建设网站自己的网站做防伪码
  • 企业网站托管新乡企业网站建设
  • 移动网站开发课程设计莱芜四中网站
  • 做论坛网站赚钱吗做电影网站要几G空间的
  • 网站建设综合实训心得intitle 网站建设
  • 天津市做网站公司wordpress demo
  • 做外贸网站公司公司网站的seo优化
  • 网站页面设置上海微信小程序开发公司
  • 中企动力是怎么建设网站的房地产市场低迷
  • 成都眉山网站建设平台兼职网站开发
  • 化妆品网站的建设 论文php技术的网站开发
  • 女人与黑狗做视频网站网站seo关键词排名
  • ps制作个人网站营销软文怎么写