中文trie树
来源:互联网 发布:淘宝鞋店店铺简介范文 编辑:程序博客网 时间:2024/05/16 05:04
这几天被汉字trie树小折腾了一下。
开始的时候想直接将单字节作为字典树的节点建树,虽然各个树的节点可能只是多字节字符的一部分,但是基本功能也能够支持。后来发现似乎有些问题,比如在做前向最大匹配分词的时候,对于未登录词无法确定当前字符是单字节还是多字节,如果通过编码规则进行判定的话倒也可以,但是跟建树过程南辕北辙。
然后想到了utf16字符编码对所有字符统一采用16位定长处理,这样的话只要对待处理字符串每两字节进行一次截取就能得到完整字符,当然树的节点也是这样有意义的完整字符。可是问题依然存在,fgets() 这种函数肯定用不了,因为utf16中充斥这各种值为0和a的字节,对于fgets()来说a就是行尾。linux中对宽字节字符处理函数经常莫名其妙罢工,例如fgetws()读取文件的时候总是直接返回NULL,各种不给力。。。
最后还是回到utf8,通过对utf8编码方式分析,utf8是一种变长编码方式,通过首字节即可判断出当前字符字节数。这样在建树时候就可以以字符作为节点,无论是单字节字符(ASCII)还是三字节字符(绝大多数汉字)都可以存入trie树中,在对字符串分析时同样可以轻松确定字符长度
- 中文trie树
- 中文分词:之Trie树
- 中文分词:之Trie树
- 中文分词:之Trie树
- 中文分词:之Trie树
- 中文分词中的trie检索树实现
- 中文分词中的trie检索树实现
- hihoCoder1014 Trie树 [Trie]
- Trie树(字典树)_实现模糊查找(支持中文)
- 基于双数组trie树的中文分词程序
- 学习笔记:创建Trie 树存储英文单词及中文意思
- 中文分词基础中trie树的实现方式研究
- TRIE树
- TRIE树
- TRIE树
- trie 树
- Trie树
- Trie树
- Flash笔记之解决休眠问题
- linux shell 脚本之【2】if详解
- 用C#获取MOSS中当前登录用户的信息
- oracle自定义聚合函数
- 翻编-JavaScript有关的10个怪癖和秘密
- 中文trie树
- 转:关于北京铁路局实行电话订票的通知
- 报到
- C#写windows服务
- jxl 设置excel 默认是横向打印
- 汉王之伤!
- 实习生的作息时间
- linux系统下 数据采集环境配置
- opencv2.2更新