您的位置:首页 > 其它

有关字符串处理问题的原则

2008-03-24 17:33 706 查看
a、字符串的数据结构:如后缀数组
a1.散列。非常快的数据结构,而且较容易实现
a2.平衡树。这个结构即使是在输入不正当的情况下也有非常好的性能,并且已经优雅地打包到了C++标准模板库set和map的大多数实现中。
a3.后缀数组。初始化指向文本串中的每个字符的指针数组,将其排序,这样就得到了一个后缀数组。然后你就可以扫描该数组,找到其最近的字符串或使用二分查找法查找单词或词组。
b、使用库还是定制的组件?
C++的set、map和string使用起来都非常方便,便是其通用而强大的接口意味着其效率没有专用的散列函数高。其他库组件的效率很高:散列使用的strcmp,后缀数组使用的qsort。我看了一下bsearch和strcmp的库实现,来创建马尔科夫程序中的二分查找和wordncmp函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: