基于统计的压缩算法:游程编码
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
基于统计的压缩算法:游程编码相关推荐
- kaggle信用卡欺诈看异常检测算法——无监督的方法包括: 基于统计的技术,如BACON *离群检测 多变量异常值检测 基于聚类的技术;监督方法: 神经网络 SVM 逻辑回归...
使用google翻译自:https://software.seek.intel.com/dealing-with-outliers 数据分析中的一项具有挑战性但非常重要的任务是处理异常值.我们通常将异 ...
- 3d激光雷达开发(基于统计滤波)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 基于统计方法的滤波其实是比较好理解的.也就是说,在一个局部范围内,选择距离最近的几十个点,要求他 ...
- 《中国人工智能学会通讯》——6.16 基于统计的推理方法
6.16 基于统计的推理方法 前面提到,知识图谱中基于统计的推理方法一般指关系机器学习方法,一个比较好的综述论文可以参考文献 [17].下面介绍一些典型的方法. 实体关系学习方法 实体关系学习的目的是 ...
- 基于统计学习---面向新闻的发生地与提及地检测
基于统计学习---面向新闻的发生地与提及地检测 一.摘要 二.流程 2.1- 数据构建及数据预处理 2.2- 全国5级地址实体二叉树 2.3- 命名实体识别相关算法 2.4- 新闻中特征信息分析 2. ...
- 中文分词算法——基于统计的分词
1.基于统计的分词(无字典分词) 主要思想:上下文中,相邻的字同时出现的次数越多,就越可能构成一个词.因此字与字相邻出现的概率或频率能较好的反映词的可信度. 主要统计模型为:N元文法模型(N-gram ...
- 基于统计复用的分组交换网络拥塞控制的科普解释
原文链接:https://blog.csdn.net/dog250/article/details/53138144 最近收到很多邮件咨询各种问题,一般而言我能回答的就都回答了,我自有自知之明,绝不是 ...
- NLP:自然语言处理领域常见的文本特征表示/文本特征抽取(本质都是“数字化”)的简介、四大类方法(基于规则/基于统计,离散式【one-hot、BOW、TF-IDF】/分布式)之详细攻略
NLP:自然语言处理领域常见的文本特征表示/文本特征抽取(本质都是"数字化")的简介.四大类方法(基于规则/基于统计,离散式[one-hot.BOW.TF-IDF]/分布式[CO- ...
- PCL_Tutorial2-4.3.2-点云基于统计的异常值去除
4.3.2-点云基于统计的异常值去除 介绍 代码详情 处理结果 代码链接 介绍 统计离群值删除过程更加精细. 首先,对于每个点,计算到其K个邻居的平均距离. 然后,如果我们假设结果是具有均值μ和标准偏 ...
- 基于规则经验主义和基于统计的自然语言处理方法的比较
这学期为了逼着自己学,选了门NLP的课,之前一直没了解过,上了两次课后让写点看法,不才写就此文.就权当我为这门课攒个人品啦! /************************************ ...
- NLP:自然语言处理技术之NLP技术实践—自然语言/人类语言“计算机化”的简介、常用方法分类(基于规则/基于统计,离散式/分布式)之详细攻略
NLP:自然语言处理技术之NLP技术实践-自然语言/人类语言"计算机化"的简介.常用方法分类(基于规则/基于统计,离散式/分布式)之详细攻略 导读:在NLP的技术实践中,处理自然语 ...
最新文章
- 170页PPT入门深度强化学习! 汪荣贵 图灵人工智能 昨天
- 各种门锁的内部结构图_双核CUP,电镀真金把手,0.3秒开锁,欧瑞博智能门锁S2评测...
- CentOS6启动过程总结与GRUB问题修复
- react dispatch_React系列自定义Hooks很简单
- JQ实现王者荣耀手风琴效果
- html选择区间,jQuery可选择区间值代码
- python简单实现文件上传/下载
- 方舟生存进化mysql_基于MySQL 的 SQL 优化总结_卡盟,辅助
- Excel文件下载From Linux
- keil+proteus 制作计算器_设计费 | 工程设计费计算器使用指南
- 2008考研数学辅导讲义理工类高等数学部分-蔡燧林
- 人工智能系列 之机器学习DBSCAN聚类算法
- 飞鸽传书2007绿色版,提取、识别不同的重点
- 台式机鼠标失灵打开计算机,台式电脑鼠标没反应是怎么回事
- python文件打包为deb_DEB包详解
- 变态矿工源码、闪电鸡app等软件的应用及发展方向的个人见解
- 时光机特效在哪里?推荐这三个实用软件给你
- Hough直线检测的原理与实现
- oracle是dbms还是dbs,Oracle学习笔记三——DBS
- overleaf word count 字数统计 报错 解决办法
热门文章
- Newtonsoft.Json报错:未能加载文件或程序集...或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配...
- Spring Boot 面试,一个问题就干趴下了!(下)
- Django 添加应用
- 子域收集-fierce
- solr相关配置(搜索novel案例)
- 关于齐次坐标系的理解
- clickhouse安装使用文档
- spring boot / cloud (九) 使用rabbitmq消息中间件
- 利用react native创建一个天气APP
- jQuery模拟鼠标点击事件失效的问题