在很多文本编辑器里都有查找和替换的功能,我发现,即使是记事本那样的小程序,在一个1M的文本文件里查找一个字符串只需要很短的时间。
而我自己做的一个文本编辑器,使用最简单的比较算法,就是一个个比过去,发现速度很慢,尤其是文本内容多的时候,难以忍受。有谁知道那些文本编辑器的查找和替换算法是怎么实现的吗?

解决方案 »

  1.   

    关注一下.难道是用的语法树?但是随便一个txt文本, 没什么规律可寻吧?
    或者是用模式匹配算法?没实际应用过,不知效率怎样
      

  2.   

    不知道。以前还真没想过这个问题,但刚刚试了试UltraEdit的效率确实很高。
    除了在数据存储方式上面有所改变可以提高以下访问速度之外不知道还有什么技巧。
    猜测算法也不可能,因为这个东西要从头到尾。
    CSDN的千年老鳖出来解答一下。