一种基于语义分析的数据压缩算法
本发明公开了一种基于语义分析的数据压缩算法,是一般受限语言文本文件的压缩方法,并针对C语言源文件文本压缩问题,利用C语言的语法格式的严格性,以C语言基本元素为文本压缩的基本元素,通过采用哈夫曼编码方法进行编码,给出了一种C语言文本压缩方法——基于语义分析的文本压缩方法。实验表明:该方法的压缩比比原始的哈夫曼文本压缩提高了将近1.5倍。
发明专利
CN201310533958.2
2013-11-01
CN103731154A
2014-04-16
H03M7/30(2006.01)I
陕西理工学院
洪歧
723001 陕西省汉中市汉台区朝阳路88号
陕西;61
一种基于语义分析的数据压缩算法,其特征在于,包括以下步骤:1)打开要进行压缩的C语言文本文件,按照C语言对于文本的分类,依次获取各个关键元素,忽略次要元素,并保存在一个双向链表LinkSrc中;2)遍历链表LinkSrc,统计各个元素出现的次数,以该元素的基本信息为节点,新建立成一个双向链表LinkRate;3)以链表LinkRate中的节点做为叶子节点,组成一颗哈夫曼树,树根为LinkRoot;4)将LinkRoot中的叶子节点复制并保存为一个数组Code,记录叶子节点对应的哈夫曼编码;5)遍历LinkSrc,将其中的内容转换为数组Code中对应的哈夫曼编码,保存到对应的压缩文件中;6)将哈夫曼树保存到文件中,该文件名对应于相应的源文件;7)利用上述方法的逆运算实现解码,在解压的过程中,将忽略掉的内容进行恢复。