算术编码算法

 

算术编码算法

数据挖掘实验室

  算术编码是把一个信源表示为实轴上01之间的一个区间,信源集合中的每一个元素都用来缩短这个区间。 数据挖掘论坛

   算术编码的过程如下:

(1)       设定编码区间的高段为h,编码区间的长度为gEndC为编码字符分配的高段,StartC

为字符分配区间的低端。

数据挖掘论坛

(2)       根据有限的信源估算出各元素的概率。

数据挖掘交友

(3)       杜宇编码的元素A1,根据(2)估算的概率和区间,计算出该元素编码后的新的l,和h。其公式如下:

数据挖掘论坛

         h = StartC + g* K;

数据挖掘交友

         l = Endc + g* K1;

数据挖掘工具

其具体程序如下:            数据挖掘实验室

              数据挖掘交友

const  Ca = 0.2;  Ce = 0.3; 数据挖掘实验室

      Ci = 0.2;  Co = 0.2;

数据挖掘交友

      Cu = 0.1;

var

  Form1: TForm1;

   s: string;

   StartC, EndC: Extended;

implementation 数据挖掘研究院

{$R *.dfm} 数据挖掘交友

procedure ConvertTo(s: string; var StartC, EndC: Extended);{将字符串变为数值}

数据挖掘交友

var n, i: integer;

    c: char; 数据挖掘交友

    g: Extended; 数据挖掘工具

begin

    StartC := 0; 数据挖掘论坛

    EndC := 1;

    n := Strlen(Pchar(s)); 数据挖掘工具

    for i := 1 to n do 数据挖掘实验室

    begin

数据挖掘研究院

       c := s[i]; 数据挖掘实验室

       g := EndC - StartC;

       case C of

       "a": 数据挖掘论坛

         begin 数据挖掘实验室

            EndC :=StartC  + g * Ca; 数据挖掘论坛

            StartC := StartC + g * 0; 数据挖掘交友

         end; 数据挖掘实验室

       "e":

数据挖掘交友

          begin

            EndC := StartC + g * (Ca + Ce); 数据挖掘交友

            StartC := StartC + g * Ca; 数据挖掘实验室

         end; 数据挖掘论坛

       "i": 数据挖掘交友

          begin 数据挖掘实验室

            EndC := StartC + g * (Ca + Ce + Ci); 数据挖掘交友

            StartC := StartC + g * (Ca + Ce); 数据挖掘交友

         end;

       "o": 数据挖掘交友

          begin 数据挖掘研究院

            EndC := StartC + g * (Ca + Ce + Ci + Co);

            StartC := StartC + g * (Ca + Ce + Ci);

数据挖掘工具

         end; 数据挖掘实验室

       "u":

          begin

            EndC := StartC + g * (Ca + Ce + Ci + Co + Cu);

数据挖掘论坛

            StartC := StartC + g * (Ca + Ce + Ci + Co); 数据挖掘研究院

         end;

数据挖掘论坛

       else

数据挖掘论坛

           begin 数据挖掘实验室

            Showmessage(" 输入的字符串有误 "); 数据挖掘交友

            exit;

           end; 数据挖掘交友

      end; 数据挖掘论坛

    end; 数据挖掘实验室

end; 数据挖掘工具

procedure NemuricalToStr(var s: String; var StartC, EndC: Extended); 数据挖掘工具

{将数值转换为字符串}

数据挖掘研究院

const eps = -1e-5;

数据挖掘实验室

begin 数据挖掘研究院

  if StartC-0.2 < -eps  then

数据挖掘论坛

    if (EndC- 0.2<= -eps) and (EndC > StartC) then 数据挖掘研究院

    begin

数据挖掘工具

       StartC := StartC / 0.2;

数据挖掘论坛

       EndC := EndC / 0.2; 数据挖掘交友

       s := s + "a";

       if (StartC <>0) or (EndC <> 1) then

          NemuricaltoStr(s,StartC,EndC);

数据挖掘论坛

   end;

数据挖掘工具

  if (StartC- 0.2 >= eps) and (StartC-0.5 < -eps) then 数据挖掘交友

    if (EndC-0.5<= -eps) and (EndC>StartC) then 数据挖掘工具

    begin

数据挖掘论坛

       StartC := StartC - 0.2;

数据挖掘工具

       EndC := EndC - 0.2; 数据挖掘实验室

       StartC := StartC / 0.3; 数据挖掘论坛

       EndC := EndC / 0.3;

       s := s + "e"; 数据挖掘工具

       if (StartC <>0) or (EndC <> 1) then

数据挖掘交友

          NemuricaltoStr(s,StartC,EndC); 数据挖掘研究院

  end ;

数据挖掘研究院

  if (StartC- 0.5>= eps) and (StartC- 0.7< -eps) then 数据挖掘实验室

    if (EndC-0.7<= -eps) and (EndC>StartC) then

    begin 数据挖掘工具

       StartC := StartC - 0.5;

       EndC := EndC - 0.5;

数据挖掘实验室

       StartC := StartC / 0.2; 数据挖掘论坛

       EndC := EndC / 0.2; 数据挖掘交友

       s := s + "i";

数据挖掘工具

       if (StartC <>0) or (EndC <> 1) then

          NemuricaltoStr(s,StartC,EndC); 数据挖掘实验室

  end ; 数据挖掘论坛

  if (StartC-0.7 >= eps) and (StartC-0.9 < -eps) then

数据挖掘实验室

    if (EndC-0.9<=-eps) and (EndC>StartC) then

数据挖掘工具

    begin

       StartC := StartC - 0.7; 数据挖掘论坛

       EndC := EndC - 0.7; 数据挖掘实验室

       StartC := StartC / 0.2; 数据挖掘工具

       EndC := EndC / 0.2; 数据挖掘工具

       s := s + "o"; 数据挖掘交友

       if (StartC <>0) or (EndC <> 1) then 数据挖掘研究院

          NemuricaltoStr(s,StartC,EndC); 数据挖掘工具

  end ;

  if (StartC -0.9>=eps) and (StartC-1 < -eps) then

    if (EndC-1<= -eps) and (EndC>StartC) then

    begin 数据挖掘实验室

       StartC := StartC - 0.9; 数据挖掘论坛

       EndC := EndC - 0.9;

数据挖掘实验室

       StartC := StartC / 0.1;

数据挖掘实验室

       EndC := EndC / 0.1;

       s := s + "u"; 数据挖掘工具

       if (StartC <>0) or (EndC <> 1) then

          NemuricaltoStr(s,StartC,EndC);

数据挖掘研究院

    end;

end;

数据挖掘交友

procedure TForm1.Button1Click(Sender: TObject); 数据挖掘实验室

begin 数据挖掘交友

   s := Edit1.Text; 数据挖掘交友

   ConvertTo(s,StartC,EndC); 数据挖掘工具

   Edit2.Text := FloattoStr(StartC);

数据挖掘论坛

   Edit3.Text := FloattoStr(EndC); 数据挖掘工具

end; 数据挖掘交友

procedure TForm1.Button2Click(Sender: TObject);

数据挖掘交友

begin 数据挖掘论坛

    s := "; 数据挖掘交友

    StartC := StrToFloat(Edit2.Text); 数据挖掘论坛

    EndC := StrtoFloat(Edit3.Text);

数据挖掘研究院

    NemuricalToStr(s,StartC,Endc); 数据挖掘论坛

    Edit1.Text := s; 数据挖掘交友

end; 数据挖掘交友

end. 数据挖掘工具

次程序在Delphi6+Windows2000下通过。
[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:用Delphi开发屏幕保护预览程序
下一篇:SDLGuide中文译版(三下)
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • GDI+简介
  • COM与DCOM的区别与联系
  • 使用Delphi解析XML 文档
  • 如何设置delphi/cbuilder/BDE/MSSQL
  • BORLAND在“迫害”程序员?
  • 将image的图片保存为JPG格式图片方法
  • InstallShieldExpressfordelphi制作安装程
  • Real Programmers Use Pascal
  • 关于在COM中使用可选参数的研究
  • TStrings的AddObject方法应用
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • BORLAND在“迫害”程序员?
  • 李维:我的回忆和一些有趣的事(精彩绝伦)
  • 李维看.net和DELPHI6(含李维照片)
  • 《代码大全》电子版1.01发布了
  • Real Programmers Use Pascal
  • Kylix安装手记
  • Borland与Microsoft关于Delphi的对话
  • InstallShieldExpressfordelphi制作安装程
  • 关于在COM中使用可选参数的研究
  • msagent经典用法
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静