【本章小结】 在这一章向读者介绍了串类型的定义及其实现方法,并重点讨论了串操作中最常用的"串定位操作(又称模式匹配)"的两个算法。 串的两个显著特点是,其一、它的数据元素都是字符,因此它的存储结构和线性表有很大不同,例如多数情况下,实现串类型采用的是"堆分配"的存储结构,而当用链表存储串值时,结点中数据域的类型不是"字符",而是"串",这种块链结构通常只在应用程序中使用;其二、串的基本操作通常以"串的整体"作为操作对象,而不像线性表是以"数据元素"作为操作对象。 "串匹配"的简单算法(算法4.6)其算法思想直截了当,简单易懂,适用于在一般的文档编辑中应用,但在某些特殊情况,例如只有0和1两种字符构成的文本串中应用时效率就很低。KMP算法是它的一种改进方法,其特点是利用匹配过程中已经得到的主串和模式串对应字符之间"等与不等"的信息以及T串本身具有的特性来决定之后进行的匹配过程,从而减少了简单算法中进行的"本不必要再进行的"字符比较。 此外读者应学会善于利用高级语言中提供的串操作(如C语言中的串函数库和C++语言中的串类)进行编程,只是在应用前必须详细阅读语言所提供的使用手册。 |
【本章小结】 |