1.游程编码概念

  游程编码又称“运行长度编码”或“行程编码”,是一种统计编码,该编码属于无损压缩编码。

2.基本原理

  用一个符号值和串长代替具有相同值的连续符号,使符号长度少于原始数据的长度。

  如:     原始文本:dfffffeeeeettttrrrrttttt

    游程编码后文本:d1f5e5t4r4t5

 3.代码示例

 1 #include <stdio.h>
 2 #include <string.h>
 3 int main()
 4 {
 5     char textBefore[100] ="dfffffeeeeettttrrrrttttt";
 6     char textAfter[100];
 7     memset(textAfter,0,sizeof(textAfter));
 8
 9     char c;
10     int num,i,j;
11     for(i=0;i<strlen(textBefore);){
12         c   = textBefore[i];    ///临时保存字符
13         num = 1;    ///保存个数
14         for(j=i+1;j<strlen(textBefore);j++){
15             if(c == textBefore[j])
16                 num++;
17             else
18                 break;
19         }
20         i = j;
21
22         sprintf(textAfter,"%s%c",textAfter,c);
23         sprintf(textAfter,"%s%d",textAfter,num);
24     }
25     printf("textBefore : %s\n",textBefore);
26     printf("textAfter  : %s\n",textAfter);
27     return  0;
28 }

代码输出:

  

参考:

http://zh.wikipedia.org/wiki/%E6%B8%B8%E7%A8%8B%E7%BC%96%E7%A0%81

http://baike.baidu.com/view/721796.htm?fr=aladdin

(方法简单也是有名字的)

转载于:https://www.cnblogs.com/xudong-bupt/p/3761417.html

基于统计的压缩算法:游程编码相关推荐

  1. kaggle信用卡欺诈看异常检测算法——无监督的方法包括: 基于统计的技术,如BACON *离群检测 多变量异常值检测 基于聚类的技术;监督方法: 神经网络 SVM 逻辑回归...

    使用google翻译自:https://software.seek.intel.com/dealing-with-outliers 数据分析中的一项具有挑战性但非常重要的任务是处理异常值.我们通常将异 ...

  2. 3d激光雷达开发(基于统计滤波)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 基于统计方法的滤波其实是比较好理解的.也就是说,在一个局部范围内,选择距离最近的几十个点,要求他 ...

  3. 《中国人工智能学会通讯》——6.16 基于统计的推理方法

    6.16 基于统计的推理方法 前面提到,知识图谱中基于统计的推理方法一般指关系机器学习方法,一个比较好的综述论文可以参考文献 [17].下面介绍一些典型的方法. 实体关系学习方法 实体关系学习的目的是 ...

  4. 基于统计学习---面向新闻的发生地与提及地检测

    基于统计学习---面向新闻的发生地与提及地检测 一.摘要 二.流程 2.1- 数据构建及数据预处理 2.2- 全国5级地址实体二叉树 2.3- 命名实体识别相关算法 2.4- 新闻中特征信息分析 2. ...

  5. 中文分词算法——基于统计的分词

    1.基于统计的分词(无字典分词) 主要思想:上下文中,相邻的字同时出现的次数越多,就越可能构成一个词.因此字与字相邻出现的概率或频率能较好的反映词的可信度. 主要统计模型为:N元文法模型(N-gram ...

  6. 基于统计复用的分组交换网络拥塞控制的科普解释

    原文链接:https://blog.csdn.net/dog250/article/details/53138144 最近收到很多邮件咨询各种问题,一般而言我能回答的就都回答了,我自有自知之明,绝不是 ...

  7. NLP:自然语言处理领域常见的文本特征表示/文本特征抽取(本质都是“数字化”)的简介、四大类方法(基于规则/基于统计,离散式【one-hot、BOW、TF-IDF】/分布式)之详细攻略

    NLP:自然语言处理领域常见的文本特征表示/文本特征抽取(本质都是"数字化")的简介.四大类方法(基于规则/基于统计,离散式[one-hot.BOW.TF-IDF]/分布式[CO- ...

  8. PCL_Tutorial2-4.3.2-点云基于统计的异常值去除

    4.3.2-点云基于统计的异常值去除 介绍 代码详情 处理结果 代码链接 介绍 统计离群值删除过程更加精细. 首先,对于每个点,计算到其K个邻居的平均距离. 然后,如果我们假设结果是具有均值μ和标准偏 ...

  9. 基于规则经验主义和基于统计的自然语言处理方法的比较

    这学期为了逼着自己学,选了门NLP的课,之前一直没了解过,上了两次课后让写点看法,不才写就此文.就权当我为这门课攒个人品啦! /************************************ ...

  10. NLP:自然语言处理技术之NLP技术实践—自然语言/人类语言“计算机化”的简介、常用方法分类(基于规则/基于统计,离散式/分布式)之详细攻略

    NLP:自然语言处理技术之NLP技术实践-自然语言/人类语言"计算机化"的简介.常用方法分类(基于规则/基于统计,离散式/分布式)之详细攻略 导读:在NLP的技术实践中,处理自然语 ...

最新文章

  1. 170页PPT入门深度强化学习! 汪荣贵 图灵人工智能 昨天
  2. 各种门锁的内部结构图_双核CUP,电镀真金把手,0.3秒开锁,欧瑞博智能门锁S2评测...
  3. CentOS6启动过程总结与GRUB问题修复
  4. react dispatch_React系列自定义Hooks很简单
  5. JQ实现王者荣耀手风琴效果
  6. html选择区间,jQuery可选择区间值代码
  7. python简单实现文件上传/下载
  8. 方舟生存进化mysql_基于MySQL 的 SQL 优化总结_卡盟,辅助
  9. Excel文件下载From Linux
  10. keil+proteus 制作计算器_设计费 | 工程设计费计算器使用指南
  11. 2008考研数学辅导讲义理工类高等数学部分-蔡燧林
  12. 人工智能系列 之机器学习DBSCAN聚类算法
  13. 飞鸽传书2007绿色版,提取、识别不同的重点
  14. 台式机鼠标失灵打开计算机,台式电脑鼠标没反应是怎么回事
  15. python文件打包为deb_DEB包详解
  16. 变态矿工源码、闪电鸡app等软件的应用及发展方向的个人见解
  17. 时光机特效在哪里?推荐这三个实用软件给你
  18. Hough直线检测的原理与实现
  19. oracle是dbms还是dbs,Oracle学习笔记三——DBS
  20. overleaf word count 字数统计 报错 解决办法

热门文章

  1. Newtonsoft.Json报错:未能加载文件或程序集...或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配...
  2. Spring Boot 面试,一个问题就干趴下了!(下)
  3. Django 添加应用
  4. 子域收集-fierce
  5. solr相关配置(搜索novel案例)
  6. 关于齐次坐标系的理解
  7. clickhouse安装使用文档
  8. spring boot / cloud (九) 使用rabbitmq消息中间件
  9. 利用react native创建一个天气APP
  10. jQuery模拟鼠标点击事件失效的问题