AC自动机失配指针

AC自动机失配指针_第1张图片

图上fail指针构造过程如下:

树上的词分别是:{ he , hers , his , she}

按图所示分成3层。看到第三层,是"she",其中:

①s指向root

②h先找到s的fail指针,发现是0号指针不是h,就看s的fail指针root有没有儿子名叫h,刚好root有,故h指向第一行的h.

③e找到老爸h的fail指针,即第一行那个h,看那个h有没有儿子名叫s,刚好有,e的fail指针就其儿子,即第一行那个e

这样,如果一个字符串查到第三行的e以后的字符才不匹配,那说明他前面应该有个‘he’

刚好e失配指针指向第一行的‘he...’的那个e,这样不用从h开始再找一遍,而是接着第一行的e继续往后找,从而节省时间.

你可能感兴趣的:(ACM笔记-2串树)