怎么在一个超大文件中搜索指定字符串的位置

如何在一个超大文件中搜索指定字符串的位置
或者另一个类似的情况:有一个庞大的字符串数组,然后给你一个单独的字符串,让你从这个数组中查找是否有这个字符串并找到它,你会怎么做?

------解决方案--------------------
引用:
大文件的话用kmp,字符串数组的话kmp就不行了吧,可以用hash或者字典树

KMP是单模式 匹配算法,你说的是多模式 匹配算法。
多模式的算法,可以考虑AC算法 这是AC算法的博文
总之,这两个算法,对数据的扫描都不会进行回溯处理的。