再次请教和辞典查找有关的算法问题?
假如有一段中文文本,和一个现成的词典。现在想把文本中所包含的所有词汇(本着最大匹配的原则)都找出来,应该采用什么样的查找方法效率最佳?
相应的词典数据结构又应该如何排列?按照词频?还是别的什么关键值?
/********************************************************************
ed9er(始祖鸟) 回复于2001-3-6 12:41:00 得30分
词典用hash表,首字为索引,项的内容里包含权值(可能就是字数)
查找的时候应该要设一个最大长度,譬如5字,然后每做一个字取当前几种可能里面的最大值
譬如“开水龙头”,先做“开”,取到“开水”,然后做“水”,取到“水龙头”,后面一个是三字的,用它,就得到“水龙头”
/********************************************************************
感谢ed9er。
再问一问各位DX?词典究竟采用哈希还是平衡二叉树(红黑二叉树)更合理呢?
文本的子串匹配和词典的查找应该如何组合效率才最好?
并且,如果文本是中英文混排的,又需要考虑什么问题呢?
不知道哪里能找到相类似的程序代码可供研究。