CN105938469B - 编码存储方法、文本存储数据结构以及文本压缩存储和统计输出方法 - Google Patents
编码存储方法、文本存储数据结构以及文本压缩存储和统计输出方法 Download PDFInfo
- Publication number
- CN105938469B CN105938469B CN201610086498.7A CN201610086498A CN105938469B CN 105938469 B CN105938469 B CN 105938469B CN 201610086498 A CN201610086498 A CN 201610086498A CN 105938469 B CN105938469 B CN 105938469B
- Authority
- CN
- China
- Prior art keywords
- word
- node
- text
- character
- chained list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/146—Coding or compression of tree-structured data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了编码存储方法、文本存储数据结构以及文本压缩存储和统计输出方法,核心基于为大写字母和必要的标点符号设定32进制的用户编码。将单词中每三个字符对应的32进制用户编码转换为二进制后存储在一十六位二进制存储单元中。文本存储数据结构,将文本存于一散列树中,该散列树包含:32进制用户编码顺序对应的多个表节点;每个表节点为一级链表的首节点,所述一级链表中存储文本中全部相同首字母的单词或存储相同字符;作为所述一级链表中后续结点的单词节点,该单词节点包括记录单词长度和文本中重复单词数量的字段;每个单词节点为二级链表的首节点;作为所述二级链表中后续节点的存储节点,每个存储节点为存储应用权利要求2所述编码存储方法中所述规则划分的当前单词和重复单词的字符组的二进制存储单元。
Description
技术领域
本发明涉及一种能提供检索速度的存储文本字符的数据结构、以及基于该数据结构的文本存储方法和文本检索方法。主要涉及专利分类号G06计算;推算;计数G06F电数字数据处理G06F17/00特别适用于特定功能的数字计算设备或数据处理设备或数据处理方法G06F17/30信息检索;及其数据库结构。
背景技术
传统的字符或者文本存储的方法如下:
核心:将当前文本的一段字符作为输入串AS=’HE IS A DOCTOR.’进行阅读。阅读过程:
遇到大写时,认为是当前句子的开始;遇到空格时,认为是当前的单词结束;遇到句点(或者“?”、“!”)则一句的结束。
拼接单词对应的ASCII存放在IDC=100开始的地址中,该字符串的机内表示如下表所示:
字符串的机内表示(ASCII形式)
IDC | 0 1 2 3 4 5 6 7 | 8 9 10 11 12 13 14 15 |
100 | 0100 1000 | 0100 0101 |
101 | 0000 0000 | 0100 1001 |
102 | 0101 0011 | 0000 0000 |
103 | 0100 0001 | 0000 0000 |
104 | 0100 0100 | 0100 1111 |
105 | 0100 0011 | 0101 0100 |
106 | 0100 1111 | 0101 0010 |
107 | 0010 1110 |
如将某字母H的ASCII表示为(H)ASCII,存放在地址IDC=100开始的连续地址中,即地址100的前八位存放字母H的ASCII,即(H)ASCII=0100 1000;地址100的后八位存放字母E的ASCI,即(E)ASCII=0100 0101;
地址101的前八位存放空格的ASCII,即(NULL)ASCII=0000 0000,地址101的后八位存放字母I的ASCI,即即(I)ASCII=0100 1001;地址102的前八位存放字母S的ASCII,即(S)ASCII=0101 0011,地址102的后八位存放字母“”(空格)的ASCII码,即(NULL)ASCII=0000 0000;
地址103的前八位存放字母“A”的ASCII,即(A)ASCII=0100 0001,地址103的后八位存放空格的ASCII,即(NULL)ASCII=0000 0000;
地址104的前八位存放“D”的ASCII,即(D)ASCII=0100 0100,地址104的后八位存放“O”的ASCII,即(O)ASCII=0100 1111;
地址105的前八位存放字母C的ASCI,即(C)ASCII=0100 0011;地址105的后八位存放“T”的ASCII,即(T)ASCII=0101 0100;
地址106的前八位存放字母O的ASCI,即(O)ASCII==0100 1111;地址106的后八位存放“R”的ASCII,即(R)ASCII=0101 0010;
地址107的前八位存放字母”.”即句点的ASCI,即(.)ASCII=0010 1110.
可见,上述存放输入串AS=’HE IS A DOCTOR.’的存储地址是100-107的连续空间中,该存储方式,在编译过程成为字符串的机内表示,这种表示方式属于非紧凑的读字符串过程。
为了节省存储空间和程序运行处理字符串过程的快速处理和查找,一般采用压缩编码技术,将当前的单词进行拼接和处理。
组成单词即拼接单词过程
为了组成一个有意义的英语单词,我们将上述的一个句子的机内表示进行分解。其分解即拼接单词过程如下:
步骤一:从地址IDC100开始组成单词
字母“H”的ASCII=0100 1000;字母E的ASCII=0100 0101遇到空格或逗号时,拼接单词结束。
以此类推,拼接出的所有单词如下:
单词一:HE
单词二:IS
单词三:A
单词四:DOCTOR
步骤二:按照分出的单词进行匹配和统计
具体的单词匹配方法除了目前常用的方法外,还有KMP方法即字符串匹配方法、逻辑匹配等方法。这些分词和统计方法简单容易实现,但是在后面的语义处理和句子统计起来非常麻烦,如:
(1)统计单词和匹配单词时间太长;
(2)由于采取的诗非紧凑形式存储,因此拼接单词和匹配单词过程非常复杂,即占用大量的内存有浪费了大量的统计单词的时间。
发明内容
本发明针对以上问题的提出,而提出的一种编码存储方法,包括如下步骤:
首先,设定32进制的用户编码,即1-32的顺序编码。编码1-26为大写字母A-Z。编码26-30依次为句终结符“,”、“。”、“?”和“!”,剩余的两位可由用户另行指定其它字符。如下表所示:
选用2的倍数的32进制,在计算机存储中更为合理,且计算更为方便。另外,选用32进制的最大优点是:可以将三个字符压缩到一个十六位二进制单元中(假设当前的计算机属于十六位二进制的计算机,并且假设下面统计的英语文本仅有26个字母组成的英语单词),因为一个十六位二进制单元的最大十进制数是65535;而按照上述用户自定义的用户编码字母的一个十六位二进制单元的最大数是:ZZZ对应的压缩编码数值为(Z)的用户编码*32^2+(Z)的用户编码*32^1+(Z)的用户编码==26*32^2+26*32^1+26=26*1094+26*32+26=28444+832+26=29302<65535。
即使是自定义的最大编码也没有超过其最大值65535,因为其字符的最大值对应的自定义编码值计算为:(!)的用户编码*32^2+(!)的用户编码*32^1+(!)的用户编码==30*32^2+30*32^1+30=30*1094+30*32+30=32820+960+30=33810<65535。
由于用户编码中只针对大写字母设定了编码,因此在开始转换或者说存储时,需要将文本中的小写字母统一成大写字母(通过ASCII码即可完成小写、大写的转换)。
以上的步骤顺序均可改变,顺序之间没有固定的先后顺序。
然后,针对每一个单词,将单词每三个字母字符按用户编码转换成二进制后存储在一个十六位二进制的存储单元中。
作为优选的实施方式,转换的规则如下:
首先,定义一个单词的首字母为最高位字符,单词的末尾字母为最低位字符;
然后,对所述单词划分成多个字符组,这里主要分为两种情况。
对于单词字符数量超过3个的单词,由最高位字符开始,每三个字符划分为一个字符组,剩余的数量少于3个的字符划分一字符组;而对于字符数量少于3个的单词,直接划分或者说形成一个字符组。
开始转换为二进制时,字符组中的字符按由字符组内末尾字符至首位字符的转换权值依次为32的0次方、1次方和2次方的规则转换为二进制数。
一种文本存储数据结构,在此数据结构中,文本划分成以单词为单位的节点,存于一散列树中,该散列树主要包含:
32个表节点,表节点按设定的大写字母顺序和句终结符的顺序相同。每一个表节点为一个一级链表的首节点。一级链表中存储文本中全部相同的首字母的单词或者说相同的字符(主要是句终结符或者设定的其它字符)
代表文本中具体单词的单词节点,文本中开头字母相同的单词的单词节点为一个一级链表中的后续节点。每个单词节点为一个二级链表的首节点。
通过使用链表节点的存储方法,从根本上解决了上述单词中长度超过3,并且运用多单元存储的问题。
存储具体单词的存储节点,每个存储节点为存储应用权利要求2所述编码存储方法中所述规则划分的当前单词和重复单词的字符组的二进制存储单元。
具体的,作为优选的实施方式,所述的每一个表节点包含:
单词序号WN、记录文本中首字母相同单词总数的全文单词统计字段WS和单词首指针WFIR;其中WS单元作为单词统计的共字符分区使用的字段。
所述单词首指针WFIR直接指向文本中首次出现的以其所在表节点表示的首字母起始的单词所对应的单词节点。
这样结合引入HASH表存储结构可以快速将一篇英文文章的以“A”到“Z’”打头的单词的链表找出,即可完成单词的快速查找和快速链接单词。
作为优选的实施方式,每一个单词节点包括:单词长度统计字段WL、单词指针WP、相同单词统计字段EMS和下一单词指针NWP。
考虑到每个单词的长度都是未知的,通过设置单词长度统计字段WL,即可选用更为合理的不定长度的链表结构进行动态存储。同样的,设置相同单词统计字段EMS可以在遇到压缩编码值相等,即相同单词的情况下,大幅度的节省单词拼接和存储时间和空间。
所述下一单词指针NWP指向表示文本中以当前相同首字母开头、在文本中重复出现的单词节点。
作为优选的实施方式,所述的单词指针WP指向所述的存储节点,存储节点至少包括一如权利要求1所述的十六位二进制存储单元和下一单词部分指针NWCHP,所述的十六位二进制单元存储如权利要求1所述的单词对应的如权利要求1所述的用户编码。
一种文本压缩存储方法,包括如下步骤:
首先,针对选定文本中首句,统计该句中起始单词的字符个数,将该单词按所述的编码存储方法中的规则划分为一个或者多个二进制(每个字母对应32进制用户编码转换成二级制)的字符组,将每个字符组存入16位二进制存储单元中。
然后,建立上述文本存储数据结构中的单词节点,通过单词节点引出的单词指针依次连接存储当前单词字符组的二进制存储单元,形成二级链表。
建立如权利要求4所述的文本存储数据结构中的多个表节点,通过指针连接对应的表节点所述当前单词的单词节点,形成一级链表。
将文本中下一单词转换后存储,生成当前单词对应的单词节点,形成二级链表;提取该单词的首字母,使用对应首字母一级链表的指针指向单词节点,增加一级链表的长度,在单词统计字段加1;
重复上述步骤,完成文本的压缩存储,上述步骤之间并不具备固定的顺序关系,比如建立表节点等步骤的顺序。
更进一步的,为了节省存储空间,在单词文本转换成存储之前,首先检测当前单词是否与已有的单词节点所记载的单词相同。若相同,所述的单词节点中相同单词统计字段EMS加1。
一种文本统计输出方法,包括有如下步骤:
调取所述表节点中各表节点中单词统计字段中的数值,输出数值或者各表节点中所述数值综合,完成文本中特定字母开头单词和全部单词数量的统计;
遍历一级链表中的各单词节点,访问单词节点中相同字段,输出记录的数值,完成文本中特定重复单词数量的统计;
遍历二级链表中的各单词存储节点,依次将该单词节点二级链表中各二级制存储单元中存储的二进制数转换为32进制用户编码,转换为字母,完成文本中单词的还原输出。
附图说明
为了更清楚的说明本发明的实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为实施例中第一例句的链表形式示意图
图2为实施例中第二例句的链表形式示意图
图3为实施例中第三例句的链表形式示意图
图4为本发明表节点的结构示意图
图5为本发明单词节点的结构示意图
图6为本发明每个单词的存储节点的结构示意图
图7为实施例中第一例句初始状态示意图
图8为实施例中第一和第二例句合并后的状态示意图
图9为实施例中三个例句合并后的状态示意图
图10为本发明读字符与拼单词子程序的算法流程图
图11为本发明例句合并的流程图
具体实施方式
为使本发明的实施例的目的、技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:
实施例,假设当前的文本内容有三个句子组成:“HE IS A DOCTOR.SHE IS ADOCTOR,TOO.I AM A DIRECTOR.”(已完成大小写转换)
第一个句子“HE IS A DOCTOR”的用户编码对应的数值计算如下:
(1)可以将一个字符“HE”运用一个32进制的数值来表示:
如:字符“HE”的用户编码是:
(H)的用户编码*32+(E)的用户编码==8*32+5=261;
(2)可以将第二个单词“IS”运用一个32进制的数值来表示:
如:字符“IS”的用户编码是:8×32?(I)的用户编码*32+(S)的用户编码=9*32+19=307;
(3)可以将第三个单词“A”运用一个32进制的数值来表示:
如:字符“A”的用户编码是:(A)的用户编码=1;
(4)可以将第四个单词“DOCTOR”运用一个32进制的数值来表示:
如:高位字符“DOC”的用户编码是:(D)的用户编码*32^2+(O)的用户编码*32^1+(C)的用户编码=4*32^2+15*32^1+3=4*1024+480+3=4096+480+3=4579;
如:低三位字符“TOR”的用户编码是:(T)的用户编码*32^2+(O)的用户编码*32^1+(R)的用户编码=20*32^2+15*32^1+18=20*1024+480+18=20480+480+18=20978。
因此,压缩后的第一个句子对应的四个字符的存储形式如下表所示:
IDC | 0 1 2 3 4 5 6 78 9 10 11 12 13 14 15 |
500 | 261 |
501 | 307 |
502 | 1 |
503 | 4579 |
504 | 20978 |
505 |
压缩后第一个句子的链表形式如图1所示。
文本中的第二个句子是:SHE IS A DOCTOR,TOO.。其扫描后第二个句子的用户编码对应的数值计算如下所示:
其扫描后生成的用户编码的具体解释:
(1)将第一个单词“SHE”运用一个32进制的数值来表示:(S)的用户编码*32^2+(H)的用户编码*32^1+(E)的用户编码=19*32^2+8*32^1+5=19*1024+256+5=19456+256+5=19717
(2)将第二个单词“IS”运用一个32进制的数值来表示:
如:字符“IS”的用户编码是:(I)的用户编码*32+(S)的用户编码=9*32+19=307;
(3)将第三个单词“A”运用一个32进制的数值来表示:
如:字符“A”的用户编码是:(A)的用户编码=1
(4)可以将第四个单词“DOCTOR”运用一个32进制的数值来表示:
高三位字符“DOC”的用户编码是:(D)的用户编码*32^2+(O)的用户编码*32^1+(C)的用户编码=4*32^2+15*32^1+3=4*1024+480+3=4096+480+3=4579;
低三位字符“TOR”的用户编码是:(T)的用户编码*32^2+(O)的用户编码*32^1+(R)的用户编码=20*32^2+15*32^1+18=20*1024+480+18=20480+480+18=20978
将第五个单词“too”运用一个32进制的数值来表示:
如:字符“too”的用户编码是:(T)的用户编码*32^2+(O)的用户编码*32^1+(O)的用户编码=20*32^2+15*32^1+15=20*1024+15*32+15=20480+480+15=20975。
因此,第二个句子在内存的存储形式如下表所示:
IDC | 0 1 2 3 4 5 6 78 9 10 11 12 13 14 15 |
500 | 19717 |
501 | 307 |
502 | 1 |
503 | 4579 |
504 | 20978 |
505 | 20975 |
内存中,第二例句的链表形式如图2所示。
文本中的第三个句子是:“I AM A DIRECTOR.”。其扫描后生成的用户编码及其对应链表形式如下:
其扫描后生成的用户编码的具体解释:
(1)将第一个单词“I”运用一个32进制的数值来表示:(I)的用户编码:(I)的用户编码=9。
(2)将第二个单词“AM”运用一个32进制的数值来表示:
如:字符“AM”的用户编码是:(A)的用户编码*32+(M)的用户编码=1*32+13=45;
(3)将第三个单词“A”运用一个32进制的数值来表示:
如:字符“A”的用户编码是:(A)的用户编码=1
(4)可以将第四个单词“director”运用一个32进制的数值来表示:
如:高三位字符“DIR”的用户编码是:(D)的用户编码*32^2+(I)的用户编码*32^1+(R)的用户编码=4*32^2+9*32^1+18=4*1024+288+18=4096+288+18=4402;
如:中三位字符“ECT”的用户编码是:(E)的用户编码*32^2+(C)的用户编码*32^1+(T)的用户编码=5*32^2+3*32^1+20=5*1024+96+20=5120+96+20=5236;
如:低二字符“OR”的用户编码是:(O)的用户编码*32^1+(R)的用户编码=15*32^1+18=15*32+18=480+18=498。
因此,第三个句子在内存的存储形式如下表所示:
第三个句子的链表形式如图3所示。
如果需要统计上述单词出现的个数,采用hash树的方法进行统计。首先,建立Hash树,其Hash树的顺序按照字母的顺序进行建立,具体单词的表结点的结构形式如图4所示:每个单词序号开始与其他单词链接的结点结构形式如图5所示:每个单词的存储结点对应的数据结构形式如图6所示。
第一个句子的初始状态如图7所示。第一例句和第二例句合并后的链表状态如图8所示。图9为三个例句合并后的链表状态示意图。
合并的过程可以如图10和图11所示。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种编码存储方法,其特征在于具有如下步骤:
—为大写字母A-Z和至少包含“,”、“。”、“?”和“!”的句终结符设定从1开始至32结束的32进制用户编码;
—将小写的字母转换为大写字母;
—将单词中每三个字符对应的32进制用户编码转换为二进制后存储在一十六位二进制存储单元中,所述转换的规则如下:
—定义单词的首字母为最高位字符,单词的末尾字母为最低位字符;
—对于字符数量超过3个的单词,由最高位字符开始,每三个字符划分为一个字符组,剩余数量少于3个的字符划分一字符组;对于字符数量少于3个的单词,直接划分为一字符组;
—转换为二进制时,字符组中的字符按由字符组内末尾字符至首位字符的转换权值依次为32的0次方、1次方和2次方的规则转换为二进制数。
2.一种文本存储数据结构的构建方法,其特征在于文本存于一散列树中,该散列树包含:
与权利要求1所述的编码存储方法中32进制用户编码顺序对应的多个表节点;每个表节点为一级链表的首节点,所述一级链表中存储文本中全部相同首字母的单词或存储相同字符;
作为所述一级链表中后续结点的单词节点,该单词节点包括记录单词长度和文本中重复单词数量的字段;每个单词节点为二级链表的首节点;
作为所述二级链表中后续节点的存储节点,每个存储节点为存储应用权利要求1所述编码存储方法中所述规则划分的当前单词和重复单词的字符组的二进制存储单元。
3.根据权利要求2所述的文本存储数据结构的构建方法,其特征还在于所述的每一个表节点包含:单词序号WN、记录文本中首字母相同单词总数的全文单词统计字段WS和单词首指针WFIR;
所述单词首指针WFIR直接指向文本中首次出现的以其所在表节点表示的首字母起始的单词所对应的单词节点。
4.根据权利要求2所述的文本存储数据结构的构建方法,其特征还在于所述的单词节点包括:单词长度统计字段WL、单词指针WP、相同单词统计字段EMS和下一单词指针NWP;
所述下一单词指针NWP指向表示文本中以当前相同首字母开头、在文本中多次出现的单词的单词节点。
5.根据权利要求4所述的文本存储数据结构的构建方法,其特征还在于所述的单词指针WP指向所述的存储节点,存储节点至少包括一如权利要求1所述的十六位二进制存储单元和下一单词部分指针NWCHP,所述的十六位二进制单元存储如权利要求1所述的单词对应的如权利要求1所述的用户编码。
6.一种文本压缩存储方法,具有如下步骤:
—统计目标文本中首个语句起始单词的字符个数,将该单词按权利要求1所述的编码存储方法中的规则划分为字符组,将每个字符组存入16位二进制存储单元;
—建立如权利要求2所述的文本存储数据结构中的单词节点,通过单词节点引出的单词指针依次连接存储当前单词字符组的二进制存储单元,形成二级链表;
—建立如权利要求2所述的文本存储数据结构中的多个表节点,通过指针连接对应的表节点所述当前单词的单词节点,形成一级链表;
—将文本中下一单词转换后存储,生成当前单词对应的单词节点,形成二级链表;提取该单词的首字母,使用对应首字母一级链表的指针指向单词节点,增加一级链表的长度,在单词统计字段加1;
—重复上述步骤,完成文本的压缩存储。
7.根据权利要求6所述的文本压缩存储方法,其特征在于还具有如下步骤:
—检测当前单词是否与已有的单词节点所记载的单词相同;
—若相同,所述的单词节点中相同单词统计字段EMS加1。
8.一种基于权利要求2所述的文本存储数据结构的文本统计输出方法,其特征在于具有如下步骤:
—调取所述表节点中各表节点中单词统计字段中的数值,输出数值或者各表节点中所述数值综合,完成文本中特定字母开头单词和全部单词数量的统计;
—遍历一级链表中的各单词节点,访问单词节点中相同字段,输出记录的数值,完成文本中特定重复单词数量的统计;
—遍历二级链表中的各单词存储节点,依次将该单词节点二级链表中各二级制存储单元中存储的二进制数转换为32进制用户编码,转换为字母,完成文本中单词的还原输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610086498.7A CN105938469B (zh) | 2016-02-15 | 2016-02-15 | 编码存储方法、文本存储数据结构以及文本压缩存储和统计输出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610086498.7A CN105938469B (zh) | 2016-02-15 | 2016-02-15 | 编码存储方法、文本存储数据结构以及文本压缩存储和统计输出方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105938469A CN105938469A (zh) | 2016-09-14 |
CN105938469B true CN105938469B (zh) | 2019-04-23 |
Family
ID=57153139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610086498.7A Active CN105938469B (zh) | 2016-02-15 | 2016-02-15 | 编码存储方法、文本存储数据结构以及文本压缩存储和统计输出方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105938469B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107786712A (zh) * | 2016-08-30 | 2018-03-09 | 北京神州泰岳软件股份有限公司 | 一种通讯录中联系人信息的压缩存储方法和装置 |
CN108021541A (zh) * | 2017-12-15 | 2018-05-11 | 安徽长泰信息安全服务有限公司 | 一种减小文本存储内存的方法及其系统 |
CN110309376A (zh) * | 2019-07-10 | 2019-10-08 | 深圳市友华软件科技有限公司 | 嵌入式平台的配置条目管理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401561A (zh) * | 2013-07-25 | 2013-11-20 | 百度在线网络技术(北京)有限公司 | 用于地图数据的压缩和解压缩的方法及装置 |
CN105207678A (zh) * | 2015-09-29 | 2015-12-30 | 东南大学 | 一种改进型lz4压缩算法的硬件实现系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6907516B2 (en) * | 2002-05-30 | 2005-06-14 | Microsoft Corporation | Compression of program instructions using advanced sequential correlation |
-
2016
- 2016-02-15 CN CN201610086498.7A patent/CN105938469B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401561A (zh) * | 2013-07-25 | 2013-11-20 | 百度在线网络技术(北京)有限公司 | 用于地图数据的压缩和解压缩的方法及装置 |
CN105207678A (zh) * | 2015-09-29 | 2015-12-30 | 东南大学 | 一种改进型lz4压缩算法的硬件实现系统 |
Non-Patent Citations (2)
Title |
---|
Base64压缩UUID长度替换Hibernate原有UUID生成器;CIyenLeung;《http://blog.csdn.net/sundaytok/article/details/40661041》;20141031;第3节 |
文本压缩的实现原理及方法;陈国香 等;《电脑编程技巧与维护》;20090818(第16期);15-16 |
Also Published As
Publication number | Publication date |
---|---|
CN105938469A (zh) | 2016-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6470347B1 (en) | Method, system, program, and data structure for a dense array storing character strings | |
US8615389B1 (en) | Generation and exploitation of an approximate language model | |
CN101079024B (zh) | 一种专业词表动态生成系统和方法 | |
CN101630323B (zh) | 确定自动机的空间压缩方法 | |
CN105938469B (zh) | 编码存储方法、文本存储数据结构以及文本压缩存储和统计输出方法 | |
CN102103416B (zh) | 一种汉字输入方法和装置 | |
Ganguly et al. | pBWT: Achieving succinct data structures for parameterized pattern matching and related problems | |
CN108197313B (zh) | 通过16位Trie树实现空间优化的词典索引方法 | |
CN111046035A (zh) | 数据自动化处理方法、系统、计算机设备及可读存储介质 | |
GB2523937A (en) | Method and device for mining data regular expression | |
CN101576929A (zh) | 一种快速词条提示的实现方法 | |
CN103123650A (zh) | 一种基于整数映射的xml数据库全文索引方法 | |
CN101751416A (zh) | 一种对字符串排序和查找的方法 | |
CN100476824C (zh) | 存储元素的方法与系统及查找元素的方法与系统 | |
Belazzougui | Succinct dictionary matching with no slowdown | |
CN100361128C (zh) | 一种用于文本或网络内容分析的多关键词匹配方法 | |
CN110750731A (zh) | 针对新闻舆情的去重方法及系统 | |
CN101944086A (zh) | 全字索引词典 | |
CN110532284B (zh) | 海量数据存储和检索方法、装置、计算机设备及存储介质 | |
CN103761270B (zh) | 一种串数据词典的有序构造及检索方法 | |
CN101576877A (zh) | 一种快速分词的实现方法 | |
Feigenblat et al. | Linear time succinct indexable dictionary construction with applications | |
CN101464899B (zh) | 低误查率的大规模词典存储方法及查询方法 | |
CN107402974B (zh) | 基于多种二进制HoG描述符的草图检索方法 | |
CN101470712A (zh) | 利用数学运算的英文单词查询系统及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |