27

Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

  • Upload
    vankien

  • View
    219

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

����������� ������������������������� !��"$#��� �%���&�'�

(�)+*-,/.103254�6879,/:-;<,>=@?A,/BC:<DE,GF30�HI2JFK;<,MLN2POQ,<R/,/.&.&2

SQ:<T3BC236U03:WV9)N:XF3*-)+,MD503:YL+,ZV[2J\]T8^3B&,M*-)-_2JF�`AaIF3)NRM:-.1D&)+0b,M0c0b:dV!e3)+LN:M`9V9,MD1)+L+L+,gfGhMhMhi`!j3,GFGB&)+,/kM23`!V e3)+LN:M6l�=m\],M)+Lon p<.�qb,/:-;<,K`rkJF3,<R/,/.&.&2Ks>tE0b*-*/6u^3*�eb)+LN:M6v*-Lo6

wyx{z-|~}~�b�M|��:�T3.&:<D&:XFGB B1eK:�DCB&,/BC:2M��B1eK:�,/.&B�2M�%B1e3:�\],M)�Fy*�2J\5T�2JF3:XFGB 2M��BC:��KB!.&:-BC.1)N:-R/,ML�DC�KDCBC:X\5D-n'B1eK:DC:<,/.�*�e

:XF3kG)�FK:M6���:�2J^KB&L+)�F3:�B1eK:�\],M)�F�L+)�FK:<D�2M��.&:<DC:<,/.�*�e�,GF30�)+D&D1^K:<D�)�FGRM2GLNRM:<0�6���:�D1^3.&RM:-�cB1eK:�.&:<LN:-R>,GFJBBC:<*�ebF3)+�K^K:<D[)�FP^3D&:!BC2�08,<����2M.�BC:��KB[D&:<,/.1*�e3)�F3k�,GF305:��KTbLN2M.1:�B1eK:�kG,MTPq�:-B��[:-:XFPB1eK:-2M.&:-B&)+*-,ML�,GF30PT3.1,M*�B&)+*-,ML,MLNkM2M.�)NB1eb\]D-6���eK:�\],M)�Fy2Gq8DC:-.&R/,/B&)N2JFd)+D B1e3,/B�D&)�\]TbLN:-.!)+0b:<,MD�,/.&:q�:-BCBC:-.�)�FdT3.1,M*�B&)+*�:M6

�&�5���/�¡ -¢C£�¤ ¥b�/�I¦§�C¨&�%���M�¡ -¢C£E©N¨ ©+�G¨oªi©+¢§�§«�¦&£9ªi¢m¬~­1�®©�­¡��¯���/�1¢m��©N¨ �� «<© °A�1¢m�&�K­¡�Q¦§����±��¡�1�5���M�¡ -¢C£�¬<��«9ª�¢m¬X­��®©�­§��¯ ¥b�/�I¦§�C¨&�8ªi¢m¬~­1�®©�­¡�!©N¨ ©+�J¨�ª�©+¢m�¡«²¦&£����/�¡ -¢C£X¯�&�Eªi¢§¬X­���©�­¡�&¤{���M�&¢§�!©N¨1¯ ³I´�µ3¶8·>¸W¹�º�»Iµb¼b½K¾¿G¶8µ�ÀAºuÁ²º3ÂM¶8µd¸�ÃYÄKµbÃGÅJÆ�Ç�¾bÃG¼3½

È É �Q�����"]Ê��%���&�Q�

Ë�^3L+L�BC:��KB!.&:-BC.1)N:-R/,ML�DC�KDCBC:X\5D!e3,<RM:q�:<*�2J\]:�,]T�2GT8^3L+,/. �9,<�y2M�%Tb.&2XRK)+0b)�FKk5D�^3TbT�2M.&B[�®2M.!BC:��KB�0b,/B&,Mq8,MDC:<D-6��eK:��@^3L+L�BC:���B!\]2�03:<L�T�:-.�\])NB&D[LN2�*-,/B&)�F3k�B1eK:�2K*-*<^K.&.1:XF3*�:<D92M��,GFJ�5�[2M.10�`KDC:XFGBC:XFb*�:M`32M.!D&)�\]TbLN�]D�^3qbDCBC.1)�F3k)�F�,GFJ��032�*<^8\�:XFJB{2M��B1eK:!*�2GL+LN:<*�B&)N2JF�6�̧B&DA\5,M)�F�,M0bR>,GFJB&,/kM:<D-`K,MD�*�2J\]Tb,/.1:<0�BC2�,MLNBC:-.�F3,/B&)NRM:�BC:��KB'.&:-BC.1)N:-R/,ML\]2�0b:<L+D-`�,/.1:ID1)�\]TbL+)+*-)NBm�P,GF30�:-Í5*-)N:XF3*��M6�Ë3.&2J\ÎB1eK:I:XF30K=m^bDC:-. T�2G)�FJB[2M��RK)N:-��`K�o^3L+L�BC:��KB DC:<,/.1*�eb)�FKk�2M��2JF�=L+)�F3:�0b2�*<^b\]:XFGB&DQ)+DE,MTbT�:<,ML+)�FKkYq�:<*-,G^3DC:�R/,ML+)+0���^K:-.1�WTb,/BCBC:-.�F3DE,/.1:�Ï&^3DCBI,GFJ�W�[2M.10�2M.EDC:XFGBC:XFb*�:�2M�AB1eK:0b2�*<^b\]:XFGB&D<6cÌ¡FUB1e3:WTb,MDCB-` ,MLNBC:-.�F3,/B&)NRM:<D�BC2gB1e3:d�o^bL+LÐ=ÑBC:���By\�2K03:<Lo`�D1^b*�eÒ,MDPDC:X\],GFJB&)+*d)�F30b:��K)�FKk3` e3,M0.1:<*�:<)NRM:<0�DC2J\]:d,/BCBC:XFGB&)N2JF�6�O�2~�[,M08,<�KD-` B1eK2GDC:d,MLNBC:-.�Fb,/B&)NRM:<D�,/.1:d*�2JFKÓ�FK:<0UBC2gRM:-.1�UD1T�:<*-)NÓ�*Y032J\],M)�F3D�Qe3)+LN:�\]2GDCBQBC:���BE.&:-BC.�)N:-R>,ML�DC�KDCBC:X\]DE^3D&:<0�)�F�T3.1,M*�B&)+*�:�.1:<LN�M`�)�FW2JF3:²�9,<��2M.�,GFK2MB1eK:-.<`�2JF�B1eK:²�@^3L+L�BC:��KB\]2�0b:<Lo6��eK:!\],M)�F�*�2J\5T�2JF3:XFGB�2M��,E�o^bL+LiBC:��KB�.&:-BC.�)N:-R>,MLbD&��DCBC:X\Ô)+D'B1eK: BC:��KBADC:<,/.1*�e�:XFKkG)�FK:M6���e3:[B&,MD&Õ²2M��B1e3)+D

:XF3kG)�FK:Q)+D[BC2².&:-BC.1)N:-RM:IB1eK:Q2�*-*<^3.&.&:XF3*�:<D[2M���K^K:-.&�]Tb,/BCBC:-.�F3D�)�FPB1eK:�BC:���B *�2GL+LN:<*�B&)N2JF�69Ö�,/BCBC:-.�F3D9*-,GFP.1,GFKkM:��.&2J\×D&)�\5TbLN:�[2M.10bD-`�T8eK.�,MDC:<D�2M.EDCBC.�)�FKkGDQBC2Y\]2M.&:�D&2GT8e3)+DCB&)+*-,/BC:<0���2M.�\]D�D1^3*�e�,MDQ.&:-kJ^bL+,/.E:��KT3.1:<D&D&)N2JF3D-6��eK:I:-Í5*-)N:XF3*��y2M�{B1e3:EBC:���B�D&:<,/.1*�ed:XFKkG)�FK:�)+D�^3D�^3,ML+LN��*�.�^3*-)+,ML��®2M.�B1eK:E2XRM:-.1,ML+L{D1^3*-*�:<D&D!2M�{B1eK:�0b,/B&,Mqb,MDC:D&��DCBC:X\d6ÌmB�)+D�T�2GD&D1)+qbLN: BC2q8^3)+L+0�,GFb0]\],M)�FJB&,M)�F�,GFYØ�Ù8ÚJÛ&Ü!2XRM:-.[B1eK: BC:��KB-`J��e3)+*�e�)+D�,E0b,/B&,DCBC.�^3*�B1^K.1:!03:<D&)NkJFK:<0

BC2ÝD&T�:-:<0Þ^3T�DC:<,/.1*�e3:<D-6àß�2~��:-RM:-.<`�áoâ¡ã²)�Fb0b)+*�:<D]B&,/ÕM:�D&Tb,M*�:M` ��eb)+*�e�\5,<�U2M.Y\],<�ÒFK2MBPq�:�,<R/,M)+L+,MqbLN:Mäáoâ�â¡ã²)�F308)+*�:<D�B&,/ÕM:WB&)�\]:YBC2Zq8^3)+L+0�`[DC2Z*�2JF3D&BC.�^3*�B&)N2JFcB&)�\]:W\�^3DCB�q�:d,G\�2M.&B&)N;-:<0c2~RM:-.y\5,GFG�ÝDC:<,/.1*�eK:<D-`�Qe3)+*�eÝ2J^KBC.�^3LN:<D�)�F303:��3)�FKk��®2M.�BC:��KB&D�B1e3,/B���)+L+L90b)+D&,MT8T�:<,/.�DC2�2JFÝD1^3*�eU,MD�2JF�=�L+)�FK:dFK:-��D-äEáoâÑâÑâCã)�F30b)+*�:<D,/.1:5.&:<L+,/B&)NRM:<LN�Ý*�2GDCB&LN�gBC2�\5,M)�FGB&,M)�FÝ^3T�2JF�BC:��KB²^3T�0b,/BC:<D<`%DC2WB1eK:-�Z\],X��F32MB�q�:P^3DC:-�@^3L'��2M.��.&:<�K^K:XFJB&LN�*�e3,GFKkG)�FKk5BC:���B�D�^3*�eY,MD�)�FyBC:���B�:<0b)NBC2M.1D-ä8,GFb0ZáoâÑå3ã�B1eK:�DC:<,/.1*�eY��)NB1eK2J^3B!,GFY)�F303:��d\],X��q�:I��,MD&B!:XFK2J^KkJe��2M.�BC:���B&D�2M��DC:-RM:-.1,MLb\]:-kG,MqJ��BC:<D-`G03:<T�:XF308)�FKk�2JF²B1eK: ,MTbT8L+)+*-,/B&)N2JF�6'Ë32M.�B1eK:<DC:9.&:<,MD&2JF3D-`M�[: \5,<��Ó�F30BC:��KBD&:<,/.1*�eyDC�KDCBC:X\5DAB1e3,/B9.&:<LN�52JFPD&:<��^K:XFJB&)+,ML�DC:<,/.1*�e�á���)NB1eK2J^KB )�F303:���ã&`K)�F303:��K:<0�D&:<,/.1*�e�`32M. ,²*�2J\²qb)�F3,/B&)N2JF2M�'q�2MB1e�6

æ

Page 2: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

Ì¡F²B1e3)+D'*�e3,MT3BC:-.��[: .&:-RK)N:-�ÒB1eK:!\],M)�F²,MLNkM2M.1)NB1e8\])+*9BC:<*�e8F3)+��^3:<D'BC2)�\]T8LN:X\�:XFJB%,QBC:��KBADC:<,/.1*�e�:XFKkG)�FK:M`��)NB1ed2M.I��)NB1eK2J^3BQ)�F308)+*�:<D-6���:���)+L+L%��2�*<^bD�2JF�B1eK:�\�2GDCB�.&:<*�:XFJBI,GFb0W.&:<LN:-R/,GFJBQBC:<*�ebF3)+�K^K:<DI)�F�T3.1,M*�B&)+*�:M`,MLNB1e32J^KkJe���:���)+L+LI*�2XRM:-.WB1eK:�\5,M)�FÒB1e3:-2M.&:-B&)+*-,ML�*�2JFJBC.1)+q8^KB&)N2JF3DyBC2ÝB1eK:�T3.&2Gq8LN:X\ ,GF30àe3)NkJebL+)NkJeGByB1eK:BC:XFbD&)N2JF�q�:-Bm��:-:XF�B1eK:-2M.1:-B&)+*-,ML+LN��,GFb0�T3.�,M*�B&)+*-,ML+LN��,MTbT�:<,ML+)�FKky)+03:<,MD-6Q��:���)+L+L%D1eK2X�ÔeK2~� D&)�\]TbLN:-.Q)+03:<,MD�[2M.&Õdq�:-BCBC:-.I)�FWT3.�,M*�B&)+*�:M6Q4QD��[:�0b2�FK2MBI,/BCBC:X\]T3B�BC2P�@^3L+LN�d*�2~RM:-.I,ML+L{B1eK:²:��K)+D&B&)�FKk�0b:-RM:<LN2GT8\�:XFJB&D-`���:.1:-�®:-.%B1eK:9)�FGBC:-.&:<D&BC:<0�.&:<,M03:-.%BC2QDC:-RM:-.�,ML�q�2�2MÕ�D{B1e3,/B�*�2XRM:-.�B1e3:�,/.&:<,I)�F�03:<T3B1e ��� æ `/fMf3`����K` æ � `Gh æ `>f��K` ���� 6

� ���&�����Q���'�������

��:yDCB&,/.&B²qJ�g0b:-Ó�F3)�FKkWD&2J\�:5*�2JF3*�:<TbB&D-6���:-B���Û&Ü��Aq�:]B1eK:�0b,/B&,�BC2�q�:5DC:<,/.1*�eK:<0�6W��e3)+D0b,/B&,�\],X��q�:D&BC2M.&:<0])�F�2JFK:�2M.�\�2M.&: Ó�LN:<D-`J,E�o,M*�B�B1e3,/B��[:�0b)+D&.&:-kG,/.10���2M.AD&)�\5TbL+)+*-)NB��M6'�{:���BA)+D[FK2MBAFK:<*�:<D&D1,/.1)+LN�]F3,/B1^K.1,MLL+,GF3kJ^3,/kM:M`iq8^3BbÏ&^3DCB�,QD&:<��^K:XFb*�:Eá�2M.�������Ø�Ù��/ã�2M�8*�e3,/.�,M*�BC:-.1D-6'ÌCF�,M080b)NB&)N2JF�`GDC2J\]:[Tb)N:<*�:<D�2M�bB1eK:9BC:���BA\5)NkJeGBF32MBq�:�.&:-BC.1)N:-R/,MqbLN:�á���2M.�:��3,G\]TbLN:M`%)N�9,dBC:���B²*�2JFGB&,M)�F3D²)�\],/kM:<D�2M.²FK2JF�=�D&:<,/.1*�e3,Mq8LN:P0b,/B&,�ã&`%2M.�[:P\],X��9,GFJB]BC2gDC:<,/.1*�eÒ0b) ��:-.&:XFJB]Tb)N:<*�:<D]2M�QBC:���B])�FÒ0b) ��:-.1:XFGB��9,<�KD-6ÒË32M.P:��K,G\5TbLN:M`�)�FÒHQ:XFb7[,GF3ÕÝ.1:-kG)+DCBC:-.1D2JF3:QÓ�F30bD[SQOQ4�DCBC.&:<,G\]D \5)Ð��:<0P��)NB1eyl�F3kGL+)+D1e�03:<D&*�.1)+T3B&)N2JFbD ,GF30Y\�:-B&,M0b,/B&,K`b,GF30�.&:-BC.�)N:-R>,ML�2~RM:-.!B1eK2GDC:T8,/.&B&D 2M��B1eK:�0b,/B&,Mqb,MD&:,/.&:�RM:-.&�Y0b) ��:-.&:XFJB�T3.&2K*�:<D&DC:<D<6

!#"%$ &('*),+*-/.%.0&0)21436587#9*):.��eK:dBC:��KBP0b,/B&,Mqb,MD&:�*-,GFÒq�:dRK)N:-�[:<0Þ,MDP,gRM:-.&�cLN2JFKkÝDCBC.1)�FKkg2M��08,/B&,K6<;Q��BC:XFcBC:��KB�eb,MD5L+)NBCB&LN:�2M.yFK2D&BC.�^3*�B1^K.&:M`/,GF30�)�F�\],GFJ�Q,MT8TbL+)+*-,/B&)N2JF3D{��:���)+D1eIBC2�Tb.&2�*�:<D1D�B1eK:�BC:��KB���)NB1eK2J^KB�*�2JF3*�:-.�FE��2M.�B1eK:AD&BC.�^3*�B1^K.&:M6��e3)+DI)+D�Bm��T8)+*-,ML+LN��B1e3:²*-,MDC:�2M��qb)N2GLN2MkG)+*-,ML�2M.�\�^3LNB&)�\�:<08)+,5DC:<�K^K:XF3*�:<D-6�4�DQ2M.1)N:XFJB&,ML'L+,GFKkJ^3,/kM:<D�D�^3*�e�,MDV!e3)�FK:<DC:M`>=G,MT8,GFK:<DC:M`b,GF30@?E2M.1:<,GF�?�,GF>ÏC)�,/.1:I08)NÍ5*<^3LNB9BC2]DC:-kJ\�:XFJB!)�FJBC2���2M.108D-`KBC:���B&D ��.1)NBCBC:XFy)�F�B1eK2GDC:L+,GF3kJ^3,/kM:<DE,/.&:]^3D1^3,ML+LN�W.&:-kG,/.103:<0�,MDE,5RM:-.1��LN2JFKkyDCBC.1)�FKk�BC2�236�Ë32M.EB1e3)+D�R�)N:-� 2M��B1e3:�BC:��KB-`���:]^3D�^3,ML+LN��9,GFJB!BC2].&:-BC.1)N:-RM:²,GFG�yBC:��KB�D1^3q8DCBC.1)�FKk36O�,/B1^K.�,MLbL+,GFKkJ^3,/kM:!BC:��KB&D���.1)NBCBC:XF�)�F²��:<DCBC:-.�F5L+,GFKkJ^3,/kM:<D�*-,GF�q�: .&:-kG,/.103:<0�,MD�,DC:<��^3:XF3*�: 2M�BA*CD�§Ú���6

l�,M*�e��[2M.10y)+D ,²\5,>�K)�\5,ML�D&BC.1)�FKk�FK2MB )�F3*-L�^30b)�FKk�,GFJ�PDC�3\²q�2GL8�®.12J\�,�D&T�:<*-)+,ML�DC:<Tb,/.�,/BC2M.!DC:-B�áoD1^3*�e�,MD ,q8L+,GFKÕ]D&Tb,M*�:/ã&6�l��K,G\5TbLN:<D�2M��D�^3*�eP*�2GL+LN:<*�B&)N2JF3D ,/.&:I0b)+*�B&)N2JF3,/.1)N:<D<`KLN:-kG,ML�*-,MDC:<D<`K,/.1B&)+*-LN:<D�2JFP��)N.1:�DC:-.&RK)+*�:<D-`D1*-)N:XFGB&)NÓ8*�Tb,MT�:-.1D-`b:-B&*/69ÌCFyB1e3)+D�*-,MDC:�[:²\5)NkJeGB �9,GFGB�BC25.&:-BC.�)N:-RM:�2JF3LN�y�[2M.10bD 2M.QT8eK.1,MD&:<D-`b2M.�,ML+D&2P,GFJ�BC:��KB�D1^bqbDCBC.1)�FKk36

;IT3B&)N2JF3,ML+LN�M`�,]BC:��KBI\5,<�de3,XRM:�,5D&BC.�^3*�B1^K.&:M6 ��e3:�BC:���BQ*-,GFWq�:LN2MkG)+*-,ML+LN��0b)NRK)+03:<0W)�FJBC2�0b2�*<^b\]:XFGB&D<`,GFb0]:<,M*�eP032K*<^b\�:XFJB�)�FJBC2�Ób:<L+08D-6'4�LNBC:-.�Fb,/B&)NRM:<LN�M`3B1eK:!BC:��KB9\5,<�]e3,<RM:Q,*�2J\5TbLN:��5e3)N:-.1,/.1*�e3)+*-,ML82M.�kM.1,MT8eD&BC.�^3*�B1^K.&:M6���e3)+D�)+DB1eK:P*-,MD&:52M�9BC:���B²0b,/B&,Mqb,MDC:<D²DCBC.�^b*�B1^K.&:<0Z^3D1)�FKk@EGF6��`'jbHHF6��2M.²ß��IF��A`���eK:-.&:�[:�\5)NkJeGB!,ML+DC2P��^K:-.1�PB1eK:�D&BC.�^3*�B1^K.&:E2M�%B1eK:�BC:��KB-6�ÌCFyB1e3)+D!*�e3,MT3BC:-.���:���)+L+L�)NkJFK2M.&:�BC:��KB�DCBC.�^b*�B1^K.&:�,GF30.1:-kG,/.10d)NB�,MD�,]DC:<�K^K:XF3*�:E2M�'*�e3,/.�,M*�BC:-.1D�2M.���2M.108D-6

!#"J! KL7M3�N�3DOP7RQ��:d)�FJBC.&2K08^3*�:yDC2J\�:yFK2MB&,/B&)N2JFÒFK2~��6g4 DCBC.�)�FKkTS�2M��LN:XFKkMB1eVU�SWU4X�Yy��)+L+L9q�:5�!.1)NBCBC:XFU,MDZS\[^]�]�] _<6�̧B&Dâ@=ÑB1eU*�e3,/.1,M*�BC:-.P��)+L+L9q�:`Sba�,GF30U,�DCBC.1)�F3k���2M.�\]:<0 qi� *�e3,/.1,M*�BC:-.1D]â�BC2�c�2M�GS���)+L+L q�:��!.1)NBCBC:XFdS�ae]�]�] f/6V!e3,/.1,M*�BC:-.1DQ,/.&:�03.1,<�QFY��.&2J\ ,GF�,ML+T8e3,Mq�:-Bhg�2M�AD1)N;-:jiLk æ 6Qj�BC.1)�F3k�S�)+DQ,ml��CÛon{Ü�2M�/S�SBp®`�,��rqrsZÜ�2M�S p S[`�,GF30d,�D1^3q8DCBC.1)�FKk�2M�*S p S*S p p `3��eK:-.&:tS p ,GF30uS p p ,/.&:�,/.1qb)NBC.1,/.&�yDCBC.1)�F3kGD-6��eK:]\�2GDCBEqb,MD1)+*�T3.&2GqbLN:X\ )�F�BC:��KBDC:<,/.�*�e3)�FKkd)+D�BC2YÓ�F30�,ML+L'B1eK:]T�2GD&)NB&)N2JF3DI�QeK:-.&:],YTb,/BCBC:-.�FwvxX

v�[^]�]�] y 2�*-*<^K.�D�)�F�,]BC:��KB{z|X<z\[^]�]�] }b`b~�����6 ÌCFdDC2J\]:*-,MDC:<DQ2JFK:²)+D�D&,/B&)+D&Ób:<0W��)NB1eW,GFJ�Y2�*-*<^3.&.&:XF3*�:�2M�vÎ)�F`z`�q8^3B�)�FWB1e3)+D�*�e3,MT3BC:-.Q��:²��)+L+L��®2K*<^3D�2JFdB1eK:�\�2GDCBQ*�2J\5\]2JFY*-,MDC:²��eK:-.&:�2JFK:�9,GFGB&DQB1eK:X\ ,ML+Lo6Ëb2M.�\],ML+LN�M`{B1eK:]DC:<,/.1*�e�T3.&2GqbLN:X\ *-,GF�q�:²��.1)NBCBC:XF�,MDE.&:-BC.�)N:-R�)�FKk�p�U ��U��hz�X��6vh�PsG6ZFd2M.&:5kM:XFK:-.1,ML+LN�M`T8,/BCBC:-.�F`v ��)+L+L�03:XF32MBC:�,]L+,GFKkJ^b,/kM:M`b�Qáov�ã���g �~`�,GF30W2J^K.�,M)�\ ��)+L+L�q�:�BC2PÓ�F30YB1eK:BC:���B�2�*-*<^K.1.&:XF3*�:<D2M�',GFJ��D&BC.1)�FKk5)�FyB1eb,/B�L+,GFKkJ^3,/kM:M`��®2M.�\5,ML+LN�dp�U ��U��{z�X<��vHp����IvHp�����áov�ãCsG6

f

Page 3: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

��:��)+L+L{q�:�)�FJBC:-.&:<DCBC:<0�q�2MB1eY)�FY�[2M.1DCB¡=�*-,MD&:�,GF30�,<RM:-.1,/kM:�=�*-,MDC:�B&)�\]:�,GF30WD1Tb,M*�:*�2J\]T8LN:��K)NB&)N:<D-6[��:.1:X\])�F30cB1eb,/B5B1eK:���2M.1D&BP*-,MDC:�)+D5B1eK:�\],>�3)�\�^b\ B&)�\�:��>D&T8,M*�:�B1eK:�,MLNkM2M.1)NB1eb\ \],X�cF3:-:<0�2~RM:-.�:-RM:-.1�T�2GD&D1)+qbLN:�BC:���B�,GF30gTb,/BCBC:-.�F�`���e3)+LN:�B1eK:P,<RM:-.1,/kM:y*-,MDC:5)+DEB1e3:P\�:<,GF�B&)�\]:�2XRM:-.�,ML+LAT�2GD1D&)+qbLN:�BC:��KB&D,GF30T8,/BCBC:-.�F3D-6�Ë32M.�,<RM:-.1,/kM:�*-,MDC:y.&:<D1^3LNB&D���:y,MD&D1^8\�:5B1eb,/B²Tb,/BCBC:-.�F ,GFb0ZBC:��KB�*�e3,/.1,M*�BC:-.�D�,/.&:y^8F3)N�®2M.�\]LN�,GFb0�)�Fb03:<T�:XF303:XFJB&LN�d0b)+DCBC.1)+q8^3BC:<0�2~RM:-.EB1eK:ZiÝ*�e3,/.1,M*�BC:-.�DI2M�AB1eK:�,ML+T8e3,Mq�:-B-6E��e3)+DI)+D�^3D�^3,ML+LN��FK2MBQBC.�^K:M`q�^KB!)NB�)+D!,�.1:<,MDC2JF3,MqbLN:�\]2�0b:<L�)�FdT3.1,M*�B&)+*�:M6��:�\],/ÕM:�eK:<,<R��Z^3DC:]2M� qb)NB²\],GF3)+T8^bL+,/B&)N2JF3D)�F3D1)+03:]*�2J\]T8^3BC:-.���2M.�0bD-`�DC2d�[:PFK:-:<0ZD&2J\�:]�@^K.&B1eK:-.

F32MB&,/B&)N2JFg��2M.B1eK:<D&:M6yV[2J\5T8^KBC:-.E�[2M.10bD�eb,<RM:��Îqb)NB&D�á�B��KTb)+*-,ML+LN��� X � f�`�� � 2M. æ f��iã&`',GF30gDC:<�K^K:XF3*�:2M�!q8)NB&D�)�F ,�*�2J\5T8^KBC:-.���2M.10Ý,/.&:P�!.1)NBCBC:XF .1)NkJeJBBC2�LN:-�®B-6���eK:52GT�:-.1,/B&)N2JFbDBC2�\],GF3)+T�^3L+,/BC:5B1eK:X\ ,/.&:)�F8eK:-.1)NBC:<0P�®.&2J\ÎVÒL+,GF3kJ^3,/kM:Mn�� U ²)+DAB1eK:Qqb)NB���)+DC:�¡2M.�K`��� ��)+D�B1eK:�q8)NB���)+DC:��C,GF30�K`�������²D1e3)N��B&DA,ML+L�B1eK:q8)NB&DIBC2YB1eK:�LN:-�®B5á�B1e3,/B�)+D<`�B1eK:�qb)NBE,/B�T�2GD1)NB&)N2JF�â�\�2~RM:<DIBC2dT�2GD1)NB&)N2JF�â�� æ ã�,GF30�:XFJBC:-.1DE,y;-:-.&2Y,/BEB1eK:.�)NkJeGB1\]2GDCB�T�2GD&)NB&)N2JF�`�� khk��D1e3)N��B&D�BC2B1e3:�.1)NkJeJB�,GF305:XFGBC:-.�D�,;-:-.&2²,/B�B1eK:�LN:-��B1\�2GD&B�T�2GD&)NB&)N2JFWá@^8F3D&)NkJFK:<0D&:X\],GFJB&)+*-D�ã&`�����)+D�B1e3:�qb)NBm��)+DC:�:��3*-L�^3D&)NRM:�2M.Iá®�K2M.-ã&`K,GF30������*�2J\]TbLN:X\]:XFGB&DA,ML+L8B1eK:�qb)NB&D-6���:Q*-,GF5,ML+DC2T�:-.&��2M.�\ ,/.1)NB1e8\�:-B&)+*E2GT�:-.1,/B&)N2JF3D!2JFYB1eK:�*�2J\5T8^KBC:-. �[2M.10bD!D1^b*�eY,MD�����],GF30�����K6

!#"! &0)2143#"#-�$ 1#)&%;EqbDC:-.&RM:²B1e3,/BI,GFG��2�*-*<^K.1.&:XF3*�:²2M��v )�F@zÔ)+DI,PTb.&:-Ó3�d2M�A,yD1^KÍ]�d2M�#z á�B1e3)+DID1^KÍ��W)+DGvh� 2M.HvHp�� )�F2J^3.���2M.�\],ML�03:-Ó�F3)NB&)N2JF�ã&6���eK:I*�2JF3*�:<T3B92M��T3.&:-Ób��,GFb0�D�^KÍ��5TbL+,X��D9,²*�:XFGBC.1,ML�.&2GLN:E)�FPBC:��KB[DC:<,/.�*�e3)�FKk36AÌ¡FT8,/.&B&)+*<^3L+,/.<`�,d\]2�03:<L�B1e3,/Be3,MDIT3.&2~RM:XF�:���BC.1:X\�:<LN��^bDC:-�o^bLo`�,GF30�B1e3,/B�\],/.&.1)N:<DQRM:-.&����:<L+L���)NB1e�B1eK:��o^3L+LBC:��KB�\]2�03:<Lo`b)+D!BC25*�2JF3D&)+03:-.�B1eK:EBC:��KB�,MD B1eK:�DC:-B!2M��)NB&D�D1^KÍ]��:<D-6��:d,MD&D1^b\]:5B1e3,/B�B1eK:�BC:���B�BC2�q�:yDC:<,/.1*�e3:<0c)+D²,�D&)�F3kGLN:yD&BC.1)�FKk�Tb,M0b03:<0Ý,/B])NB&D².1)NkJeGB�:XF30Ý��)NB1eÝ,

D1T�:<*-)+,ML�BC:-.�\])�F3,/BC2M.�*�e3,/.1,M*�BC:-.<`�03:XFK2MBC:<0���'(5,GF30YD1\],ML+LN:-. B1eb,GFY,GFG��2MB1eK:-.<6�4 BC:��KB�D1^KÍ]��)+D!D&)�\5TbLN�5,D�^KÍ���2M� z�`GB1e3,/BA)+D-`iB1eK:�DC:<�K^K:XF3*�:�2M��*�e3,/.1,M*�BC:-.1D[DCB&,/.&B&)�F3k�,/BA,GFJ��T�2GD1)NB&)N2JF�2M��B1eK:!BC:��KBA,GF30]*�2JFJB&)�F�^3)�FKkBC2yB1eK:�.1)NkJeJB-6²HI)NRM:XF�B1eK:�BC:-.�\])�F3,/BC2M.<`�,ML+L%B1eK:�BC:��KB�D1^KÍ��K:<DI,/.&:�0b) ��:-.&:XFGB-`�,GFb0�F32P2JFK:�)+DE,yT3.&:-Ób�d2M�,GFJ�g2MB1eK:-.X6wFW2M.&:-2XRM:-.X`AB1eK:-.&:�)+D�,W2JFK:�=ÑBC2/=Ñ2JF3:d*�2M.&.&:<D&T�2JF303:XFb*�:Pq�:-B��[:-:XF BC:���B�T�2GD&)NB&)N2JF3D²âI,GF30ZBC:��KBD�^KÍ��K:<D�z�ae]�]�] }86aQF30b:-.YB1e3)+DyR�)N:-�`�B1eK:gD&:<,/.1*�eàTb.&2GqbLN:X\ )+DyBC2cÓ�F30�,ML+LIB1eK:�BC:��KBdD1^KÍ]��:<DYDCB&,/.1B&)�FKkc��)NB1e�v á�2M.

v p �@�Qáov�ãCã&6

!#"*) &,+�O%)&%Ë�)�F3,ML+LN�M`[LN:-B5^3D�)�FGBC.12�08^b*�:�,GFÝ:��KBC.&:X\�:<LN�U^3DC:-�@^3L[0b,/B&,�DCBC.�^3*�B1^K.1:P��2M.�BC:���B�DC:<,/.�*�e3)�FKk36 ÌmB�)+D�*-,ML+LN:<0Ò,����Ø@Û�`b,GF30d)+D�,�0b,/B&,]DCBC.�^b*�B1^K.&:IB1e3,/B�DCBC2M.1:<D!,�DC:-B!2M��DCBC.1)�FKkGD�,GF30YT�:-.�\])NB&D903:-BC:-.�\5)�F3)�FKk�)�FyB&)�\]:�-5á U�SWUuã�QeK:-B1eK:-.�D&BC.1)�FKkZSg)+D[)�F]B1e3:�DC:-B-`bFK2�\],/BCBC:-. eK2X�à\],GFJ��DCBC.1)�FKkGD[,/.&:IDCBC2M.&:<0�)�F]B1eK:�BC.1)N:M6�4àBC.1)N:�2JF5,²DC:-B2M�{DCBC.1)�FKkGD9)+D ,�BC.&:-:I��)NB1eP2JFK:ELN:<,/�{T�:-.[D&BC.1)�FKk�,GF30�2JFK:Q)�FJBC:-.�F3,ML�FK2K03:IT�:-.[0b) ��:-.&:XFJB T3.&2GT�:-.�T3.1:-Ó3�52M��,D&BC.1)�FKk36'��eK:-.&: )+D�,GF²:<0bkM:�L+,Mq�:<LN:<0/.A��.&2J\�:-RM:-.&�]FK2K03:9.&:<T3.1:<DC:XFGB&)�F3k�T3.&:-Ó3�jS�BC2EB1eK:�FK2K03:9.&:<T3.&:<DC:XFJB&)�FKkTb.&:-Ó3�@S0.X6���eK:E.&2�2MB!.&:<T3.1:<DC:XFGB&D!B1eK:�:X\]TbB��PD&BC.1)�FKk36AË�)NkJ^K.&: æ áoLN:-�®B�ã9)+L+L�^3DCBC.1,/BC:<D<6Ì¡F�2M.103:-.EBC2YDC:<,/.�*�e���2M. S�)�F�B1eK:�BC.1)N:M`���:]D&B&,/.&BE,/BEB1eK:�.&2i2MBE,GF30���2GL+LN2X�Ô:<0bkM: S [ `�)N��)NBI:��K)+D&B&D-6̧�

�[:ED1^3*-*�:-:<0�`3�[:I�®2GL+LN2~� :<03kM: S21���.&2J\�B1eK:�FK2�0b:Q�[:E,/.&.1)NRM:<0Y,/B-`b,GF30yDC2�2JFy^bFJB&)+L�:<)NB1eK:-.�áoâ¡ã��[:E*-,GFbFK2MBÓ�F305B1e3:QT3.12GT�:-.[:<03kM:EBC2���2GL+LN2X��`b)�FP��e3)+*�e�*-,MDC:tS )+D!FK2MB[)�F�B1e3:QDC:-B-`32M.�áoâÑâCã���:�^3DC:I,ML+L�B1eK:E*�e3,/.�,M*�BC:-.1D)�F S9`�,GF30�)N�AB1e3:5FK2�0b:²,/.&.�)NRM:<0g,/B�DCBC2M.&:<D�,YD&BC.1)�FKk3`��[:]e3,<RM:]��2J^bF30 S[6�O�2MBC:]B1e3,/B�)NB�)+DE,ML+DC2d:<,MD&��BC20b:-BC:-.�\])�FK:²��eK:-B1e3:-.hS�)+DE,YTb.&:-Ó3�W2M�[DC2J\�:�DCBC.1)�FKkYDCBC2M.1:<0�)�F�B1eK:�BC.1)N:MnI��:]DC:<,/.1*�e���2M.tS�,GF30�,ML+L�B1eK:D�^3q3BC.&:-:E2M�%B1eK:�FK2K03:�,/.&.�)NRM:<0d,/B�*�2JFJB&,M)�F3D�B1e3:DCBC.1)�FKkGD!��eK2GDC:�T3.1:-Ó3��)+DGS[6��:I\5)NkJeGB[,M0b05,�D&T�:<*-)+,ML8DCBC.1)�F3kBC:-.�\5)�F3,/BC2M.3��'(�BC2�,ML+L�B1eK:QDCBC.1)�FKkGD[DC2�,MD�BC2:XFbD1^K.&:!B1eb,/B9FK2�DCBC.1)�FKk

)+DQ,5Tb.&:-Ó3�Y2M��,GFK2MB1eK:-.I)�FdB1e3:�DC:-B-6!ÌCFYB1eb)+D�*-,MDC:²B1eK:-.&:�)+DQ,]2JFK:�=ÑBC2/=Ñ2JFK:�*�2M.&.1:<D&T�2JF303:XF3*�:q�:-Bm��:-:XF�BC.1)N:LN:<,XRM:<D,GF30�DCBC2M.1:<0�DCBC.1)�FKkGD-6���2dD&,XRM:]DC2J\�:�D&T8,M*�:M`���:5^3D�^3,ML+LN�WT8^KBQB1eK:�LN:<,<RM:<D²,MDEDC2�2JF�,MDIB1eK:�DCBC.1)�FKkTb.&:-Ó3�])+D ^bF3)+�K^K:M6���eK:XF5B1eK:IDC:<,/.1*�eP,/.1.1)NRM:<D ,/B[D�^3*�eP,�LN:<,/�§`KB1eK:IDC:<,/.1*�e�T3.12�*�:<D&D[*�2JFJB&)�Fi^K:<D *�2J\5Tb,/.1)�FKkB1e3:DC:<,/.1*�edDCBC.1)�F3k],/kG,M)�F3DCB�B1e3:�DCBC.1)�FKk]DCBC2M.1:<0W,/B!B1eK:�LN:<,/�m6AË�)NkJ^K.1: æ á�.1)NkJeJB�ã�)+L+L�^3DCBC.�,/BC:<D-6

Page 4: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

a b

d m a

a a e r

l n l b

i d i a

a a e r

aadalia amanda amelie

barbara

ada

a b

d m

a

barbara

adaliaada

l$

a eamelieamanda

Ë�)NkJ^K.1: æ n�4ÎBC.1)N:P2XRM:-.�B1eK:5D&BC.1)�FKkGD����������>`������� ������>`��������������>`�������������������,GF30����������������/6 ;EFB1e3:LN:-�®B-`�qb,MD&)+*E��2M.�\�^3L+,/B&)N2JF�6/;EFYB1eK:E.1)NkJeJB-`bB1eK:�RM:-.1D1)N2JFW^3DC:<0Y)�FdT3.1,M*�B&)+*�:M6

� ������A�I���&���������� ��A �����

ÌCF�B1e3)+D!D&:<*�B&)N2JFd�[:�,MD&D1^b\]:IB1e3,/B�FK2])�F30b:���2JFyB1e3:EBC:���B�)+D�,<R/,M)+L+,MqbLN:M`�D&2]��:eb,<RM:BC2PD&*-,GFY,ML+L�B1eK:EBC:��KB)�FP2M.10b:-.[BC2�.&:<T�2M.&B�B1eK:I2�*-*<^3.&.&:XF3*�:<D[2M�\v]6'��:ID&B&,/.&B9��)NB1e�D&)�\]TbLN:QDCBC.1)�FKk�Tb,/BCBC:-.�FbD ,GF30PL+,/BC:-.�*�2JF3D&)+03:-.\]2M.&:�DC2GT8eb)+DCB&)+*-,/BC:<0WDC:<,/.�*�eK:<D-6��2Qq�:-BCBC:-.�^bF303:-.�DCB&,GF30IB1eK:[T3.&2GqbLN:X\d`XLN:-B%^3D{*�2JF3D&)+03:-.{��e3)+*�eE�[2J^3L+0q�:�)NB&D�F3,M)NRM:�DC2GL�^3B&)N2JF�6'V92JF3D&)+03:-.

:-RM:-.1��T�2GD&D&)+q8LN:Q)�F3)NB&)+,ML�T�2GD1)NB&)N2JF�2M�{,GF�2K*-*<^K.&.&:XF3*�:I2M�Bv )�F z`KB1e3,/B )+D-` æ! " " ���6~ � æ 6AËb2M.!:<,M*�eYD�^3*�e)�Fb)NB&)+,ML�T�2GD&)NB&)N2JF âC`'*�2J\]Tb,/.1: v ��)NB1e zbaJ]�]�] a$#�y�%M[-6d(�:<T�2M.1B�,GF�2K*-*<^K.&.1:XF3*�:5��e3:XFK:-RM:-.�B1e3:5B��[2�DCBC.1)�FKkGD\5,/B&*�e�6Ý��eK:y�[2M.1DCB�*-,MDC:W*�2J\5TbLN:��K)NBm� 2M��B1e3)+D�,MLNkM2M.1)NB1eb\ )+D�-]áo~@�%ã&6 ÌmB&D�,XRM:-.1,/kM:�*-,MDC:d*�2J\5TbLN:��3)NB��M`e32X�[:-RM:-.<`�)+D�-]áo�%ã&`�D&)�F3*�:2JFW,<RM:-.1,/kM:²�[:²e3,XRM:�BC2�*�2J\]Tb,/.&: i'&Ká�i � æ ã9*�e3,/.1,M*�BC:-.�D�q�:-��2M.&:�B��[2yDCBC.1)�FKkGD\5)+D1\],/B&*�e�6�;E^K.�,M)�\ )+D!BC25032]q�:-BCBC:-.<6

( Ë3.12J\$,UB1eK:-2M.&:-B&)+*-,MLR�)N:-��T�2G)�FJB-`IB1e3)+DdT3.&2Gq8LN:X\ )+Ddqb,MD&)+*-,ML+LN�àDC2GLNRM:<0�`I:��3*�:<T3Bd��2M.YRM:-.&���®2K*<^3DC:<0�K^K:<DCB&)N2JFbD B1e3,/B�DCB&)+L+L�.&:X\],M)�F�6

) ��eK: �[2M.1DCB¡=�*-,MDC:I*�2J\]T8LN:��K)NBm��)+D�*-LN:<,/.1LN�+*�áo�%ã{*�e3,/.1,M*�BC:-.9)�F3D&T�:<*�B&)N2JF3D�á���2M.AB1eK:�:��K,M*�B[*�2JF3DCB&,GFJB�DC:-:� æ � ã&6���e3)+DEe3,MDEq�:-:XF�,M*�e3)N:-RM:<0 qJ�u?F�^KB1e�= FW2M.&.1)+D¡=�ÖA.1,/BCB]áo? FWÖ!ã�,MLNkM2M.1)NB1eb\ � � æ ^bD&)�FKk -]áo~�ãD&Tb,M*�:M6

) ��eK:!,XRM:-.1,/kM:�=�*-,MDC:I*�2J\]TbLN:��3)NB���)+D,*�áo�ELN2Mk�-�áo~�ã.&�~�ã � h � 6���e3)+D�e3,MD�q�:-:XF�,M*�eb)N:-RM:<05qi�²79,M*&Õ��9,/.10S!4{�ÞH F�,/B&*�e3)�F3k áo79SGFgã�,MLNkM2M.1)NB1e8\ � f æ ^3D&)�FKk -5áo~�ã�D&Tb,M*�:M6���eK:�,MLNkM2M.1)NB1eb\ *-,GF�q�:�\],M03:��2M.�DCB¡=�*-,MDC:2GTbB&)�\],ML�,/B!B1e3:�D&,G\�:EB&)�\]:5á�:M6rk36+`���^K.1q�2G79SHF ,GF30Y��^K.1q�2G(�Ë R/,/.1)+,GFJB&D � f æ ã&6

) ;IT3B&)�\5,ML��[2M.1DCB¡=�*-,MDC:�,MLNkM2M.1)NB1e8\]DQ��)NB1e#-]á æ ã :��KBC.1,yD&Tb,M*�:�:��K)+D&B�á�B1e3:�Ób.�DCB��9,MD � f�� ã&`���e3)+LN:²B1eK:D&,G\�:�Tb.&2GqbLN:X\ )+D 2GT�:XFy��2M.!B1eK:�,<RM:-.1,/kM:�*-,MDC:M6Ìm�I2JFK:dB1^3.�F3D�,/BCBC:XFJB&)N2JF�BC2ÝT3.1,M*�B&)+*-,MLI\],/BCBC:-.1D<`9eK2~��:-RM:-.X` B1eK:W,Mq�2XRM:�,MLNkM2M.1)NB1eb\]DP,/.&:W)�F�DC:-RM:-.1,ML

,MD1T�:<*�B&Dd^8F3D&,/B&)+DC�o,M*�BC2M.&�M6�Ëb2M.d:��K,G\5TbLN:M`�)�F�Tb.1,M*�B&)+*�: ? F�Ö )+DyB���)+*�:g,MDYD&LN2~� ,MDyB1eK:gF3,M)NRM:gDC:<,/.�*�e,MLNkM2M.�)NB1eb\Y`���e3)+*�e�*-,GF�q�:�T3.&2MkM.1,G\P\�:<0y��)NB1edB1eK.&:-:�L+)�F3:<D�2M��*�2K03:2M.IDC236!79SHFg`�2JFYB1e3:2MB1eK:-.Ee3,GF30�`)+D.1,/B1eK:-.*�2J\5TbL+)+*-,/BC:<0 BC2W)�\]TbLN:X\]:XFGB�,GFb0ZFK2MBDC2W��,MDCB�®2M.�\],GFJ��Bm��Tb)+*-,MLABC:���B²DC:<,/.1*�e3)�FKkWD&*�:XFb,/.1)N2GD-6Ëb2M.�:��K,G\5TbLN:M`'7[SHF )+D²,�kM2�2�0U*�e32G)+*�:YBC2�DC:<,/.�*�eÝ��2M.�T8,/BCBC:-.�F3D�2M��LN:XFKkMB1e�~ X æ"/�/ 2JFÝSIO�4 BC:��KB-`q�^KB ��eK:XFY)NBQ*�2J\�:<D BC2�DC:<,/.1*�ed��2M.!�[2M.10bD�,GFb0dT8eK.1,MD&:<Dá�2M��LN:XFKkMB1eYBm��T8)+*-,ML+LN�WLN:<D&D!B1eb,GF � / ã[)�FWF3,/B1^K.1,ML

Page 5: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

L+,GF3kJ^3,/kM:PBC:��KB-`')NB�)+D�2J^KB&T�:-.&��2M.�\�:<0�qi����,/.�qJ��,�D&)�\]TbLN:�R/,/.1)+,GFJB�2M� 7[2X�M:-.&= Fd2�2M.&:d08^K:�BC2�ß�2M.1D&T�2i2GL��� � `b��e3)+*�eY,ML+DC25*-,GFWq�:�*�2K03:<0d)�Fd,��®:-��L+)�FK:<D-6Ì¡F�B1eb)+D�DC:<*�B&)N2JF��[:]��)+L+L'*�2JFbD&)+03:-.�Bm��2�D1^3*-*�:<D&DC�@^3L',MTbTb.&2G,M*�eK:<DBC2YBC:���B²DC:<,/.1*�e3)�FKk365��e3:<DC:],/.&:�.&:�=

D1T�2JFbD&)+qbLN:��2M.�\�2GDCB�2M��B1eK:².&:<LN:-R/,GFGBIBC:<*�e8F3)+��^3:<DE)�F�^3D&:�BC2K0b,<�M6IÌCF�q�2MB1e�,MTbT3.12G,M*�eK:<DQ�[:²��)+L+L�:��3TbLN2M.&:B1e3:�.&:<L+,/B&)N2JF�q�:-Bm��:-:XF�B1eK:-2M.&:-B&)+*-,ML+LN��,GF30�T3.1,M*�B&)+*-,ML+LN��,MTbT�:<,ML+)�FKky,MLNkM2M.1)NB1eb\5D-`�,GFb0��[:²��)+L+L{D�eK2X� B1e3,/B^bD1^3,ML+LN�WB1e3:�q�:<DCBIT3.1,M*�B&)+*-,MLA,MLNkM2M.1)NB1eb\]DE,/.1:�D1)�\]TbL+)NÓb:<0�RM:-.1D&)N2JFbDI2M�AB1eK:<)N.�*�2J\5TbLN:���B1eK:-2M.1:-B&)+*-,ML�*�2J^bF�=BC:-.�Tb,/.&B&D-6Z��eK:PÓ8.1DCB�,MTbT3.&2G,M*�ec)+D²B1eK:d^3DC:y2M��,G^KBC2J\5,/B&,K`A��eb)+*�e B1eK:-2M.&:-B&)+*-,ML�,MLNkM2M.1)NB1eb\]D�*�2JFJRM:-.&B]BC20b:-BC:-.�\])�F3)+D&B&)+*���2M.�\ ��e3)+LN:IT3.1,M*�B&)+*-,ML�,MLNkM2M.1)NB1eb\5D[D1)�\²^bL+,/BC:Q)�FPB1eK:<)N. D&)�\5TbLN:�,GF30P.&:-kJ^3L+,/.!FK2JFb03:-BC:-.�\])�FK=)+D&B&)+*��®2M.�\Y6���eK:]DC:<*�2JF30Z,MTbT3.&2G,M*�e�)+DEB1eK:5^3D&:�2M��Ó8LNBC:-.�)�FKk3`���e3:-.&:�B1eK:-2M.&:-B&)+*-,ML�,MLNkM2M.1)NB1eb\]D�\])�F3)�\5)N;-:B1e3:�F�^b\²q�:-.52M�*�e3,/.1,M*�BC:-.d)�F3D&T�:<*�B&)N2JF3Dy,/BY,Ý*�2JF3D&)+03:-.1,Mq8LN:�:��KBC.1,UT3.&2K*�:<D&D&)�FKkU*�2GDCB-`���e3)+LN:�T3.1,M*�B&)+*-,ML,MLNkM2M.�)NB1eb\]D�^bDC:�D&)�\]T8LN:-.!*�.1)NBC:-.1)+,]B1eb,/B�)�F3D&T�:<*�B�\�2M.1:I*�e3,/.1,M*�BC:-.1DQq8^KB!,/.1:���,MD&BC:-.�)�FYT3.�,M*�B&)+*�:M6

#"%$ �T-*3�7�� N 3�NV92JF3D&)+03:-.�Tb,/BCBC:-.�FTv X ������������������������/6�Ë�)NkJ^K.&:5fYD�eK2X��D,YO�2JF30b:-BC:-.�\])�F3)+D&B&)+*�Ë%)�Fb)NBC:54Q^3BC2J\],/BC2JFáoOQËK4�ã�B1e3,/BE.&:<*�2MkJF3)N;-:<DB1eK:�L+,GFKkJ^3,/kM:(g �rv�`�B1e3,/B�)+D-`�DCBC.�)�FKkGDIÓ�F3)+D1eb)�FKkP��)NB1ewv�6²4QD�)NB�*-,GF�q�:�DC:-:XF�`B1e3:,G^KBC2J\],/BC2JFWe3,MD!,�RM:-.&�y.&:-kJ^bL+,/.�DCBC.�^3*�B1^3.&:M6

a r a c d b r a

Σ

b a a0 1 2 3 4 5 6 7 8 9 1110

Ë�)NkJ^K.1:�f�n�4QF�OQË�4ÔBC2yD&:<,/.1*�e���2M. �������������������������>6!��e3:²)�F3)NB&)+,ML�DCB&,/BC:])+DE\5,/.&ÕM:<0W��)NB1e ��� y,GF30�B1eK:Ó�F3,ML�DCB&,/BC:�)+D�032J^3qbLN:�=�*-)N.1*-LN:<0�6

��e3)+DQO�ËK4 *-,GF�q�:²^3DC:<0W�®2M.QBC:��KBID&:<,/.1*�e3)�F3k�,MD��®2GL+LN2~��D-n!��:-:<0�)NB���)NB1eWB1eK:²*�e3,/.1,M*�BC:-.�DI2M�#z6�l�,M*�eB&)�\]:²)NBQ.&:<*�2MkJF3)N;-:<D,5�[2M.10�`�)NBE\�:<,GF3D�B1e3,/BI��:�e3,XRM:�.&:<,M0�,PDCBC.�)�FKk�)�F�B1eK:�DC:-Bhg ��v�`�2M.I��e3)+*�e�)+DQB1eK:D1,G\�:M`3�[:�e3,<RM:�®2J^bFb0yB1eK:Tb,/BCBC:-.�FW)�FyB1eK:EBC:��KB-6���e3:XF���:*-,GFd.&:<T�2M.&B :-RM:-.&�y2K*-*<^K.&.&:XF3*�:E2M�#vÔ)�F�z6jK)�F3*�:5B1e3:POQË�4 e3,MD ~ � æ DCB&,/BC:<D-`�)NB&D²D&)�\�^3L+,/B&)N2JFZ2XRM:-.m�ÒBC:��KB²*�e3,/.1,M*�BC:-.1D²B&,/ÕM:<D -5áo~@�%ã�B&)�\�:M`

)�F�B1e3:���2M.1D&B�,GF30g,<RM:-.�,/kM:P*-,MDC:M6]��e3:².1:<,MDC2JF�)+DEB1e3,/B-`%)�F�T3.1)�F3*-)+T8LN:M`�:<,M*�eZO�ËK4ÎDCB&,/BC:5*-,GF�q�:�,M*�B&)NRM:2M.I)�F3,M*�B&)NRM:�,GF30d�[:²eb,<RM:²BC2�^3T�0b,/BC:�B1e3:X\ ,ML+Lo6!��eb)+D�*�2J\]T8LN:��K)NBm�d)+DQFK2MB�,MTbT�:<,ML+)�FKkP)N�'�[:�*�2J\5Tb,/.&:)NB,/kG,M)�FbDCB�B1eK:Fb,M)NRM:�,MLNkM2M.1)NB1eb\d64 *-LN:<,/.�2GTbB&)N2JF�BC2�.&:<08^3*�:EDC:<,/.1*�eyB&)�\�:I)+D BC2]\],/ÕM:EB1e3:I,G^3BC2J\],/BC2JFy03:-BC:-.�\5)�F3)+DCB&)+*�áoSIËK4�ã&6bÌCF�B1e3)+D

*-,MD&:M`�B1e3:-.&:���)+L+L�q�:!2JF3LN��2JFK:Q,M*�B&)NRM:ID&B&,/BC:Q,/B[B1eK:�B&)�\]:M`i,GF30�T3.&2K*�:<D&D&)�F3k�B1eK:�,G^3BC2J\],/BC2JF52XRM:-.9B1eK:�BC:��KB��)+L+L{B&,/ÕM:�-]áo�%ã!DC:<,/.1*�e�B&)�\�:M6Ë�)NkJ^K.&: � D1e32X��DQB1eK:�SIËK4 ��2M.EB1eK:�D&,G\�:�Tb,/BCBC:-.�F�64�DE)NB�*-,GF�q�:�DC:-:XF�`)NB&D!.&:-kJ^3L+,/.1)NBm�Yeb,MD q�:-:XFyLN2GD&B-6��{2�B1eK:�T3.&:-RK)N2J^3D �¡��2M.&�[,/.�0��,/.&.&2~��D-`b,]F�^b\²q�:-.92M�,�Cqb,M*&Õ��[,/.�0�],/.&.&2~��Deb,<RM:q�:-:XF�,M0b03:<0�`K��eb)+*�eYe3,GF308LN:QB1e3:�*-,MDC:E��eK:-.&:IB1eK:�FK:��KB BC:��KB!*�e3,/.1,M*�BC:-.Q)+D!FK2MB B1eK:E2JFK:I�[:E:��KT�:<*�BBC2�\],/B&*�e`v�6

a r a c d b r ab a a0 1 2 3 4 5 6 7 8 9 1110

aa

b

a

b

aca

b

Ë�)NkJ^K.1: � n�4ÎSIË�4 BC2�DC:<,/.1*�eg�®2M. ������������������������/6²��e3:])�F3)NB&)+,MLADCB&,/BC:�)+D\],/.1ÕM:<0���)NB1e ��� �,GF30�B1eK:Ó�F3,ML�DCB&,/BC:�)+D�032J^3qbLN:�=�*-)N.1*-LN:<0�6�aIF3L+,Mq�:<LN:<0d,/.&.&2~��D!DCB&,GF30d�®2M. �C,GFJ�Y2MB1eK:-.�*�e3,/.1,M*�BC:-.�K6

4 T3.&2GqbLN:X\ ��)NB1e 03:-BC:-.�\5)�F3)+DCB&)+*5,G^3BC2J\],/B&,�)+D�B1eb,/B�B1eK:-�g*�2J^bL+0�`�)�FZTb.1)�F3*-)+TbLN:M`�FK:-:<0 :��KT�2JFK:XFJB&)+,MLB&)�\]:P,GF30 D&Tb,M*�:PBC2�q�:5q8^b)+LNB-`%��)NB1e�.&:<D&T�:<*�B�BC2�B1eK:P2M.1)NkG)�F3,ML[DCBC.1)�FKk36d�2X�[:-RM:-.<`�B1eb)+D)+D�FK2MBB1eK:�*-,MDC:

Page 6: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

2M�A.&:-kJ^3L+,/.I:��KTb.&:<D&D&)N2JF3D�2M��B1eK:²��2M.�\�gW� v]`��QeK2GDC:�0b:-BC:-.�\])�F3)+D&B&)+*�,G^KBC2J\5,/B&,�F3:-:<0�2JFbLN� -]áo~`i{ã D&Tb,M*�:q�:<*-,G^3D&:]B1eK:-.&:�)+D,d2JF3:�=ÑBC2/=Ñ2JFK:Y*�2M.&.&:<D&T�2JF303:XFb*�:]q�:-Bm��:-:XF DC:<,/.1*�eZD&B&,/BC:<D²,GFb0ZT3.&:-Ób��:<DE2M�Wv]6yß�:XF3*�:^bD&)�FKk],]SIËK4�kG)NRM:<DQ^3D ,GF -]áo~`i ���%ã��[2M.1DCB¡=�*-,MD&:�,GF30d,XRM:-.1,/kM:�=�*-,MDC:�B&)�\�:�,MLNkM2M.�)NB1eb\Y64�DI,y\],/BCBC:-.Q2M����,M*�B-`�B1e3:²*-L+,MD&D1)+*-,ML%,MLNkM2M.�)NB1eb\ qJ�6?Fi^3B1e�`�FW2M.&.1)+DI,GF30�Ö�.1,/BCB�áo? F�Ö ã � � æ .&:<L+)N:<D-`

q8,MD&)+*-,ML+LN�M`�2JFYB1eK:03:-BC:-.�\5)�F3)+DCB&)+*ERM:-.�D&)N2JFY2M��B1eK:,G^3BC2J\],/BC2JF�6�Ì¡Fy2M.�03:-.!BC2].&:<0�^3*�:T3.&:<Tb.&2�*�:<D1D&)�FKk�B&)�\�:,GFb0�D&Tb,M*�:�^3D1,/kM: BC2 -]áo~�ã[áo,GF30]e3:XF3*�: :XF3D1^K.1:[�[2M.1DCB¡=�*-,MD&:�2GT3B&)�\5,ML+)NB��²�®2M.�B1e3:�^bF3L+)NÕM:<LN��*-,MDC:{~`iwkd�%ã&`?tFWÖÞ032i:<D�FK2MB�DCBC2M.&:B1eK:,/.&.&2~��D 2M��B1eK:,G^3BC2J\],/BC2JF�6A(�,/B1eK:-.<`b��2M.!:<,M*�eWDCB&,/BC:M`�)NB�DCBC2M.&:<D�)NB&D �¡�o,M)+L�^K.&: D&B&,/BC:Mn�B1e3:�L+,/.&kM:<D&B5Fi^b\²q�:-.&:<0 DCB&,/BC:Y.&:<,M*�eb,MqbLN:dqJ�Ýqb,M*&Õ��9,/.10c,/.&.&2~��D-`�\5)�Fi^3D�2JFK:M6ZaQT�2JFZ,��o,M)+L�^K.&:á�B1eb,/B�)+D<`%�QeK:XFgB1e3:yFK:��KB²BC:���B�*�eb,/.1,M*�BC:-.])+D�FK2MB�B1e3:52JFK:���:dFK:-:<0 BC2�\�2XRM:y��2M.&�9,/.10 )�FZB1eK:ySIË�4ã&`?tFWÖckM2�:<D BC2�B1eK:I�o,M)+L�^K.&:EDCB&,/BC:,GFb0PBC.�)N:<D!,/kG,M)�Fy��)NB1e�B1eK:E*<^K.1.&:XFGB9BC:��KB!LN:-BCBC:-.<6A̧��B1e3)+D9�o,M)+L+D-`b)NB�\]2XRM:<DBC2yB1eK:²�o,M)+L�^K.&:�DCB&,/BC:�2M��B1eK:²��,M)+L�^3.&:²D&B&,/BC:M`�,GF30�DC2P2JF�6I49BI�[2M.1DCB-`�B1e3)+DIT3.&2K*�:<D&D�Ó�F3)+D1e3:<D�,/BIB1eK:�)�F3)NB&)+,MLD&B&,/BC:M6A��eK:Q*�2M.&.&:<*�B1FK:<D&D92M��B1eb)+D[Tb.&2�*�:<0�^K.&:�)+D9*-LN:<,/.!)N���[:Q*�2JF3D1)+03:-.9B1e3,/B[q�:<)�FKk²,/B DCB&,/BC:Qâ�)+D[:<�K^3)NR>,MLN:XFJB2M��e3,XR�)�FKk\5,/B&*�eK:<0 v*[^]�]�] a�,/kG,M)�F3DCB�B1e3:!*<^K.&.&:XFJB'BC:���B�D�^KÍ���`J,GF30�B1e3,/B�B1e3: ��,M)+L�^K.1:!DCB&,/BC:!��2M.Aâ�BC:<L+L+D��Qe3)+*�e)+DIB1e3:�LN2JF3kM:<DCB�T3.&:-Ó3�d2M��v [^]�]�] a ��e3)+*�e�)+DI,ML+DC2d,yD1^3Í��W2M�/v [^]�]�] a 6�4�LNB1eK2J^3kJe�,PkG)NRM:XF�BC:���BET�2GD&)NB&)N2JF�*-,GFq�:�*�2J\]T8,/.&:<0�DC:-RM:-.1,ML'B&)�\]:<D-`�2XRM:-.�,ML+L��[:]*-,GFbFK2MB032d\]2M.&:�B1e3,GF�f �UBC:���B�)�F3D&T�:<*�B&)N2JF3D-`�q�:<*-,G^3D&:²:<,M*�eB&)�\]:��[:I.&:�=�*�2J\]T8,/.&:Q,²BC:��KB *�e3,/.1,M*�BC:-.���:�\�2~RM:Eqb,M*&Õ��[,/.�0Y)�F5B1e3:Q,G^KBC2J\5,/BC2JF�`3,GF30���:E*-,GFbF32MB \]2XRM:��2M.&�9,/.10Z\]2M.&:�B1e3,GF �ÝB&)�\�:<DPá�2JFK:5T�:-.�BC:��KB*�e3,/.�,M*�BC:-.-ã&6YV92JF3DCBC.�^3*�B&)N2JF�2M�[B1e3:���,M)+L�^K.1:]�o^8F3*�B&)N2JF�*-,GFq�:�032JFK:�)�F#-]áo~�ã B&)�\�:²��)NB1e�,�BC.1)+*1Õi��,MLNkM2M.1)NB1eb\Y`��Qe3)+*�e�kG)NRM:<DEB1e3:²2GTbB&)�\],ML{��2M.1D&B¡=�*-,MDC:5*�2J\]T8LN:��K)NBm�-5áo~ ���%ãBX -5áo�%ãAB&)�\�:M64�D[�[:Eeb,<RM:�\�:XFJB&)N2JFK:<0�`303:<D&T8)NBC:�B1eK:E,MLNkM2M.1)NB1e8\])+*Iq�:<,G^KB��]2M�\? FWÖc,MLNkM2M.�)NB1eb\ ,GF30y)NB&D9��2M.�DCB¡=�*-,MDC:

kJ^b,/.1,GFGBC:-:M`9)NB�B1^K.�FbD2J^KB�B1eb,/B�)�FUTb.1,M*�B&)+*�:d)NB])+D�B���)+*�:d,MD5D&LN2X� ,MD�B1e3:YFb,M)NRM:d,MLNkM2M.1)NB1eb\Y6Ý��eK:-.&:y)+D-`e32X�[:-RM:-.<`b,²\�^3*�e5q�:-BCBC:-.9,MLNBC:-.�F3,/B&)NRM:M6[��:E*-,GF�^bDC:��<ØJ� l��D��������Û��NØ �� �� BC2�0b)N.&:<*�B&LN��D&)�\�^3L+,/BC:�B1e3:QOQËK4`B&,/ÕK)�FKk5,M0bR>,GFJB&,/kM:�2M��)NB&D!.1:-kJ^3L+,/.�DCBC.�^b*�B1^K.&:M6

��:-B²^bD�,MD&D1^b\]:���:5.&:<T3.&:<DC:XFJB�B1eK:�O�ËK4Î2M� Ë�)NkJ^K.&:�fW^3D&)�FKkdB1e3:5qb)NB&D�2M� ,�*�2J\]T8^KBC:-.��2M.10�6P��eK:)�Fb)NB&)+,ML�DCB&,/BC: / )+D�,MLN�[,X��D�,M*�B&)NRM:M`�DC2���:P��)+L+LAFK2MB�.&:<T3.&:<DC:XFJB)NB-6Yß�:XF3*�:5�[:�FK:-:<0L~ qb)NB&D-`�,GF30 LN:-B²^3D,MD1D1^b\�:Iqi�PFK2X�àB1eb,/B[2J^3.!*�2J\]T8^KBC:-.[�[2M.10YD&)N;-:M`�� qb)NB&D<`b)+D[L+,/.1kM:E:XFK2J^KkJe�BC2]eK2GL+0yB1eK:H~×qb)NB&D-`3B1e3,/B )+D-`~ � ��6A��e3:�DC:<��^3:XF3*�:�2M�4~ qb)NB&D!��)+L+L�q�:�*-,ML+LN:<0�,��-Øe� ������~6

��:-BQ^bD!T3.&:<T3.12�*�:<D&D{v DC2�,MD!BC2Pq�^3)+L+0d,]B&,Mq8LN:��Î2M��qb)NB�\5,MDCÕ�D<`b)�F303:��K:<0Wqi��B1e3:,ML+T8e3,Mq�:-B0gQ69��eK:â@=ÑB1eWqb)NB�2M��� � . ��)+L+L�q�: æ )N��,GF30d2JF3LN�d)N�#v\aBX .X6W��:-BQ^3D�,MD&D1^b\]:qb)NB�\5,MDCÕ�� DCBC2M.&:<D�B1eK:�,M*�B&)NRM:�,GF30)�Fb,M*�B&)NRM:DCB&,/BC:<D 2M�{B1eK:EO�ËK4�`bDC2�B1eK:Eâo=ÑB1eyqb)NB92M��� BC:<L+L+D ��eK:-B1e3:-.9D&B&,/BC:â')+D ,M*�B&)NRM:�2M.�FK2MB-6�ÌCF3)NB&)+,ML+LN�����)+L+L�e3,<RM:�,ML+L�)NB&D!qb)NB&D�)�Fy;-:-.&236��eK:-.&:!,/.&:�B��[2B��KT�:<D�2M��,/.&.&2~��D�)�F]B1eK:�OQË�4�6JË32M.1�[,/.10P,/.&.&2~��D�\]2XRM:!��.&2J\ DCB&,/BC:Qâ�BC2â � æ `�,MDALN2JFKk

,MD�B1eK: *<^K.&.&:XFJB'BC:���B�*�e3,/.1,M*�BC:-.9\],/B&*�e3:<D*vRa¡6���eK: DC:<LN�®=�LN2i2GTP,/B'B1eK:!)�F3)NB&)+,ML3DCB&,/BC:Q\],/B&*�e3:<D�,GFG��*�eb,/.1,M*�BC:-.,GFb0�ÕM:-:<TbDAD&B&,/BC: / ,MLN�9,<�KD�,M*�B&)NRM:M6�ß�:XF3*�:M`3^3D&)�F3k�VUL+,GFKkJ^3,/kM:�F32MB&,/B&)N2JF]BC2�2GT�:-.1,/BC:Qqb)NBA\],MD&Õ�D-`i)NB�B1^K.�F3D2J^3B!B1e3,/B��×*-,GFYq�:^3T�0b,/BC:<0d^3T�2JF�.&:<,M0b)�F3k�BC:���BQ*�e3,/.1,M*�BC:-. .���)NB1eyB1eK:�®2GL+LN2~��)�FKkPD1)�\]TbLN:I��2M.�\�^3L+,

� ��� áCá�� ��� æ ãGU æ ã �� � . ��eK:�D1e3)N��B¡=�LN:-�®BQ2GT�:-.1,/B&)N2JF�D&)�\�^3L+,/BC:<DQB1eK:²�®2M.&�9,/.10�,/.&.&2~��D-6I��eK: � æ �B1e3,/BE)+D�2M.&=Ñ:<0�D&B&,GF30bD��®2M.IB1eK:

)�Fb)NB&)+,ML{DCB&,/BC:M`���eb)+*�e�)+D�,MLN�9,<�KDIDC:XF30b)�FKk�,M*�B&)NRM:�qb)NB&D�BC2yDCB&,/BC: æ 6���eK: �C,GF30�P2GT�:-.�,/B&)N2JFWT�:-.�\5)NB&D!DCB&,/BC:,M*�B&)NR/,/B&)N2JF3D²BC2�\]2XRM:���.&2J\ 2JFK:5D&B&,/BC:5BC2dB1eK:5F3:���B�2JFbLN��)N�9B1eK:]*<^K.1.&:XFGBEBC:��KB�*�e3,/.1,M*�BC:-.�\],/B&*�eK:<DEB1eK:*�2M.1.&:<D&T�2JF30b)�FKk�Tb,/BCBC:-.�FcT�2GD&)NB&)N2JF�6Ò4��®BC:-.P:<,M*�e�^bT�08,/BC:�2M����`A�[:�\�^3DCB�*�e3:<*&Õc��eK:-B1e3:-.]DCB&,/BC:6~ )+D,M*�B&)NRM:M`�B1e3,/B�)+D<`

� á æ ��� áo~ � æ ãCã���X / �,GFb0d)�FyB1e3)+D!*-,MD&:�[:E.&:<T�2M.&B!,GFy2K*-*<^K.&.&:XF3*�:2M�Bv�6��e3)+D9,MLNkM2M.1)NB1eb\d`bqJ�579,/:-;<,>=@?A,/BC:<DI,GF30dHQ2JFbF3:-B �� `b)+D *-,ML+LN:<0�j3e3)N��B¡=�4QFb0�6'7��y^3D&)�FKk�,ML+L�B1eK:Eqb)NB&D )�F

*�2J\5TbLN:X\�:XFJBC:<0y��2M.�\ �[:�kM:-B�B1eK:E�o,MDCBC:-.Ej3e3)N��B¡= ;Q. ��� 6A��e3:^3T�0b,/BC:I�®2M.�\�^3L+,�2M�Aj3eb)N�®B¡= ;Q.!)+D� �� á�� ��� æ ãGU�� � .

Page 7: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

�������Ñ|��5} áJzB[^]�]�] }:�{v�[^]�]�] y�ã

��} .G�6g�� � � . � á æ ���d~�ã � æ��} c � æ! " " ~ � � � � f � � � � f � á æ ��� á c � æ ãCã� � á æ ���d~�ã � æ��} â/� æ! " " ���

� � á�� ��� æ ãGU � � � a ��� � á æ ��� áo~ � æ ãCã,X /|������ v 2�*-*<^3.1D!,/B zba %>y #\[^]�]�] a

Ë�)NkJ^K.&: � n9j3e3)N��B¡= ;Q.!,MLNkM2M.1)NB1eb\d6

Ö�.&:<T3.12�*�:<D&D1)�FKk�2M�BvÔFK:-:<08D�-]áo~ �Li{ã�B&)�\]:E,GF30 -]á�i{ãAD&T8,M*�:M6A��eK:IBC:��KB!D&*-,GFbF3)�FKk]T�e3,MDC:E)+D�-]áo�%ã&6ß�:XF3*�:��[:�kM:-BE,PRM:-.&�WD&)�\5TbLN:�,MLNkM2M.1)NB1e8\×B1e3,/BQ)+D�-5á�i��,~ �d�%ã[B&)�\�:�,GF30#-]á�i{ã D&Tb,M*�:�)�FdB1e3:��[2M.1DCB,GFb05,<RM:-.�,/kM:I*-,MD&:M6�Fd2M.&:Q)�\]T�2M.&B&,GFJB-`Kj3eb)N�®B¡= ;Q.�)+D��o,MDCBC:-.�B1eb,GF�B1eK:IF3,M)NRM:�,MLNkM2M.1)NB1e8\�,GFb0]*-,GF5q�:�*�2K03:<0)�Fd,��®:-��L+)�FK:<D-6AË�)NkJ^K.&: � kG)NRM:<D�)NB&D�TbDC:X^3032K*�2K03:M6Ë32M.ETb,/BCBC:-.�F3D�:��K*�:-:<08)�FKkPB1e3:²*�2J\5T8^KBC:-.��[2M.10�D&)N;-:�áo~ k �Eã&`�,y\²^bLNB&)Ð=Ñ��2M.10�)�\]TbLN:X\]:XFGB&,/B&)N2JF�*-,GF

q�:�*�2JF3D&)+03:-.&:<0�6Wß�:XFb*�:P�[:P��)+L+L[e3,XRM:yBC2�^3T�0b,/BC:��e~ &(���Y*�2J\]T8^3BC:-.�[2M.10bD²T�:-.²BC:��KB²*�e3,/.1,M*�BC:-.],GF30B1e3:��[2M.1DCB�*-,MDC:dD&:<,/.1*�eUB&)�\]:y��)+L+L9q�: -]áo~ �Ôá�i �<�%ã��e~ &(���/ã&6ÝÌ¡FUT3.�,M*�B&)+*�:M`�D&)�F3*�:YB1e3:yTb.&2Gqb,Mqb)+L+)NBm�2M�!,M*�B&)NR/,/B&)�FKkg,�DCB&,/BC:yL+,/.&kM:-.�B1e3,GF�� )+D�\5)�F3)�\],ML!á æ & i���ã&`�)NB�)+D�,M03RK)+D&,MqbLN:�BC25Ï&^3DCB�DC:<,/.1*�e ��2M. v�[^]�]�] �^bD&)�FKk5B1e3:²qb,MD1)+*²,MLNkM2M.�)NB1eb\×,GF30�*�2J\]Tb,/.&: v � #\[^]�]�] y 0b)N.&:<*�B&LN��,/kG,M)�FbDCBIB1eK:�BC:��KBQ��eK:XF6v*[^]�]�] � \],/B&*�eK:<D-6�':-.�)NÓ8*-,/B&)N2JF3DQ,M0b0`� & i���� -]á æ ãA:��KBC.1,�B&)�\]:M`bDC2]B1eK:,XRM:-.1,/kM:²B&)�\�:E.&:X\5,M)�F3D�-]á�i/��~ �,�%ã&6

#"J! +HO .�3�)�+�O Q ���eK:!T3.&:-RK)N2J^3DA,MLNkM2M.�)NB1eb\]DABC.&��BC2²032�B1eK:<)N.[q�:<DCBA^bF303:-.AB1eK:�,MD&D1^8\]T3B&)N2JF²B1e3,/B�2JFK:�e3,MD�BC2�)�F3D&T�:<*�B�:-RM:-.1�BC:��KB�*�eb,/.1,M*�BC:-.<6ÌCF�B1eK:���2M.�DCB�*-,MDC:�2JFK:�*-,GFbFK2MB�032Yq�:-BCBC:-.<6ß�2X�[:-RM:-.<`{2JF�,XRM:-.1,/kM:M`%2JFK:�*-,GF�0b)+D&*-,/.10L+,/.1kM:BC:��KB�,/.&:<,MD���)NB1eK2J^KB�,M*�B1^3,ML+LN�W)�F3D&T�:<*�B&)�FKkP,ML+L�B1eK:<)N.Q*�e3,/.1,M*�BC:-.�D-6 ��e3)+D�*�2JFb*�:<T3B�)+D�*-,ML+LN:<0 n ����Û ��Ø�Ù��,GFb0��[,MD�)�FGRM:XFJBC:<0ÝqJ��7[2X�M:-.�,GF30LFW2�2M.&: � æ � `%2JF3LN��,Y��:-�Ô�M:<,/.1D²L+,/BC:-.�B1e3,GF ? FWÖ áoq8^KBEB1e3:-���[:-.&:T�^3qbL+)+D1eK:<0yB1e3:�D&,G\�:E�M:<,/.-ã&64�ÕM:-�]*�2JF3*�:<T3B9)�F�Ó8LNBC:-.1)�F3k�)+D�B1eb,/B�2M��, ��Û1ÜD�#A'Ø�Ù8ÚDC�A�`K��eb)+*�e])+D[,GFJ��.1,GFKkM:�2M��BC:��KB[T�2GD&)NB&)N2JFbDA2M��B1eK:

��2M.�\×â " " â � ~ � æ 6���eK:�DC:<,/.1*�e�Tb.&2GqbLN:X\×)+DQB1e3,/BI2M�A03:-BC:-.�\5)�F3)�FKk5�Qe3)+*�e�BC:��KBE��)�F3032~��DQ\5,/B&*�euv�6Ë�)+LNBC:-.1)�F3kW,MLNkM2M.1)NB1eb\5D ���NØ�ÚJÛEB1eK:���)�F30b2X�ÔLN:-��BEBC2Y.1)NkJeGB2JF�B1eK:�BC:���B-6�49BE:<,M*�egT�2GD&)NB&)N2JF�`�B1e3:-��)�F3D1T�:<*�BD&2J\�:IBC:���B�*�e3,/.1,M*�BC:-.�D�)�F�B1eK:E��)�F3032X��,GF30Y*�2GL+LN:<*�B�:XFK2J^3kJeY)�FK��2M.�\],/B&)N2JFyDC2],MD!BC2503:-BC:-.�\5)�FK:I��eK:-B1eK:-.B1e3:-.&:)+DQ,5\],/B&*�eY2M.EFK2MB�)�FYB1e3:*<^K.&.&:XFJB!��)�Fb032X��69��eK:XF�`bB1eK:-�u�"!iØ #���B1eK:���)�F3032X��BC2P,5F3:-��T�2GD&)NB&)N2JF�6O�2MBC:QB1e3,/BAB1eK:IF3,M)NRM:�,MLNkM2M.�)NB1eb\Î*-,GF5q�:�DC:-:XFP,MDA,Ó8LNBC:-.1)�FKk²,MLNkM2M.1)NB1eb\�B1e3,/B[*�2J\]Tb,/.&:<D/v�,GFb0]B1eK:!BC:��KB��)�F3032X��LN:-�®B!BC25.1)NkJeGB-`�,GF30d,MLN�9,<�KD�D1eb)N�®B&D!qi��2JFK:T�2GD&)NB&)N2JF�6��eK:52M.�)NkG)�F3,ML�)+0b:<,W2M�!7[2X�M:-.&= Fd2�2M.&:Záo7 F�ã�,MLNkM2M.1)NB1e8\]D²)+DBC2�*�2J\]Tb,/.1: v×,GF30gB1eK:�BC:��KB���)�Fb032X�

.�)NkJeGB�BC2�LN:-�®B-6 a�T�2JFÝ,�\],/B&*�e 2M.5\5)+D1\],/B&*�e�`�B1eK:-�Ý\5,/ÕM:Y^bDC:P2M��B1eK:y)�FK�®2M.�\],/B&)N2JFÝ*�2GL+LN:<*�BC:<0�)�F B1eK:*�2J\5Tb,/.1)+DC2JF�2M��B1eK:�*<^K.1.&:XFGBP��)�F3032~� DC2Ý,MD�BC2cD1e3)N��By)NB�qi��,/BYLN:<,MDCBy2JFK:�*�e3,/.�,M*�BC:-.<6Ô��eK:�2M.1)NkG)�F3,ML7[2~�M:-.C= Fd2�2M.&:�,MLNkM2M.1)NB1eb\5D�^3DC:<0YB1e3:��®2GL+LN2~��)�FKk].�^3LN:<D BC25D1eb)N�®B B1eK:��)�F3032~� ,MD�\�^3*�ed,MD�T�2GD&D&)+qbLN:Mn

) Ìm�{��:eb,<RM:�.&:<,M0WD1^KÍ��(Y��.&2J\ÎB1eK:I��)�F3032~� ,GF30yB1e3)+D�eb,MD!\],/B&*�e3:<0YB1eK:ED&,G\�:ED1^3Í��P2M�4v�`3B1eK:XF��:!*-,GF�D�e3)N�®B�B1eK:9��)�Fb032X�Ò^bFJB&)+L>Y�áo)�F²B1eK: BC:��KB�ã�,ML+)NkJF3D'��)NB1e�B1eK:!L+,MD&B%2K*-*<^K.&.1:XF3*�: 2M��Y )�Fjv�[^]�]�] y�%M[-6Ìm��B1eK:-.&:!)+D�FK2ED1^b*�e²2K*-*<^K.&.&:XF3*�:M`JB1eK:XF²��:�\�^3D&B%,ML+)NkJF�B1e3:!LN2JFKkM:<DCB�D1^KÍ]��2M��Y!B1e3,/B�)+D�,ML+DC2�,ETb.&:-Ó3�2M�#v�6

h

Page 8: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

) Ìm���[:Qeb,<RM:Q.&:<,M0P*�e3,/.1,M*�BC:-.1D[��.&2J\ B1eK:���)�Fb032X��,GF30]B1eK:I\])+D1\5,/B&*�ePe3,MDA2K*-*<^K.&.1:<05,/B9,*�eb,/.1,M*�BC:-..~`bB1eK:XFy�[:*-,GFdD�e3)N�®B B1e3:E��)�F3032~��^bFJB&)+L�B1e3,/B�T�2GD&)NB&)N2JFY)+D�,ML+)NkJFK:<0dBC2P, .Q)�F@v�6Ì¡F��o,M*�B-`{B1e3:�2M.1)NkG)�F3,ML�7 F ,MLNkM2M.1)NB1eb\ T3.&:<*�2J\]T�^KBC:<DQB1eK:PFK:<*�:<D&D1,/.&��08,/B&,YBC2W)�\]T8LN:X\�:XFJB�2JF3LN��B1eK:

L+,MD&BIeK:X^3.1)+DCB&)+*yá�B1eK:�Ó8.1DCB!�9,MDI)�FGBC.&2K08^3*�:²)�FdB1e3: ? F�Ö�Tb,MT�:-.-ã&`�,GFb0�,/BQ:<,M*�e�\]2J\�:XFJB�)NBI^bDC:<D�B1e3:2JFK:kG)NRK)�FKk�B1eK:�L+,/.1kM:<DCBED1e3)N��B-6!4�LNB1eK2J^3kJeW)�FWB1eK:�[2M.1DCBI*-,MDC:²B1eK:�,MLNkM2M.�)NB1eb\×)+DQD&B&)+L+L�-5áo~@�%ã&`82JF�,<RM:-.1,/kM:])NB)+D�-5áo� &�\])�F�áo~w� i{ãCã&6��eb)+D��9,MDQB1eK:�Ób.1DCBI,MLNkM2M.1)NB1eb\×B1eb,/BI08)+0�FK2MBE*�2J\5Tb,/.&:�,ML+L{B1e3:�BC:��KB�*�e3,/.�,M*�BC:-.1D-6��eK:�,MLNkM2M.1)NB1eb\ �[,MD�L+,/BC:-.�:��KBC:XF303:<0dBC2�\],/ÕM:�)NB,-5áo�%ã�)�FyB1eK:E�[2M.1DCB�*-,MD&: � æ h 6Ì¡F�T3.1,M*�B&)+*�:M`�B1e3:�,MLNkM2M.�)NB1eb\×�[,MDI.�,/B1eK:-.E*�2J\]TbL+)+*-,/BC:<0�BC2Y)�\]T8LN:X\�:XFJB-`�FK2MBIBC2d\�:XFJB&)N2JF�)N��2JFK:]e3,MD

BC2y:XF3D�^K.&:�L+)�F3:<,/.Q�[2M.1DCB¡=�*-,MD&:]*�2J\]TbLN:��3)NB��M6�4ÔTb.1,M*�B&)+*-,ML�)�\]T3.&2~RM:X\�:XFJB��9,MDQ2Gq3B&,M)�FK:<0�qi��FK2MB&)�FKkyB1e3,/B-`��2M.L+,/.&kM:P:XFK2J^KkJe�,ML+T�e3,Mq�:-B&D-`�B1eK:5D&:<*�2JF30ZeK:X^K.�)+DCB&)+*5^3D1^b,ML+LN��kG,XRM:5kM2�2�0�:XF32J^KkJe�D1e3)N��B&D5á�B1eK:52M.1)NkG)�F3,ML)+0b:<,�ã&6Wß�:XFb*�:�*�2J\5T8^KB&)�FKkdBm��2�D1e3)N��B&D�BC2�Tb)+*1ÕgB1eK:PL+,/.1kM:<DCB��9,MD�FK2MB��[2M.&B1egB1eK:�*�2GD&B-6W��eK:].1:<D1^3LNB&)�FKk,MLNkM2M.�)NB1eb\Y`8*-,ML+LN:<0�jK)�\]T8L+)NÓb:<0y7�FZ`�)+D�D&)�\]TbLN:-. B1eb,GFY7 F ,GFb0d*�2J\]T�:-B&)NB&)NRM:M6ß�2~��:-RM:-.<`�:-RM:XF�D&)�\]TbLN:-.I,GF30���,MD&BC:-.�)+DQß�2M.1D&T�2�2GL{,MLNkM2M.�)NB1eb\ ��� � 6�Ö�,/BCBC:-.�F�,GF30�BC:���BI��)�Fb032X� ,/.&:

*�2J\5Tb,/.&:<0U)�FÝ,GFG�Ý2M.103:-.X`':-RM:XFcLN:-�®B�BC2�.1)NkJeJBWá�B1e3)+D�*-,GFUq�:y032JFK:d^3D&)�FKk�,�D&T�:<*-)+,MLÐ=�T8^K.�T�2GD&:y\5,M*�e3)�FK:)�FbDCBC.�^3*�B&)N2JF B1e3,/B�*�2J\]T8,/.&:<D�*�e�^bFKÕKD�2M�Q\�:X\�2M.1�8ã&6�Ìm��B1eK:-� ,/.&:�:<�K^3,MLo`�B1eK:y2K*-*<^K.&.&:XF3*�:Y)+D².&:<T�2M.&BC:<0�6ÌCF�,GFJ��*-,MDC:M`{B1eK:�� ��������)�F3032~�Ô*�e3,/.�,M*�BC:-.�)+D�^3DC:<0�BC2d0b:-BC:-.�\])�FK:²B1eK:]D1eb)N�®B-6²Ë32M.�B1e3)+DED&,/ÕM:M`{,yB&,MqbLN:��)+Dq8^3)+LNB�DC2YB1e3,/B�� � . )+DEB1eK:]08)+DCB&,GF3*�:]��.&2J\ B1eK:]L+,MD&B�2�*-*<^3.&.&:XF3*�:�2M� .�)�Fwv*[^]�]�] y %M[�BC2`~�6]ß�:XFb*�:M`�B1eK:��)�F3032X��DCB&,/.&B&)�FKk5,/B�BC:���B�T�2GD&)NB&)N2JFWâA*-,GFYq�:�D1eb)N�®BC:<0dqi��� � zba #�y %M[ 6�Ë�)NkJ^K.&:t�])+L+L�^3DCBC.1,/BC:<D-6

abracadabra

abracadabra

eda Ttext window

P

last ’a’ in ’abracadabr’

mismatch here d[’a’] = 3d[’b’] = 2d[’c’] = 6d[’d’] = 4d[’r’] = 1d[*] = 11

shift

Ë�)NkJ^K.1:t��nAl'�3,G\]T8LN:Q2M��ß�2M.1D&T�2i2GL�,MLNkM2M.�)NB1eb\ 2~RM:-.�,���)�Fb032X�àBC:-.�\5)�F3,/B&)�FKk])�F ���������>6�ÌCF�B1eK:�:��3,G\]TbLN:�[:,MD&D�^b\�:IB1e3,/B{v ,GF30YB1eK:���)�F3032X� ,/.1:*�2J\]Tb,/.1:<0Y.1)NkJeJB BC2PLN:-��B-6Ö�.&:<T3.12�*�:<D&D1)�FKkZ.&:<�K^3)N.&:<D�-]áo~ � i{ã�B&)�\�:�,GF30 -5á�i{ã�D1Tb,M*�:M`!��e3)+LN:WB1eK:�,XRM:-.1,/kM:�DC:<,/.1*�e�B&)�\]:W)+D

D&B&)+L+L -5áo� &�\])�F�áo~w� i{ãCã&6���eK:5,MLNkM2M.1)NB1eb\ ÓbB&D²)�FgLN:<D1DB1e3,GFZBC:XF L+)�FK:<D2M��*�2�03:�)�FZ\]2GDCB�T3.12MkM.1,G\5\5)�FKkL+,GF3kJ^3,/kM:<D-6�4 *-LN2GDC:R>,/.1)+,GFJB�2M�%B1e3)+D!,MLNkM2M.�)NB1eb\ )+D�08^K:EBC2�j3^8F30b,<� � �Mf `b��eb)+*�ed^3D&:<D B1eK:�BC:��KB�T�2GD&)NB&)N2JF��2GL+LN2X��)�FKk]B1eK:���)�F3032X� )�FbDCBC:<,M0Y2M��B1eK:�L+,MDCB!��)�F3032X� T�2GD&)NB&)N2JF�6A��e3)+D!\5,/ÕM:<D B1eK:�DC:<,/.1*�eYB&)�\]:�*-LN2GDC:-.�BC2� &Káo~ � æ ã�)�F3DCBC:<,M0W2M��ß�2M.1D&T�2�2GL��vDW� &�~�`b,GF30d)+D�)�FYT3.1,M*�B&)+*�:���,MDCBC:-.�B1e3,GFYß�2M.1D&T�2�2GLo6ß�2~��:-RM:-.<`�)N��2JFK:QB&,/ÕM:<D!)�FGBC2�,M*-*�2J^bFJB B1e3,/B9��)NB1ePT3.&2Gqb,Mqb)+L+)NBm��á�i � æ ã.& iW:-RM:XF�B1e3:�Ób.�DCB�*�2J\5Tb,/.1)+DC2JF

)�F B1eK:���)�F30b2X�Î��,M)+L+D-`�)NB�)+D�,M03RK)+D&,MqbLN:�BC2�)�\]TbLN:X\]:XFGB²,�D&2/=�*-,ML+LN:<0�� �/Ø�l � C C l�6Z��e3)+D²)+D�,�T3.1:�=ÑÓ8LNBC:-.1)�FKkT�e3,MDC:²��eK:-.&:�B1eK:²L+,MD&BQ��)�F3032X� *�e3,/.1,M*�BC:-.<` .~`�)+DQ:��K,G\5)�FK:<0�`�,GF30�)N��vRy X .EB1eK:XF��[:�:XFJBC:-.EB1eK:�^3D1^3,ML��)�F3032X�UT3.&2K*�:<D&D&)�F3kQ*�2K03:M6�;QB1eK:-.&��)+DC:M`/B1eK:���)�F3032X�c)+D�D1e3)N��BC:<0²qJ��� � . 6���e3)+D'FK2MB{2JFbLN��\],/ÕM:<D�ß�2M.1D&T�2i2GL,MLNkM2M.�)NB1eb\ \�^3*�e��o,MDCBC:-.Páoq�:<*-,G^3D&:])NB&DET3.&2K*�:<D&D&)�FKkY2~RM:-.�\�2GDCBI��)�Fb032X��DE)+D�\5)�F3)�\],ML�ã&`�q8^3BI,ML+D&2�\],/ÕM:<D)NB]D�^3T�:-.1)N2M.�BC2 j3^bF30b,X� ,MLNkM2M.1)NB1e8\Y`�D1)�F3*�:dß�2M.�D&T�2i2GL[:��3,G\])�FK:<DQÏ&^3DCB�2JFK:yBC:��KB5*�e3,/.�,M*�BC:-.5��.&2J\ \�2GDCB��)�F3032X��D-`M��e3)+LN:�j3^8F30b,<�:��K,G\5)�FK:<D�,/B�LN:<,MDCB�Bm��236���� ���CÛ lyá����������� ����������8ã�,GFb0��Z^�,GF30ZF�,GFJq�:-.��vD� ���CÛ l � h/f ^3D&:²ß�2M.1D&T�2�2GL{,MLNkM2M.1)NB1e8\ )�F�\�2GDCBQ*-,MDC:<D-`�,MDE)NBE)+DE^3D1^3,ML+LN�dB1e3:²�o,MDCBC:<DCBE*�eK2G)+*�:])�F�T3.1,M*�B&)+*�:M6Ë�)NkJ^K.1: ��kG)NRM:<D�)NB&D�TbDC:X^30b2�*�2K03:M67�F ,MLNkM2M.1)NB1eb\5D²,/.1:yFK2MB�,<RM:-.�,/kM:�=Ñ2GT3B&)�\],MLá�B1eb,/B�)+D<` -]áo�ELN2Mk -�áo~�ã.&�~�ãCã&6g��e3)+D²)+D²:<D&T�:<*-)+,ML+LN�ÝFK2/=

B&)+*�:<,Mq8LN:P��e3:XF ic)+DD�\],ML+L'*�2J\]T8,/.&:<0�BC2�~�6�Ë32M.�:��3,G\]T8LN:M`�2JFgSIOQ4`%7 F ,MLNkM2M.�)NB1eb\]D�032�FK2MBD�e3)N�®B

Page 9: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

� �}~z�� �� áJz\[^]�]�] }:�Iv*[^]�]�] yEã

��} .G�6g�� � � . � ~��} c � æ! " " ~ � æ � � � � f � ~ ��câ � /� � ����� â ��~ �d���

� � ����� â ��~ �d� � � a$#�y �X � y � â � â � � � � a$#�y ��� v�[^]�]�] y %M[ X zba$#\[^]�]�] a$#�y %M[| � � � v 2K*-*<^K.1D!,/BWz�a$#\[^]�]�] a$#�yâ � â � � � � a$#�y

Ë�)NkJ^K.&: ��nAß�2M.1D&T�2�2GL�,MLNkM2M.1)NB1eb\ ��)NB1eYDCÕK)+TdLN2�2GTd)�F3*-L�^30b:<0�6

��)�F3032X��D!qJ�Y\�2M.1:QB1eb,GF � T�2GD&)NB&)N2JF3D�2JFY,<RM:-.1,/kM:M`�FK25\5,/BCBC:-.QeK2~� L+,/.&kM:�)+D{~�6;EFK:[�[,X��BC2E*-)N.1*<^b\�RM:XFJB�B1e3)+D���:<,/Õ3FK:<D&D')+D�BC2E,/.&B&)NÓ�*-)+,ML+LN��:XF3L+,/.1kM: B1eK: ,ML+T8e3,Mq�:-B-6%��e3)+D%�®2GLNÕKLN2M.&:!)+03:<,

eb,MDQq�:-:XFW.&:<)�FJRM:XFGBC:<0�DC:-RM:-.�,ML{B&)�\]:<D-`�DC:-:��®2M.Q:��K,G\5TbLN: � h�` � / `�� �� 6jK,X�dB1e3,/B-`�)�F3DCBC:<,M0�2M�A*�2JF3D1)+03:-.1)�FKkÏ&^3DCB[B1eK:EL+,MDCB ��)�Fb032X�à*�eb,/.1,M*�BC:-.!BC2]03:-BC:-.�\5)�FK:QB1eK:ED1e3)N��B-`��[:I.&:<,M0yB1eK:EL+,MDCB��*�e3,/.1,M*�BC:-.�Dá�B1e3,/B!)+D-`KB1eK:L+,MD&B ��)�F3032~��<=ÑkM.�,G\yã&6'��:T3.1:<T3.&2K*�:<D&D v DC2�B1e3,/B-`b��2M. :<,M*�eWT�2GD&D&)+qbLN:��X=ÑkM.1,G\Y`K�[:E.&:<*�2M.10Y)NB&D!D�\],ML+LN:<DCB08)+DCB&,GF3*�:5BC2�B1eK:]:XFb0g2M� B1eK:�Tb,/BCBC:-.�F�6d��e3:XF�`��[:�^3D&:Pß�2M.1D&T�2i2GLA,MD²^3D�^3,MLo6YO�2MBC:�B1e3,/B�[:PT8,<� -]á��Jã*�e3,/.1,M*�BC:-.I)�F3D&T�:<*�B&)N2JF3D BC25.&:<,M0W,��X=ÑkM.1,G\d6��eK:ADC:<,/.�*�eB&)�\�:�2M�3B1e3)+D{,MLNkM2M.1)NB1eb\�)+D�-5á�i� �� ~ ��� � &�\5)�F�áo~w� i� ~ãCã&`/D&2�B1eK:�2GTbB&)�\²^8\ )+D��HX�LN2Mk - ~

,GFb0WB1e3)+DQ�K)N:<L+0bDQB1eK:�,<RM:-.1,/kM:�=Ñ2GTbB&)�\],ML -5áo~ �,�ELN2Mk�-�áo~�ã.&�~�ã&6���eb)+D�)+DQB1eK:²BC:<*�ebFb)+��^K:]^3D&:<0�)�F � ���CÛ l��2M.!LN2JFKk]Tb,/BCBC:-.�F3D-6'ÌCFyT3.1,M*�B&)+*�:M`803:<T�:XF308)�FKk�2JF�B1e3:�,/.1*�e3)NBC:<*�B1^3.&:M`b2JFK:\5,<�5B&,/ÕM:�,M03R>,GFJB&,/kM:���.&2J\ÎB1eK:�o,M*�BIB1e3,/BIB1eK:�*�2J\]T8^3BC:-.��[2M.10�^3D1^3,ML+LN��*-,GF�e32GL+0�,��X=ÑkM.1,G\d`�,GFb0W.&:<,M0��X=ÑkM.1,G\5D�)�F�,yD&)�FKkGLN:]\5,M*�e3)�FK:)�FbDCBC.�^3*�B&)N2JF�`�DC2],MD!BC2]kM:-B�-]áo� &�~�ã�DC:<,/.�*�eYB&)�\]:M6

#"! +HO .�3�)�+�O Q ����%�O Q � �T-#3�7�� N�3�N4IFK2MB1eK:-.��[,X��BC2�DC:-:���eJ�²7 F )+D�F32MB�,<RM:-.�,/kM:�=Ñ2GT3B&)�\],ML�)+D�B1eb,/B�)NBAD1eb)N�®B&DAB1eK:!��)�F30b2X�|�PC C ��C CGÙ3`iB1eb,/B�)+D-`,MD9DC2�2JFP,MD�)NB[ÕKF32X��D[B1e3,/B9)NB[*-,GFPq�:�D1eb)N�®BC:<0�6AjK)�Fb*�:�B1e3)+D�2K*-*<^K.1D[,/�®BC:-.�-]á æ ã'*�2J\]T8,/.1)+DC2JF3D-`�B1eK:QTb,/BCBC:-.�F)+D�D1e3)N��BC:<0WDC2PB1e3,/B�)NBQ,ML+)NkJF3D�*�2M.1.&:<*�B&LN�d��)NB1e -]á æ ã���)�F3032X��*�e3,/.�,M*�BC:-.1D-`�,GF30dB1e3)+D�2�*-*<^3.1D!��2M.�,]D�e3)N�®B�2M�LN:XF3kMB1e -]á�i{ã&6�Ö{:-.�e3,MTbD!,]q8)NB!*�2J^bFGBC:-.�)�FGB1^3)NB&)NRM:<LN�M`�2JFK:�D1eK2J^3L+0y�9,M)NB�,�qb)NBQ\�2M.&:M64 RM:-.&�Ý:<LN:-kG,GFJBP,MLNkM2M.1)NB1eb\d`A��eb)+*�eU�9,MD�B1eK:YÓb.�DCB�)�FU,M*�e3)N:-RK)�FKk ,XRM:-.1,/kM:W2GTbB&)�\],ML+)NB�� áo,GF30�`A��)NB1e

D&2J\�:�\�2K0b)NÓ8*-,/B&)N2JF3D-`���2M.1D&B¡=�*-,MDC:g2GT3B&)�\5,ML+)NB��Þ,/BYB1e3:�D1,G\�:�B&)�\�:/ã�)+DY7[,M*1Õi�9,/.10 S�4��ÞH FW,/B&*�e3)�FKkáo79SHFgã � f æ `�qi��V[.&2K*�e3:X\�2M.&:�:-BQ,MLo6I��e3)+DQ,MLNkM2M.1)NB1eb\×*�2J\²qb)�FK:<D�B1eK:�^3DC:2M��,G^KBC2J\],/B&,P��)NB1eWÓ8LNBC:-.1)�FKkBC:<*�ebF3)+�K^K:<D-67[SHF T3.&:<T3.&2K*�:<D&DC:<D�B1eK:w�¡Û��>Û � �<Û&Ú�Tb,/BCBC:-.�F v��Wá�B1e3,/B�)+D-`*v .&:<,M0Uqb,M*1Õi�9,/.10bD�ãEDC2�,MD²BC2�q8^b)+L+0 ,GF

,G^3BC2J\],/BC2JF�B1eb,/B�.&:<*�2MkJF3)N;-:<D�:-RM:-.&��D1^KÍ���2M� v � 6]��e3)+D�)+D�*-,ML+LN:<0 B1eK:@��q sZÜ ��q �PC ����PCGÙ�2M��v � 65��eK:F32JF303:-BC:-.�\5)�F3)+DCB&)+*IRM:-.1D&)N2JFY2M�%B1eb)+D!,G^KBC2J\],/BC2JF�e3,MD!,�RM:-.1��.1:-kJ^3L+,/.�DCBC.�^b*�B1^K.&:5áoDC:-:Ë�)NkJ^K.1:²hJã&6

a r a c d b r ab a a1 2 3 4 5 6 7 8 9 11100

εεεεεε εεεεε

Ë�)NkJ^K.1:�hind4QFcOQËK4 BC2Z.&:<*�2MkJF3)N;-:dB1eK:dD�^KÍ��K:<D�2M� �������������������������].1:-RM:-.1DC:<0�6c��eK:Y)�F3)NB&)+,ML�DCB&,/BC:W)+D\5,/.&ÕM:<0y��)NB1e ��� ],GF30YB1eK:EÓ�F3,ML�DCB&,/BC:�)+D�032J^3qbLN:�=�*-)N.�*-LN:<0�6ASI,MD1eK:<0dL+)�F3:<D�*�2M.&.&:<D1T�2JFb0yBC2��-=ÑBC.1,GFbD&)NB&)N2JF3D-6

Page 10: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

��eK:�0b:-BC:-.�\])�F3)+D&B&)+*�RM:-.1D&)N2JF�2M��B1eb)+D�,G^KBC2J\5,/BC2JF�e3,MDI~ � æ DCB&,/BC:<DE,GF30u~ BC2Yf ~ :<03kM:<D<`�,GF30�*-,GFq�:�q8^3)+LNB�)�F -]áo~�ã�B&)�\]: � f æ 6]��2�,M*�e3)N:-RM:PB1e3)+D-`�B1e3:],G^KBC2J\],/BC2JFg\�^3D&BIq�:dØ�Ù�� C Wl �+Û ��Û�`%B1e3,/B)+D-`�2JFbLN�B1e3:,/.&.&2~��D!)�FyB1eK:�Tb,/B1ey��.&2J\ B1eK:�)�F3)NB&)+,ML�BC25,�Ó�Fb,ML�DCB&,/BC:�,/.&:.&:<T3.&:<DC:XFJBC:<0�6�ß�2X�[:-RM:-.<`�B1eK:SIËK4�0b2i:<DF32MB²e3,XRM:�,W.&:-kJ^3L+,/.�DCBC.�^3*�B1^K.1:5,GFG�3\�2M.1:M6yË�)NkJ^K.1:(�dD�eK2X��D�B1eK:�03:-BC:-.�\])�Fb)+DCB&)+*]D1^KÍ]��,G^3BC2J\],/BC2JFZ�®2M.2J^3.!.�^bFbFb)�FKk�:��3,G\]T8LN:M6

a r a c d b r ab a a1 2 3 4 5 6 7 8 9 11100

c c

b

d d

r

Ë�)NkJ^K.1:���n%4cSQËK4cBC2Q.&:<*�2MkJF3)N;-:9B1eK:[D1^KÍ��K:<D{2M�!�������������������������.&:-RM:-.1D&:<0�6'��eK:A)�F3)NB&)+,MLKDCB&,/BC:9)+D�\],/.&ÕM:<0��)NB1e ��� d,GF30�B1e3:�Ó�F3,ML'DCB&,/BC:<D�,/.&:]032J^3qbLN:�=�*-)N.�*-LN:<0�6 F�)+D&D&)�FKkdBC.�,GF3D&)NB&)N2JF3DEkM2WBC2W,gá@FK2JF�03.�,<��F�ã�D1)�FKÕD&B&,/BC:M6

jK)�F3*�:²B1eK:²,G^3BC2J\],/BC2JF�)+DI03:-BC:-.�\])�Fb)+DCB&)+*/`�B1eK:-.&:�)+D�2JFbLN�d2JFK:�,M*�B&)NRM:]DCB&,/BC:�,/BIB1eK:�B&)�\]:M6GFW2M.&:-2~RM:-.<`D1)�F3*�:�)NB�)+DQ)�F3*�2J\5TbLN:-BC:M`�)NBI\])NkJeJB�q�:EB1e3,/B�,/BQDC2J\�:T�2G)�FJB!B1eK:-.&:²)+D�FK2P,M*�B&)NRM:�D&B&,/BC:�,GFJ�K\]2M.&:M6���:�D&,X�)�FgB1e3)+D²*-,MDC:PB1eb,/BB1eK:�,G^KBC2J\],/BC2JF )+D�ÚiÛ �GÚ/6WÌ¡FgB1eK:�FK2JFb03:-BC:-.�\])�Fb)+DCB&)+*�RM:-.1D&)N2JF�`%B1eb)+D*�2M.&.&:<D1T�2JFb0bD�BC2eb,<RK)�FKk�,ML+L�DCB&,/BC:<DE)�Fb,M*�B&)NRM:M6�O�2MBC:�B1e3,/B-`�)N���[:��®:-:<0�B1eK:�D1^KÍ��W,G^KBC2J\5,/BC2JF���)NB1e�,PDCBC.�)�FKk3`�,/B�B1eK:²:XF30)NB���)+L+L�q�:E03:<,M0W)N��,GF30Y2JF3LN�y)N�%B1eK:DCBC.1)�F3k])+DÙ:C���,]D1^3qbD&BC.1)�FKk�2M�Bv��~6��eK:]D1^KÍ]��,G^KBC2J\5,/BC2JFZ)+D�^3DC:<0Z,MD�®2GL+LN2~��D-6���:PD&*-,GFgB1eK:5*�e3,/.1,M*�BC:-.1D²2M�9B1eK:]BC:��KB��)�Fb032X�Ô��.&2J\

.�)NkJeGB�BC2²LN:-��B�,GF30P��:-:<05B1eK:Q,G^KBC2J\],/BC2JF5��)NB1e]B1eK:�BC:��KB[*�e3,/.1,M*�BC:-.1D<`3^8FGB&)+L8:<)NB1eK:-.9B1eK:�,G^KBC2J\5,/BC2JF508)N:<D�2M.�[:².&:<,M0�,ML+L{B1eK:���)�F3032~��6!ÌCFYB1eK:²Ób.1DCB�*-,MDC:M`�B1eK:�D1^3Í��uS �E�[:²e3,XRM:².1:<,M0�)�FWB1eK:��)�F3032X� áo)�FW.&:-RM:-.1DC:2M.�03:-.<`JB1eb,/B�)+D-`i.1)NkJeGB�BC2²LN:-��B�ã%)+D[FK2MB�,�D1^3qbD&BC.1)�FKkE2M� v � `�eK:XFb*�:GS�)+D[FK2MB�,�D1^3qbD&BC.1)�FKkE2M� v�6'��e3)+D[\�:<,GF3DB1eb,/B�FK2Y2K*-*<^K.&.&:XF3*�:�2M��v *-,GFZ*�2JFGB&,M)�F S[`{,GF30�B1e3:-.&:-�®2M.1:]��:P*-,GF�D1e3)N��BEB1eK:���)�F30b2X�Ô.1)NkJeJB,/��BC:-.�B1eK:Ó8.1DCB�T�2GD&)NB&)N2JF�2M�{S[6PÌ¡F�B1eK:5DC:<*�2JF30 *-,MDC:M`%��:Peb,<RM:5.1:<,M0Z,ML+L�B1e3:���)�F3032~��`�2M� LN:XFKkMB1e ~�`%,GF30gB1e3)+D�)+DD&B&)+L+L�,²D1^3q8DCBC.1)�FKk�2M�\v�`KDC2���:Ee3,XRM:�,M*�B1^3,ML+LN�5.&:<,M0�v ,GF30y*-,GFP.&:<T�2M.&B�)NB ,GF30yD1eb)N�®B�B1eK:I��)�F3032~��qi�]2JFK:T�2GD&)NB&)N2JF�64�*�B1^3,ML+LN�M`'B1e3:P,MLNkM2M.1)NB1eb\ 032�:<D�q�:-BCBC:-.<6Yl�,M*�eZB&)�\�:]B1eK:�D1^KÍ��g,G^KBC2J\5,/BC2JF�.&:<,M*�eK:<D�,dÓ�Fb,ML�DCB&,/BC:

�[:².&:<*�2M.10�B1eK:��)�Fb032X� T�2GD&)NB&)N2JFd�[:�,/.&:.&:<,M08)�FKk36IjK)�Fb*�:B1eK:²,G^KBC2J\],/BC2JF�.&:<,M*�eK:<0�,]Ó�F3,ML{DCB&,/BC:M`�B1e3)+D\]:<,GF3D!B1eb,/B�B1eK:²D1^KÍ���S � .&:<,M0�)+D�,PD1^KÍ��Y2M�*v � `�eK:XFb*�:jS�)+D�,5Tb.&:-Ó3�Y2M�*v�6I;EF3*�:��:�e3,<RM:²BC2�D�e3)N�®BB1e3:Q��)�F3032X� áo)�F�:<)NB1e3:-.�*-,MDC:/ãA�[:E*-,GFYD1e3)N��B )NB9D&2],MD9BC2],ML+)NkJFY)NB&D!q�:-kG)�FbF3)�FKk²��)NB1e�B1eK:�LN2JF3kM:<DCBá�B1e3,/B!)+D-`L+,MD&B�ã[T3.&:-Ób�P2M�4vÔ.&:<*�2MkJF3)N;-:<0�)�FyB1eK:���)�F3032X�6�Ë%)NkJ^3.&: )+L+L�^3D&BC.1,/BC:<D-6

abracadabra

abracadabra

eda Ttext window

P

automaton dies

last prefix seen

shift

Ë%)NkJ^3.&: nAl��K,G\5TbLN:E2M�%79SHF ,MLNkM2M.1)NB1eb\ 2XRM:-.I,���)�F3032~� BC:-.�\5)�F3,/B&)�FKk])�F ���������>6ÌmB9)+D FK2MB9eb,/.10]BC2�DC:-:QB1e3,/B[B1eK:QTb.&2Gqb,Mqb)+L+)NBm�]2M��.&:<*�2MkJF3)N;<)�F3k],�D1^bqbDCBC.1)�FKk2M�Rv q�:<*�2J\]:<D�D�^KÍ5*-)N:XFJB&LN�

D�\],ML+L�,MDQDC2i2JFd,MD��[:�.&:<,M0 -]áoLN2Mk�-�~�ã�*�e3,/.1,M*�BC:-.1D-`�DC2]�[:D1eb)N�®B!B1e3:���)�F3032~��qi�(~ � -]áoLN2Mk�-�~�ã�,/��BC:-.

æ"/

Page 11: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

)�FbD&T�:<*�B&)�FKk -5áoLN2Mk - ~�ã�*�e3,/.1,M*�BC:-.1D<6 ß�:XFb*�:�B1e3:�,MLNkM2M.1)NB1e8\$)+D -]áo�ELN2Mk - áo~�ã.&�~�ã],<RM:-.1,/kM:gB&)�\]:M6 Ì¡F2M.�03:-.IBC2y\5,/ÕM:�)NB�-]áo�%ã9�[2M.1DCBE*-,MDC:�B&)�\�:M`�)NBI)+DE*�2J\�q8)�FK:<0W��)NB1e�,(? F�Ö \],M*�e3)�FK:²B1e3,/BI:XF3D1^K.&:<D�B1e3,/BF32]*�e3,/.1,M*�BC:-.�D�,/.&:.&:-BC.1,<RM:-.�DC:<0�6���e3)+D-`beK2X�[:-RM:-.<`�\],/ÕM:<D!B1e3:�,MLNkM2M.1)NB1eb\ D&LN2X�[:-.�)�FYTb.1,M*�B&)+*�:M6��eK:I.&:<,MDC2JFy�QeG�y79SGF e3,MD!F32MB kG,M)�FK:<0�\�^3*�eyT�2GT�^3L+,/.1)NB���)�FY,MTbTbL+)+*-,/B&)N2JFbD�)+D B1e3,/B-`32JFY2JFK:e3,GF30�`

)NB&D2GT3B&)�\],ML+)NBm�Zq�:<*�2J\�:<D�D1)NkJF3)NÓ8*-,GFJB�)�FgTb.1,M*�B&)+*�:52JF3LN����2M.LN2JFKk�Tb,/BCBC:-.�F3D�,GF30ZD�\],ML+L',ML+T8e3,Mq�:-B&D-`�,GF302JF�B1eK:�2MB1eK:-.de3,GF30�` B1e3:�*�2JF3DCBC.�^3*�B&)N2JF�2M�EB1eK:�SQËK4 )+D�.1,/B1e3:-.�*�2J\5TbL+)+*-,/BC:<0�6 ß�2~��:-RM:-.<`QB1eK:-.&:�,/.&:Bm��2�T3.1,M*�B&)+*-,ML[03:-RM:<LN2GT8\]:XFGB&D�B1e3,/B²)�FbeK:-.1)NB��®.&2J\ 79SGF )+03:<,MD�,GFb0Z,/.&:�,G\�2JFKkdB1e3:5�o,MDCBC:<DCB�T3.1,M*�B&)+*-,ML,MLNkM2M.�)NB1eb\]D-6��eK:YÓb.1D&B])+D579,M*&Õ��[,/.�0ÞO�2JF303:-BC:-.�\5)�F3)+DCB&)+*dS�4��ÞH�F�,/B&*�e3)�FKkàáo79O�SHFgã � �Gh `[qi�cO�,XR>,/.&.12 ,GF30

(�,/ÍPFK2MB-6I��eK:²)+03:<,P)+DQBC2Y^3DC:²B1eK:�D&,G\�:²7[SHF ,MLNkM2M.1)NB1eb\Y`�q8^KB�B1e3)+DQB&)�\�:²D&)�\�^3L+,/B&)�FKk�B1eK:²OQËK4 ��)NB1eq8)NB¡=�Tb,/.1,ML+LN:<L+)+D1\ )�F3D&BC:<,M0 2M�!q�^3)+L+0b)�FKk�B1eK:�SIËK4�6%4QD�*-,GFZq�:PD&:-:XF )�F Ë�)NkJ^K.&:dhi`'B1eK:yDCBC.�^3*�B1^K.1:52M� B1eK:OQËK4 )+D .1,/B1eK:-.�.&:-kJ^3L+,/.�,GF30d:<,MDC�yBC25D&)�\�^3L+,/BC:M6��:�[2M.&ÕY0b)N.&:<*�B&LN�Y2JF`v )�F3DCBC:<,M0�2M�%.1:-RM:-.1D&)�FKk5)NB-69ß�:XF3*�:B1eK:�âo=ÑB1edqb)NB�2M�%2J^3.�qb)NB�\5,MDCÕ �×��)+L+L�q�:

,M*�B&)NRM:I��e3:XFK:-RM:-.[D&B&,/BC:Iâ � æ )�F]B1eK:QO�ËK4 )+D[,M*�B&)NRM:M6A��:I032�FK2MB�.1:<T3.&:<DC:XFJBAB1eK:Q)�F3)NB&)+,ML�DCB&,/BC:Eq�:<*-,G^bDC:�)NB)+DI,M*�B&)NRM:�2JF3LN�d)�F�B1eK:²q�:-kG)�FbF3)�FKk3`�BC2y.&:<*�2MkJF3)N;-:�B1eK:�^bF3)�FJBC:-.&:<DCB&)�FKk�:X\]T3Bm�dD1^3qbD&BC.1)�FKk]2M��v]6���:�q8^3)+L+0B&,Mq8LN: � ,MDPq�:-�®2M.&:Y,GF30�)�F3)NB&)+,ML+)N;-:�� X æMæMæ! " " ~æ áo,ML+L æ �vD-ã&6�ß�:XFb*�:M`9^3T�2JFÝ.&:<,M08)�FKkg,gFK:-� ��)�Fb032X�*�e3,/.1,M*�BC:-. .~`b��:²^3T�0b,/BC:�� ,MD

� ��� � � � . ,GFb0Z,/B²B1e3)+D�T�2G)�FJB�[:P*-,GF *�eK:<*1Õ ,�*�2J^3TbLN:52M��*�2JF30b)NB&)N2JF3D-ndá æ ãE)N� � X / B1e3:XF�B1eK:y,G^KBC2J\],/BC2JFÝe3,MD08)N:<0�ä�á@fiã9)N� � æ X æ B1eK:XFd�[:�e3,<RM:�.&:<*�2MkJF3)N;-:<0�,�T3.&:-Ób�d2M�*v�6Q4���BC:-.QB1eb)+D��[:²Tb.&:<Tb,/.&: � �®2M.QB1eK:F3:���B!��)�F3032X� *�e3,/.1,M*�BC:-.IqJ�y.1)NkJeJB¡=�D1e3)N��B&)�FKk3n

� �� � k k æ 7[OQSHF )+DQ�o,MDCBC:-.EB1e3,GF�79SHF ,GF30�,M*�B1^3,ML+LN��B1eK:��o,MDCBC:<DCBE,MLNkM2M.1)NB1eb\ ��2M.ED1\],ML+L%,ML+T8e3,Mq�:-B&DI,GF30�FK2MB

RM:-.1� D1eK2M.1B�T8,/BCBC:-.�F3Ddá�:M6rk36+` ~�� æ"/ 2JFUSIO�4×,GF30�~�� � / 2JFcF3,/B1^K.1,ML9L+,GFKkJ^b,/kM:/ã&6Ý̧B�)+D]^3DC:<0c)�FOQ,<R/,/.&.&2 �vD h�����CÛ l � �Mf 6'ÌmB&D!��:<,/Õ3FK:<D&D-`8e32X�[:-RM:-.<`8)+D9B1e3,/B ��2M.!LN2JFKk]Tb,/BCBC:-.�FbD ��:�e3,XRM:�BC25^3T�0b,/BC:E\],GFJ�*�2J\5T8^KBC:-.��[2M.10bDABC2�D&)�\�^3L+,/BC:�)NB-6���e3)+D'B&)�\]:!B1eK:�BC.�)+*&Õ�2M��^3T�0b,/B&)�FKkE2JF3LN�],M*�B&)NRM:I*�2J\]T�^KBC:-.��[2M.10bDA0b2i:<DF32MB ��2M.&Õyq�:<*-,G^3DC:IB1eK:�,M*�B&)NRM:²DCB&,/BC:<D�0b)+D&BC.1)+q8^KBC:�^bF3)N��2M.�\5LN�]2XRM:-.�B1eK:EO�ËK4�68ß�:XFb*�:EB1eK:E2JF3LN�yT3.1,M*�B&)+*-,ML*�eK2G)+*�:P)+D�BC2WDC:<,/.1*�e���2M. v*[^]�]�] � ,GF30�0b)N.&:<*�B&LN��*�e3:<*&ÕgT�2MBC:XFGB&)+,ML�2�*-*<^K.1.&:XF3*�:<D-6]Ë�)NkJ^K.&: æ"/ kG)NRM:<D79OQSGFT8DC:X^3032K*�2�0b:M64QFK2MB1e3:-.�T3.1,M*�B&)+*-,MLi,MLNBC:-.�F3,/B&)NRM:9)+D�,MLNkM2M.1)NB1eb\�79,M*&Õ��[,/.10j;Q.1,M*-LN:/F�,/B&*�eb)�FKk²áo7W;HFgã � �� `>qJ�E4QL+L+,G^K;-:XF

:-BY,MLo6+`���e3)+*�e�.&:<TbL+,M*�:<DyB1e3:�D1^3Í���,G^KBC2J\],/BC2JF�qi��,GF C�� � � ��Û�6 ��eK:�2M.1,M*-LN:�)+Dy,GF�,G^KBC2J\],/BC2JFÞB1e3,/B.1:<*�2MkJF3)N;-:<D jCD�¡Û�B1e3,GF5B1eK:�D�^KÍ��K:<D�2M� v��>6'��eK:-.&:-��2M.&:�B1e3:�,MLNkM2M.1)NB1eb\Î\],/ÕM:<D[D1eK2M.1BC:-.�D1e3)N��B&D-6'ß�2X�[:-RM:-.<`B1e3: ��,M*�B�B1eb,/B'B1eK: 2M.1,M*-LN:�)+D'D1)�\]TbLN:-.'BC2�q8^b)+L+0�,GF30�D1\],ML+LN:-.[\],/ÕM:<D'7W;HF ��,MD&BC:-.A)�F�T3.1,M*�B&)+*�:�B1e3,GF�79SGFZ`,GFb0Y��,MD&BC:-.�B1e3,GFY79OQSHF ��2M.{~���f ��2M.�D&236V[2JF3DCBC.�^b*�B&)N2JF�2M��B1e3: 2M.1,M*-LN:���2M.�,�DCBC.1)�F3khS�)+D'.1,/B1eK:-.AD1)�\]TbLN: *�2J\]T8,/.&:<0�BC2�B1eK:!03:-BC:-.�\])�F3)+DCB&)+*9D1^3Í��

,G^3BC2J\],/BC2JF�6ȨBI.&:X\])�F308D!B1eK:�*�2JF3DCBC.�^3*�B&)N2JF�2M�AB1eK:��o,M)+L�^K.&:²BC.1,GF3D&)NB&)N2JFbDI�®2M.h? F�Ö%6RS�)+DETb.&2�*�:<D1DC:<0�LN:-�®BBC2P.1)NkJeJB�,GF30d��2M.!:<,M*�e�F3:-� *�e3,/.�,M*�BC:-. .QB1e3:Tb,/B1eY2M���o,M)+L�^K.&:<D�)+D!��2GL+LN2X�[:<0�6 49B�:<,M*�e�DCBC:<TW2M�%B1e3:Tb,/B1e�`,yFK:-��BC.1,GF3D&)NB&)N2JF���.&2J\ B1eK:²*<^3.&.&:XFJBQFK2K03:BC2yB1eK:�FK:-��Ó�F3,ML�FK2�0b:M`�L+,Mq�:<LN:<0�qJ� .~`�)+DI)�F3DC:-.&BC:<0�6�Ì¡FW2J^K..�^bFbF3)�FKk�:��3,G\]TbLN:M`3B1e3:E2M.1,M*-LN:�)+D�:<��^3,ML�BC2]B1eK:�D1^KÍ]�y,G^KBC2J\5,/BC2JF�6

#"*) "4)>N2+���'/O%Q ��� 7 +w5x-/.�3DO��.P)�jN�3 3 )&+�Q %��:-B²^3D²FK2X� ,MD&D1^8\�:]B1e3,/B���:��9,GFGB�BC2�DC:<,/.�*�eZ�®2M.�,WDC:-B�2M�!Tb,/BCBC:-.�F3D v�[ " " v � `�,ML+LA2M�!LN:XF3kMB1e ~ �®2M.D1)�\]TbL+)+*-)NBm�Ý2M�IT3.&:<D&:XFGB&,/B&)N2JF�6àj�:-RM:-.1,ML 2M�QB1eK:W,MT8T3.&2G,M*�e3:<D503:<D&)NkJF3:<0cBC2ZDC:<,/.1*�ec��2M.5,�D&)�FKkGLN:�Tb,/BCBC:-.�F*-,GF�q�::��KBC:XF303:<0�6�ÌCFdTb,/.&B&)+*<^bL+,/.<`�,G^KBC2J\],/B&,�,GF30�Ó8LNBC:-.1)�FKky,MTbT3.&2G,M*�eK:<DI*-,GF�q�:�kM.1,M*�:-�@^3L+LN�d:��KBC:XF303:<0�679)NB¡=�Tb,/.�,ML+LN:<L+)+D1\Y`{2JF�B1eK:�2MB1eK:-.�e3,GFb0�`�)+De3,/.108LN��^3DC:-�@^3L�q�:<*-,G^3DC:�B1eK:�.&:<D�^3LNB&)�FKkY,G^KBC2J\],/B&,W,/.&:�.1,/B1eK:-.L+,/.1kM:M`�,GF30deK:XFb*�:�:-RM:XFd0b)NRK)+0b)�FKk�B1e3:O�ËK4 ^3T�0b,/BC:IB&)�\�:�qi����)+DQFK2MB :XFK2J^KkJe�6

æMæ

Page 12: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

������� áJz\[^]�]�] }:�Iv*[^]�]�] y�ã

��} .G�6g�� � � . � /��} c � æ! " " ~ � � � � f � � � � f U�á æ ��� á c � æ ãCãâ � /� � ����� â ��~ �d���

� � á æ ���d~�ã � æc � ~�ä � � ~� � ����� � �X / �

� � � �� � � a$#2f c � c�� æ��� � æ �X /| � � ����� c k /

| � ��� � � c� ��z � v 2K*-*<^K.1D!,/B{z a$#\[^]�]�] a$#�y

� � � khk æâ � â � �

Ë%)NkJ^3.&: æ"/ n�79OQSGF ,MLNkM2M.�)NB1eb\Y6

;EFdB1e3:�B1eK:-2M.1:-B&)+*-,ML�D&)+03:M`�B1eK:²��2M.�DCBQ*-,MD&:�LN2~��:-.�q�2J^bFb0dBC2yB1eK:�T3.&2GqbLN:X\×)+DIDCB&)+L+L!*�áo�%ã9,GFb0�)NBI*-,GFq�:,M*�e3)N:-RM:<0���)NB1eW,GFW,G^KBC2J\5,/BC2JFW0�^K:�BC2y4QeK2�,GF30�V92M.1,MD&)+*&ÕÝáo4�V�ã � f `�^3D&)�F3k-]á�� ~�ã[Tb.&:<T3.&2K*�:<D&D&)�FKkB&)�\]:],GF30gD&T8,M*�:M6���e3:],<RM:-.1,/kM:y*-,MDC:PLN2~��:-.�q�2J^bF30�)+D *áo�ELN2Mk - á�� ~�ã.&�~�ã � f � ,GF30g)NB)+D�,M*�e3)N:-RM:<0Uqi�jK:-B979,M*1Õi�9,/.10YS!4{�ÞH�F�,/B&*�e3)�F3kWáÑjK79SGFgãA,MLNkM2M.1)NB1eb\ � � q8,MDC:<0�2JF5B1e3:I)+0b:<,MD92M�{79L�^b\�:-.[:-B ,MLo6 � æ �� `�Qe3)+*�eY)+D�D&)�\�^3LNB&,GFK:-2J^3D&LN� -5áo�%ã���2M.1D&B�*-,MDC:�B&)�\]:M6�ÌmB&D�T3.&:<T3.&2K*�:<D&D&)�F3k�B&)�\�:�,GF30YD&T8,M*�:)+D�,ML+DC2�-]á�� ~�ã&6jK)�F3*�:�qb)NB¡=�Tb,/.�,ML+LN:<L+)+D1\ )+D!2J^KBC.�^3LN:<0�`3B1e3:-2M.&��,GFb0YT3.1,M*�B&)+*�:�,/.1:FK2MB!DC2]�o,/.�,<�9,<�Y)�FyB1eb)+D!*-,MDC:M6�4QLNkM2/=

.�)NB1eb\Ô4�VQ`J��e3)+*�e5)+DA,GF]:���BC:XF3D1)N2JF]2M�M? F�Ö%`i)+D�F32MBA2JF3LN���[2M.1DCB¡=�*-,MDC:Q2GT3B&)�\],ML8q8^KB�,ML+DC2²B1eK:�q�:<DCBA*�eK2G)+*�:�QeK:XF(~ )+D D1\5,ML+L82M.��)+D[RM:-.&�PL+,/.&kM:M6[��eK:IDC:-B92M�{Tb,/BCBC:-.�F3D9)+D T3.&:<T3.&2K*�:<D&DC:<0yDC2�,MD9BC2�q8^3)+L+0y,²BC.1)N:E0b,/B&,D&BC.�^3*�B1^K.&:5áÑjK:<*�B&)N2JFWf�6 � ã�2JFd)NB-6O�:��KB-`�B1eK:BC.1)N:�)+DI,G^KkJ\�:XFJBC:<0���)NB1e # �MØ � q �CÛ��Nخ٠� ��`���e3)+*�eWT�2G)�FJB���.&2J\ :-RM:-.&�WT3.&:-Ób��S�BC2�B1eK:²F32�03:

.1:<T3.&:<DC:XFJB&)�FKkWB1e3:5LN2JFKkM:<DCB�D1^KÍ���2M�IS�B1eb,/B�)+D,ML+D&2�,dTb.&:-Ó3��2M� DC2J\�:5D&BC.1)�FKkW)�FZB1eK:5DC:-B-6Y��e3:]��eK2GLN:08,/B&,]DCBC.�^3*�B1^3.&:EB&,/ÕM:<D�-5á�� ~�ãAD&Tb,M*�:,GF30W*-,GFYq�:E:<,MD&)+LN�dq8^3)+LNB!)�F -5á�� ~�ã���2M.1D&B¡=�*-,MDC:B&)�\]:M6��eK:XF�B1eK:5,MLNkM2M.�)NB1eb\ �[2M.&ÕKDqi��DCB&,/.1B&)�FKkW,/B�B1eK:�.12i2MB�2M�[B1eK:]BC.�)N:5,GF30�D&*-,GFbFb)�FKkdBC:��KB*�e3,/.�,M*�BC:-.1D

2JF3:�qJ��2JFK:M6'̧�{B1eK:-.1:�)+D ,GFy:<03kM:�L+,Mq�:<LN:<0dqi�PB1eK:�*�e3,/.1,M*�BC:-.�.&:<,M0�`3�[:\�2XRM:�0b2X��FY)�F�B1e3:EBC.1)N:�qJ��B1e3,/B:<0bkM:M6/;QB1eK:-.&��)+D&:��[:I\]2XRM:IqJ��B1e3:��o,M)+L�^K.&:IL+)�FKÕ5,GF30PBC.&�],/kG,M)�FY^bFJB&)+L���:I*-,GFP�®2GL+LN2~� ,GF]:<03kM:Q2M.9��:I,/.&:,/B�B1eK:�BC.1)N:�.12i2MB!,/kG,M)�F�6[lA,M*�eYB&)�\�:E�[:,/.&.�)NRM:,/B�,]LN:<,/���[:�.&:<T�2M.&B!,GFy2K*-*<^K.&.&:XFb*�:M6

=J^3DCB�L+)NÕM:�? F�Ö�*-,GFq�:�D&:-:XF�,MD�,�D&Tb,M*�:�=Ñ:-Í5*-)N:XFJB%RM:-.1D&)N2JFE2M�b^3D1)�FKk!,�SIËK4ÝB1e3,/B�.&:<*�2MkJFb)N;-:<D4g � v�`/4�V*-,GF5q�:!DC:-:XF],MD�,D&Tb,M*�:�=Ñ:-ÍP*-)N:XFGB[RM:-.1D&)N2JF]2M��,�SIË�4�`J2M��D&)N;-:�-]á�� ~`i{ã&`JB1e3,/B�.&:<*�2MkJF3)N;-:<D g �Máov�[�U " " U v � ã&6��)NB1ey.1:<D&T�:<*�B BC2�Ó8LNBC:-.1)�FKk],MLNkM2M.1)NB1e8\]D-`3,MLNkM2M.1)NB1eb\ 7 F �9,MD :��KBC:XF303:<0Yqi�YV[2J\P\�:XFJBC;�=Ñ�g,MLNBC:-. � æ �D&2d,MD�BC2dq8^3)+L+0�,dBC.1)N:�2JF�B1eK:]DC:-B2M��.&:-RM:-.�DC:<0gTb,/BCBC:-.�FbD-`{D&*-,GF���)�F3032~��DI.1)NkJeJB�BC2WLN:-��B���e3)+LN:�:XFJBC:-.1)�FKkB1e3:�BC.1)N:I,/B�B1e3:�D&,G\]:!B&)�\�:M`K,GF305Tb.&:<*�2J\]T8^3B&)�FKkD1e3)N��B&D���2M.[:<,M*�eyFK2K03:�2M��B1eK:�BC.1)N:M6�4QLNB1eK2J^KkJePB1e3)+DA)+D9,GF:<LN:-kG,GFJBQ:���BC:XF3D1)N2JFd2M��B1eK:7 F )+03:<,K`�B1eK:�.&:<D�^3LNB&)�FKk5,MLNkM2M.1)NB1e8\ )+DQFK2MB�*�2J\]T�:-B&)NB&)NRM:�FK2X�9,M0b,<�KD-`�FK:<)NB1eK:-.)�FYB1eK:-2M.&�dFK2M.�)�FYTb.1,M*�B&)+*�:M6Ì¡F�T3.1,M*�B&)+*�:M`%,GF�)+03:<,�B1e3,/BE�[2M.&Õ�DI:��KBC.&:X\]:<LN�W�[:<L+L')+DIBC2Y:���BC:XF30�ß�2M.1D&T�2�2GL�,MLNkM2M.1)NB1eb\Y6²��e3)+DQB&)�\�:

^bD&)�FKk],GFY,ML+T8eb,Mq�:-B�2M� �X=ÑkM.1,G\5D )+D�\5,GF30b,/BC2M.&�M6A��eK:�)+03:<,])+D B1eb,/B�,ML+L�B1eK: �<=ÑkM.�,G\]D 2M��,ML+L�B1eK:�T8,/BCBC:-.�F3D,/.1:�*�2JF3D&)+03:-.&:<0�`8DC2�B1e3,/B!2JF3:E.&:<*�2M.10bD B1e3:�D1\],ML+LN:<DCB!08)+DCB&,GF3*�:q�:-B��[:-:XFd,GFJ��2�*-*<^K.1.&:XF3*�:�2M�%B1eK: �X=ÑkM.1,G\

æ f

Page 13: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

)�FÝ,GFJ�Z2M�!B1e3:�Tb,/BCBC:-.�F3D-`A,GF30ÝB1eK:�:XF30Ý2M�!B1e3,/B�Tb,/BCBC:-.�F�6g��eK:P.&:<D1^3LNB&)�FKk�,MLNkM2M.1)NB1e8\$á���Fgã � h �� `Aqi��Z^d,GF30`FW,GFiq�:-.<`K2Gq3B&,M)�F3D!,XRM:-.1,/kM:2GTbB&)�\],ML+)NB��Yqi�P*�eK2i2GD1)�FKk��HX�LN2Mk - á�� ~�ã&`K,GFb0Y)+D!,�RM:-.&�P,/BCBC.�,M*�B&)NRM:*�eK2G)+*�:M`Aq�:<*-,G^3DC:�2M��)NB&D�D&)�\5TbL+)+*-)NB��g,GF30 :-Í5*-)N:XF3*��M6�̧B²)+D²)�\]T8LN:X\�:XFJBC:<0Z)�F � �D�¡Û l�6�jK:-RM:-.1,ML9T3.1,M*�B&)+*-,ML*�2JFbD&)+03:-.1,/B&)N2JF3DQ,/.&:�\5,M03:�)�FY2M.�03:-.�BC2]:-ÍP*-)N:XFGB&LN��eb,GF30bL+)�FKk5L+,/.1kM:�,ML+T8e3,Mq�:-B&D-6���F )+D�)�FdT3.�,M*�B&)+*�:B1eK:�o,MDCBC:<DCB�,MLNkM2M.1)NB1eb\ :��K*�:<T3B���eK:XF ��)+D!RM:-.&�yL+,/.&kM:�2M.Ii�)+D!D1\5,ML+Lo6��)NB1eÝ.&:<D1T�:<*�B�BC2g\�:-.1kG)�FKk�,G^3BC2J\],/B&,�,GF30ÝÓ8LNBC:-.1)�F3k3`�B1eK:Y,<RM:-.1,/kM:�=Ñ2GTbB&)�\],ML�jK79SHF ,MLNkM2M.1)NB1eb\ )+D

,GFÝ,M*-*�:<T3B&,Mq8LN:d*�eK2G)+*�:M6ģB�)+D�qb,MDC:<0Ý2JF B1eK:�D1,G\�:y)+03:<,W2M�Q79SGFZ`�:��K*�:<TbB²B1eb,/B²B1eb)+D�B&)�\]:PB1e3:�D1^3Í��,G^3BC2J\],/BC2JFW.&:<*�2MkJF3)N;-:<DI,GFG�dD�^KÍ��Y2M��,GFG�dT8,/BCBC:-.�F�6!��e3)+D�,G^KBC2J\],/BC2JF�*-,GFdq�:²DC:-:XFd,MD�B1eK:BC.�)N:2M�'B1eK:T8,/BCBC:-.�F3D�,G^KkJ\�:XFJBC:<0Ý��)NB1eÝDC2J\�:�:��KBC.1,�:<03kM:<D�B1e3,/B�T�:-.�\])NBD&Õ�)+TbT8)�FKk�T8,/BCBC:-.�FÝT3.&:-Ó3�K:<D�DC2�,MD�BC2�kM20b2X��FY08)N.&:<*�B&LN�yBC25,GFG�yBC.1)N:²FK2�0b:M6ß�2~��:-RM:-.<`�,MLNkM2M.1)NB1eb\ j�:-BE7[,M*1Õi�9,/.10�;Q.1,M*-LN: F�,/B&*�e3)�FKkZáÑj37 ;hF�ã � � qi��4QL+L+,G^K;-:XF�,GF30�(�,/ÍPFK2MB-`

)+D�D&)�\]T8LN:-.�,GF30��o,MDCBC:-.<65��e3:])+03:<,W)+D-`%,/kG,M)�F�`%BC2�^3DC:5,GFg,G^KBC2J\],/BC2JFgB1e3,/B�.&:<*�2MkJF3)N;-:<D�\�2M.1:�B1e3,GF�B1eK:D�^KÍ��K:<D�2M�IB1eK:dTb,/BCBC:-.�F3D<6Þ��e3)+D5q�:XF3:-ÓbB&D��®.12J\ D&)�\]T8L+)+*-)NB��c,GF30Òq�:<*�2J\�:<D]��,MDCBC:-.PB1e3,GF�jK79SHFZ6���eK:*�2JFbDCBC.�^3*�B&)N2JF�2M��B1eK:�2M.1,M*-LN:�)+DPRM:-.&�ÒD&)�\5)+L+,/.PBC2 B1e3,/B�2M�EB1eK:�4�V ,G^KBC2J\],/BC2JFÞ,GF30�*-,GF�q�:W0b2JFK:�)�F-5á�� ~�ãAD&Tb,M*�:,GF30dB&)�\�:M6�jK7W;HF )+D B1eK:�q�:<D&B!,MLNkM2M.1)NB1eb\ ��2M.�D1\5,ML+L i�2M.�RM:-.&�YL+,/.&kM: �i6

#"�� "4)>N2+���'/O%Q ��� 7 +�� 7�����.P)21 jN�3 3�)�+�Q %4×\�2M.&:YDC2GT�e3)+DCB&)+*-,/BC:<0c��2M.�\ 2M�IDC:<,/.1*�eb)�FKkgT�:-.�\])NB&D²Tb,/BCBC:-.�F3D5*�2JFGB&,M)�FÒF32MB�2JF3LN� D&)�\5TbLN:Y*�e3,/.�,M*�BC:-.1D-`q�^KB�,ML+DC2 �¡��)+L+0W*-,/.108D�]2M�'0b) ��:-.&:XFJB�B��KT�:<D-`�D�^3*�eY,MD�áoâ¡ã9*-L+,MD&DC:<DQ2M�'*�e3,/.1,M*�BC:-.�DQL+)NÕM: ��� ��� ���'�IBC2�\5,/B&*�e�����>` ��� �52M. � ���/ä�áoâÑâCãI2GTbB&)N2JF3,ML *�e3,/.�,M*�BC:-.1D�2M.�*-L+,MD&DC:<D�L+)NÕM: ��� �>`���e3:-.&: �����y\],<�g,MT8T�:<,/.�2M.]FK2MB-ä,GFb0Uáoâ�âÑâ¡ã!.&:<T�:<,/B&,MqbLN:�*�eb,/.1,M*�BC:-.1DE2M.E*-L+,MD&DC:<DL+)NÕM: ����� �/`���eK:-.&: �����*-,GF�,MTbT�:<,/.Q;-:-.&2Y2M.�\�2M.&:²B&)�\�:<D-6��eK:<DC:W*-,GF�q�:W^bDC:<0cBC2g:��3T3.&:<D&D52MB1eK:-.5�[:<L+L!Õ3FK2~��FU��)+L+0Ò*-,/.�0bD5D1^b*�ec,MD � ����á��Qe3)+*�eÞ\],/B&*�e3:<D5,GFJ�*�e3,/.1,M*�BC:-.-ã&`�� � �²á���e3)+*�e�DCB&,GF30bD[��2M. � ��� �>ã&`Kq�2J^8F303:<0�LN:XFKkMB1ePkG,MTbD�áoD1^3*�ey,MD ,GFG��DCBC.1)�FKk²2M�{LN:XFKkMB1eYf�BC2� `���eb)+*�e�*-,GF�q�:²�!.1)NBCBC:XF�,MD � ������ �� �~ã&`�:-B&*/6E��e3)+DQ*-,GFWkM2Y,MDQ�o,/.Q,MDIT�:-.�\])NBCB&)�F3k5B1eK:�Tb,/BCBC:-.�F�BC2yq�:,GFJ��.&:-kJ^3L+,/.�:��KT3.1:<D&D&)N2JF�`�B1eb,/B)+D-`�D&)�\]TbLN:�DCBC.�)�FKkGD�,GF30g,GFJ�g^bF3)N2JF�`�.&:<T�:-B&)NB&)N2JFg,GF30g*�2JFb*-,/BC:XF3,/B&)N2JF 2M�.1:-kJ^3L+,/.�D1^bq�:��3T3.&:<D1D&)N2JF3D-64�DILN2JFKky,MD�*�2J\5TbLN:��WTb,/BCBC:-.�FbDQ,/.1:�.&:-kJ^bL+,/.�:��3T3.&:<D&D1)N2JF3D-`�B1eK:-�W*-,GF�q�:�*�2JFJRM:-.&BC:<0�)�FGBC2YSIËK4�DI,GF30

D&:<,/.1*�eK:<0 �®2M.d)�F -5áo�%ã�B&)�\�: ���� 6 ��e3)+DY)+DYB1eK:-2M.1:-B&)+*-,ML+LN� ,MTbT�:<,ML+)�FKkÒ,GF30�`��®2M.WD�^KÍ5*-)N:XFJB&LN��*�2J\5TbLN:��T8,/BCBC:-.�F3D-`%B1eK:�\]2GDCBT3.�,M*�B&)+*-,ML[*�eK2G)+*�:M6Wß�2X�[:-RM:-.<`�B1eK:�T3.&:<T3.12�*�:<D&D1)�FKkdB&)�\�:P,GF30ZD&T8,M*�:5.&:<�K^3)N.&:X\]:XFGB&D*-,GF�q�:²:��KT�2JFK:XFJB&)+,ML�)�F6~�6I4IFK2MB1eK:-.E,MLNBC:-.�F3,/B&)NRM:5)+DQBC2YD&)�\�^3L+,/BC:²B1eK:�,G^KBC2J\],/B&,�)�F�FK2JF303:-BC:-.�\])�F3)+DCB&)+*��2M.�\d`�2GqbB&,M)�F3)�FKk-5áo~@�%ãADC:<,/.1*�edB&)�\�: � ��� 6��eK:-.&:y,/.&:M`AeK2~��:-RM:-.<`[Tb,/.&B&)+*<^3L+,/.�*-,MDC:<D��QeK:-.&:yD&T�:<*-)+,ML+)N;-:<0cDC2GL�^KB&)N2JF3D²:��3)+DCB-6L;EFZB1eK:PB1e3:-2M.&:-B&)+*-,ML

D1)+03:M`iB1e3:-.&:�:��3)+DCB DC2GL�^KB&)N2JFbD�BC2�DC:<,/.�*�eP�®2M.9Tb,/BCBC:-.�FbD���)NB1eP*-L+,MD1DC:<D[2M��*�e3,/.�,M*�BC:-.1D ,GF30yD&)�\]T8LN:!��)+L+0y*-,/.10bD� f � ` � / ` æ 6A4QLNB1eK2J^KkJeYB1eK:-2M.&:-B&)+*-,ML+LN�W)�FJBC:-.&:<DCB&)�FKk3`�B1eK:<DC:,/.1:�FK2MB .&:<LN:-R/,GFGBQ)�FYT3.1,M*�B&)+*�:M67[)NB¡=�T8,/.1,ML+LN:<L+)+D1\Y`92JFÝB1eK:Y2MB1e3:-.Pe3,GF30�`A��)N:<L+0bD]:���BC.&:X\]:<LN� D&)�\5TbLN:Y,GF30U:-Í5*-)N:XFJB5DC2GL�^KB&)N2JFbD�BC2gB1e3)+D

ÕK)�F30�2M�9T3.&2GqbLN:X\5D-6�Ë32M.�:��3,G\]TbLN:M`{*-L+,MD&DC:<DE2M�[*�e3,/.1,M*�BC:-.�D,/.&:�:<,MD&)+LN��e3,GF308LN:<0�)�F�B1e3:Pj3e3)N��B¡=�4QF30 [ ,GF3079OQSHF ,MLNkM2M.1)NB1eb\]D<6'��:2JF3LN�YFK:-:<0YBC2�DC:-B B1eK:âo=ÑB1eWqb)NB � � . �®2M.�,GFG� .0�`v\a§6

;IT3B&)N2JF3,ML%,GF30�.&:<T�:<,/B&,MqbLN:�*�e3,/.1,M*�BC:-.�D�,/.&:�,Pqb)NBE\�2M.1:�*�2J\]T8L+)+*-,/BC:<0�6H��:-B�^3DQ,MD&D1^b\]:�[:��9,GFGBIBC2D&:<,/.1*�ed�®2M. ������������ ������������������/6�Ë�)NkJ^K.&: æMæ D�eK2X��D�,]O�ËK4�B1e3,/B�D&:<,/.1*�eK:<D��®2M.�)NB-6��:5D1eK2~��eK2X� BC2dD&)�\�^3L+,/BC:�B1e3)+D�OQËK4Î^3D1)�FKkWj3e3)N��B¡=�4QF30�6m;ITbB&)N2JF3,ML'*�e3,/.�,M*�BC:-.1D�,/.1:5\],/.&ÕM:<0�)�F�,

F3:-� qb)NB!\],MDCÕ -�`3��eK2GD&:Iâ@=ÑB1eYqb)NB )+D æ ��eK:XF3:-RM:-.Wv a )+D92GT3B&)N2JF3,MLo6[(!:<T�:<,/B&,MqbLN:*�e3,/.1,M*�BC:-.1D!,/.1:\],/.&ÕM:<0,MD�2GT3B&)N2JFb,MLQ)�F - ,GF30�,ML+DC2c)�F�,ZB&,Mq8LN:�� � . `���eK2GDC:�âo=ÑB1e�qb)NBy)+D æ ��eK:XF3:-RM:-.y*�e3,/.1,M*�BC:-. .W*-,GF�q�:.1:<T�:<,/BC:<0Ý,/B�T8,/BCBC:-.�FZT�2GD&)NB&)N2JF âC6YÌCF�2J^K.�:��K,G\5TbLN:M`0- X /�/3æ"/3æ"/�/3æ"/3æ"/ `�� � p�� p X /�/�/�/�/�/�/�/�/3æ"/ ,GF30� � p ��p X /�/�/�/3æ"/�/�/�/�/�/ ä�,ML+LKB1eK:92MB1eK:-.1D',/.&:9;-:-.&236���:!)+03:XFJB&)N�®�²)�F/-�*�2JFGB&)NkJ^32J^3D�qbLN2K*&ÕKD�2M� æ �vD�,GFb0�\5,/.&ÕB1e3:<)N.[)�F3)NB&)+,ML�,GF30�FK:���B¡=ÑBC2/=ÑÓ�F3,ML�T�2GD&)NB&)N2JFbD�)�FP\],MDCÕKD���,GF30���6�Ì¡F]2J^K.�:��3,G\]T8LN:M`�� X /�/3æ"/3æ"/�/3æ"/3æ"/ ,GF30�xX /3æ"/3æ"/�/3æ"/3æ"/�/ 6d��e3)+D*�2J\]TbL+)+*-,/B&)N2JFZ)+DFK:<*�:<D&D&,/.1��q�:<*-,G^3D&:�B1eK:-.&:]*�2J^3L+0gq�:]*�2JFJB&)NkJ^K2J^3D2GT3B&)N2JF3,ML

��� � !#"%$'&)(+*,!.-0/ 12$,"43�-5$768*0$7�9!.-:$7!.;<6>=9-'1@?:6A-5$7!CB�DE$71F$7� 6G-'!.;<H9I.68*�$71�68J H IK3�!./L� � !."K$'&�M+/�NPO

æ �

Page 14: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

a r a c d b r a

Σ

b a a0 1 2 3 4 5 6 7 8 9 1110

ε ε

b

ε ε

d

Ë�)NkJ^K.1: æMæ n'OQË�4 B1e3,/B[D&:<,/.1*�eK:<D[��2M. ������������ ������������������/6���eK:�)�F3)NB&)+,ML�DCB&,/BC:E)+D9\],/.&ÕM:<05��)NB1e���� ²,GF30B1e3:�Ó�F3,ML�DCB&,/BC:�)+D�032J^3q8LN:�=�*-)N.1*-LN:<0�6

*�e3,/.1,M*�BC:-.1D<6U��eK:d^3T�0b,/BC:y�®2M.�\�^3L+,���2M.5\],MDCÕ � ,/��BC:-.].&:<,M0b)�FKk�BC:��KB5*�eb,/.1,M*�BC:-..~`A�QeK:XF ��:dT�:-.�\5)NB2GTbB&)N2JF3,ML�,GF30y.1:<T�:<,/B&,Mq8LN:*�e3,/.�,M*�BC:-.1D-`�)+D!,MD!��2GL+LN2X��D

� � áCá�� ��� æ ãGU æ ã �� � . ã U�á�� � � . ã� � � U�� � � U�á - áCá �Ôá�� � �3ãCã#����ãCã

��:P032WFK2MB�,/BCBC:X\]T3B�BC2W:��KTbL+,M)�FZ,ML+L�B1eK:]0b:-B&,M)+L+D2M�9B1e3)+DE��2M.�\�^3L+,K`�q�^KB9ÏC^bDCBEBC2�D1e32X�ÔB1e3,/B�)NB)+D,.�,/B1eK:-.�D&)�\5TbLN:5DC2GL�^3B&)N2JFgBC2�,d*�2J\]TbLN:��ZTb.&2GqbLN:X\Y6PÌmB�*-,GFZq�:P^3D&:<0��®2M.²,�j3eb)N�®B¡=�4IF30K=�L+)NÕM:�D&*-,GFbF3)�FKkW2M�B1e3:]BC:���B�2M.��2M.�,�7[OQSHFY=�L+)NÕM:YDC:<,/.�*�e�6�Ì¡FgB1e3)+DL+,/BCBC:-.�*-,MDC:M`�B1eK:]��)�F3032X�ÎLN:XFKkMB1egD�eK2J^3L+0gq�:]B1e3,/B2M�B1e3:�D1eK2M.1BC:<DCB�T�2GD&D&)+q8LN:�2�*-*<^3.&.&:XF3*�:�2M�*v�`�,GF30W��eK:XFy�[:�,/.1.1)NRM:²,/B�B1eK:�q�:-kG)�FbFb)�FKk]2M�'B1eK:���)�F3032~��`bB1eK:Tb.&:<DC:XF3*�:�2M�9,GF�2�*-*<^K.1.&:XF3*�:])+D�FK2MBEkJ^3,/.�,GFGBC:-:<0�6�(�,/B1eK:-.<`�)N����:5e3,XRM:��®2J^8F30�,YTb,/BCBC:-.�F�T3.1:-Ó3��,/BEB1eK:q�:-kG)�FbFb)�FKk]2M�'B1eK:���)�F3032~��`8�[:�D1e32J^3L+0dRM:-.1)N���Y��eK:-B1e3:-.�,GFW2�*-*<^K.1.&:XF3*�:�D&B&,/.&B&D�,/BQB1e3,/BQT�2GD1)NB&)N2JF�6!��e3)+D)+D�032JFK:qi��D1)�\²^bL+,/B&)�FKk],GFd,G^KBC2J\5,/BC2JFYL+)NÕM:B1eb,/B!2M�%Ë�)NkJ^K.1: æMæ ��)NB1eyB1e3:)�F3)NB&)+,ML�D&:<LN��=�LN2�2GTd.&:X\]2XRM:<0�6Ì¡FWkM:XFK:-.1,MLo`��[2M.1DCB¡=�*-,MDC:�DC:<,/.�*�e�B&)�\�:�)+D�-]áo�%ã���2M.ED1eK2M.&BQTb,/BCBC:-.�F3DI,GF30#-]áo�M~ &(��ã �®2M.ILN2JFKkM:-.I2JFK:<D

^bD&)�FKkPq8)NB¡=�Tb,/.1,ML+LN:<L+)+D1\d6I4 7[OQSHFY=�L+)NÕM:]D&2GL�^KB&)N2JF�*-,GF�q�:�\�^3*�eW��,MD&BC:-.I0b:<T�:XFb0b)�FKk]2JF�B1eK:�D&)N;-:<DQ2M��B1eK:*-L+,MD1DC:<DA,GF30PFi^b\²q�:-.�2M��2GTbB&)N2JF3,ML8,GF30�.1:<T�:<,/B&,Mq8LN:�*�eb,/.1,M*�BC:-.1D-6'ÌCF�T3.1,M*�B&)+*�:M`iB1eK:<DC:�D&2GL�^KB&)N2JF3DA,/.1:!D&)�\]TbLN:,GFb0dT3.1,M*�B&)+*-,MLo`�,GF30YB1eK:-�Ye3,<RM:²q�:-:XFY)�\]TbLN:X\]:XFGBC:<0y)�F�Ù:�o�D�¡Û l � �Mf 6Ë8^3L+Lb.1:-kJ^3L+,/.A:��3T3.&:<D&D1)N2JF3DA,/.&:Q\�2M.&: .&:<D1)+DCB&,GFGB[BC2D&)�\5TbLN:!,MTbT3.12G,M*�eK:<D-6�jK:-RM:-.1,ML8L+)�FK:<D�2M��,/BCB&,M*&ÕPeb,<RM:

q�:-:XFWBC.1)N:<0�`�q�2MB1eW*-L+,MD1D&)+*-,ML',GF30�qb)NB¡=�Tb,/.1,ML+LN:<Lo`�BC2�2Gq3B&,M)�F�,PBC.1,M03:-2 �Uq�:-Bm��:-:XF�DC:<,/.�*�e�B&)�\�:²,GF30�D&Tb,M*�:M67[2MB1e�e3,<RM:²*�2JFGRM:-.&kM:<0�BC2-5áo~@� &%LN2Mk�YGãAB&)�\�:^3D1)�FKk�-]á�YGãAD&Tb,M*�: � � / ` � � 6Ë%)�Fb,ML+LN�M`8:-Í5*-)N:XFJB�DC:<,/.�*�e3)�FKk5�®2M.�\�^3LNB&)+T8LN:�*�2J\]TbLN:��YTb,/BCBC:-.�F3D�)+D!,GFY2GT�:XFyT3.12GqbLN:X\Y6

#"�� � � � +D7 1*O � N�3�) jN�3�3�)�+�Q 5xN 3 ��'�O%Q �4IF�:���BC.&:X\]:<LN��^3DC:-�@^3L!DC:<,/.�*�eÞ2GT3B&)N2JFÞ)�FÒBC:��KBP.1:-BC.1)N:-R>,MLQDC�KDCBC:X\]DP)+D5BC2U,ML+LN2X� ,ÝL+)�\])NBC:<0�Fi^b\²q�:-.���`2M�!08) ��:-.&:XFb*�:<D�q�:-B��[:-:XF Tb,/BCBC:-.�FLv ,GF30 )NB&D�2K*-*<^K.&.1:XF3*�:<D)�F z6Y��eK:5D&:<,/.1*�e T3.&2GqbLN:X\ R>,/.�)N:<D��)+0b:<LN�0b:<T�:XFb0b)�FKk�2JFy��e3,/B!)+D�*�2JF3D&)+03:-.1:<0d,��C0b) ��:-.&:XF3*�: K64�D&)�\5TbLN:E*�eK2G)+*�:²)+D BC25,MD&D�^b\�:IB1e3,/B�,�08) ��:-.&:XFb*�:)+D!,�D1^3q8DCB&)NB1^KB&)N2JFy2M�%2JFK:�*�eb,/.1,M*�BC:-.Qqi�y,GFK2MB1eK:-.<6

��eK:-.&:-��2M.&:M`��[:�,/.&:�T�:-.�\])NBCBC:<0ÞBC2U*�e3,GFKkM:g^3T�BC2���LN:-BCBC:-.1DY)�F v )�F�2M.�03:-.yBC2c\5,/B&*�e�)NBY)�F�,ZBC:��KBT�2GD&)NB&)N2JF�6!��e3)+D�Tb.&2GqbLN:X\ *-,GF�q�:�F3)+*�:<LN�dDC2GLNRM:<0�^3D&)�F3kPqb)NB¡=�Tb,/.�,ML+LN:<L+)+D1\Y`�,GF30W)NBQ�[,MDQ)�FY�o,M*�B�2JF3:2M�'B1eK:Ó8.1DCB9:���BC:XFbD&)N2JF3D9BC2Pj3e3)N��B¡= ;Q.<`3qi�P79,/:-;<,>=@?A,/BC:<DE,GF30dHQ2JFbF3:-B-`8D1eK2~��)�FKk�B1eK:ET�2MBC:XFGB&)+,ML�2M�%B1eK:E,MTbT3.12G,M*�e�� 6

��:-B^3DI.&:<*�2JFbD&)+03:-.EB1eK:]OQËK4 2M�9Ë�)NkJ^K.&:5f�6�4���BC:-.�e3,XR�)�FKkY.1:<,M0�BC:���B�T�2GD&)NB&)N2JF�c3`�DCB&,/BC:Pâ!)+DE,M*�B&)NRM:�QeK:XFK:-RM:-.#v [^]�]�] a \],/B&*�eK:<D\z f%>a$#\[^]�]�] f 6���e3)+D%B&)�\�:M`GLN:-B�^3D�*�2JF3D&)+03:-.'B1eb,/B%:<,M*�e�DCB&,/BC:!â�)+D�FK2MB'D&)�\5TbLN��,M*�B&)NRM:2M.')�F3,M*�B&)NRM:M`iq8^KB�B1eb,/B%)NB�.&:X\]:X\�q�:-.1D{eK2X�c\],GFJ��*�e3,/.�,M*�BC:-.1D'0b) ��:-.�q�:-Bm��:-:XF v�[^]�]�] a�,GF30hz>f%>a #\[^]�]�] f/6�l�RM:-.1�B&)�\]:AB1eK:[*�2J^bFJBC:-.�,/B�DCB&,/BC: ~ 0b2i:<D�FK2MB%:��K*�:-:<0��`/��: e3,XRM:[,GF�2K*-*<^K.&.&:XF3*�:���)NB1e�,/B�\]2GDCB��\])+D1\5,/B&*�eK:<D-6

;E^K.Yqb)NBW\],MD&Õ � eK2GL+08D@~ *�2J^8FGBC:-.1D<` . y " " . [<`���2M.Y:<,M*�e 2M���e3)+*�e��[:�eb,<RM:gBC2c.&:<D&:-.&RM:��,X��LN2Mk 1 áo~ � æ ã �]qb)NB&D-6���:]T3.&:<*�2J\5T8^KBC:�,�q8)NBE\5,MDCÕdB&,MqbLN:�2M�[*�2J^bFJBC:-.1D�� � . `��QeK2GDC:�âo=ÑB1e�*�2J^bFJBC:-.E��)+L+Lq�: / )N�/vRa*X .�,GFb0 æ 2MB1eK:-.&��)+DC:M6�ß�:XFb*�:M`�,/�®BC:-.I.&:<,M0b)�F3k�BC:��KBE*�e3,/.�,M*�BC:-.�.��[:²*-,GF�^bT�08,/BC:�� D&)�\5TbLN�

æ �

Page 15: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

qi�y032G)�FKk� � á�� ��� �>ã � � � .

�Qe3)+*�eP\�2XRM:<D�:<,M*�eP*�2J^bFJBC:-.�BC2�B1eK:QF3:���BAD&B&,/BC:Q,GF30P,M0b0bD�,²FK:-��\5)+D1\],/B&*�e�)N��,MTbT3.&2GTb.1)+,/BC:M6�4���BC:-.A:<,M*�eF3:-� BC:���B�*�e3,/.1,M*�BC:-.I)+D�Tb.&2�*�:<D1DC:<0�`3�[:�.&:<T�2M.&B ,GFY2K*-*<^K.&.&:XFb*�:E��eK:XFK:-RM:-.���khk áo~ � æ ã ��� ��6��eK:Q.&:<D1^3LNB&)�FKk�,MLNkM2M.1)NB1e8\ )+D *-,ML+LN:<0�j3e3)N��B¡=�4�080�`�,GFb0�)NB9B&,/ÕM:<D -5áo�%ã'��2M.1D&B¡=�*-,MDC:EB&)�\�:Q2JFyD1eK2M.&B9Tb,/B¡=

BC:-.�F3D{,GFb0 -5áo~@�ELN2Mk�~�ã�)�FkM:XF3:-.1,MLo6'4�*�B1^3,ML+LN�M`J��)NB1eD1L+)NkJeGB&LN��\�2M.&:[*�2J\]TbLN:���*�2K03:M`M)NB�)+D%T�2GD&D1)+qbLN:ABC2�^3DC:2JFbLN����LN2Mk 1 á �,�Ýfiã �qb)NB&D9��2M. B1eK:�*�2J^bFJBC:-.1D-`3BC2�2GqbB&,M)�FY,²��2M.1D&B¡=�*-,MDC:*�2J\]T8LN:��K)NBm��2M��-]áo~@�ELN2Mk ��ã&6A��e3)+DBC:<*�ebF3)+�K^K: ��� �9,MDEL+,/BC:-.�*�2J\²qb)�FK:<0���)NB1e�79OQSGF qi��OQ,<R/,/.&.&2W,GF30�(�,/ÍPFK2MB � �Gh `�,GF30�B1e3:².1:<D1^3LNB&)�FKk,MLNkM2M.�)NB1eb\ )+D�B1eK:E��,MD&BC:<DCB�)�FYTb.1,M*�B&)+*�:M64�\]2M.&:Q)�FJBC:-.&:<DCB&)�F3k5*-,MDC:M`�eK2~��:-RM:-.X`8,/.1)+DC:<D �QeK:XF�0b) ��:-.1:XF3*�:<D!*-,GFyq�:�FK2MB 2JF3LN�P*�e3,/.1,M*�BC:-.�.&:<TbL+,M*�:�=

\]:XFGB&D<`8q8^KB!,ML+DC2�)�F3DC:-.&B&)N2JFbD�,GF30d0b:<LN:-B&)N2JF3D-69��e3)+D!T3.12GqbLN:X\ e3,MD!.&:<*�:<)NRM:<0�,]LN2MB�2M�',/BCBC:XFJB&)N2JF�D1)�F3*�:�B1eK:D1)Ð��B&)N:<D!q�:<*-,G^3D&:E2M�%)NB&D!\�^3LNB&)+TbLN:\]2MB&)NR>,/B&)N2JFbD!)�FyD&)NkJF3,ML�T3.12�*�:<D&D1)�FKk3`b*�2J\]T8^3B&,/B&)N2JF3,ML�qb)N2GLN2MkM�M`�,GFb0PBC:��KB.1:-BC.1)N:-R>,MLo6[4 �@^3L+L�.&:<*�:XFJB�D�^K.&RM:-��2JFyB1eK:D1^bqKϧ:<*�B!)+D � � æ 6��eK:I*-L+,MD&D&)+*-,ML�DC2GL�^KB&)N2JFPBC2�B1e3)+D9T3.&2Gq8LN:X\Y`iqi��j�:<L+LN:-.�D � � æ `3)+D�BC2�Ó8L+L�,�\],/BC.1)Ð� � 2M�R~ � æ .12X��D9,GF30

�� æ *�2GL�^b\5FbD-`�D1^b*�eWB1e3,/B � a�� f )+D�B1eK:�\5)�F3)�\�^b\ F�^b\²q�:-.!2M�A0b) ��:-.&:XF3*�:<DIFK:<*�:<D&D&,/.1�dBC2Y*�2JFGRM:-.&BHv [^]�]�] a)�FJBC25,]D�^KÍ��P2M�BzB[^]�]�] fM6'̧B!B1^K.�F3D92J^3B!B1e3,/B � a�� �WX�âC` � ��� fIX / `8,GF30

� a #\[�� f�#\[ X \5)�F�á æ � � a�� f #\[�� æ � � a$#\[�� f ����áov\a^� z2fMã2� � a�� f>ã�QeK:-.&:��á�R���8ã�)+D / )N� uX��d,GF30 æ 2MB1e3:-.&��)+DC:M6I��e3)+DQkG)NRM:<DE,GF -]áo~@�%ã9��2M.1D&B¡=�*-,MDC:]DC:<,/.1*�e�,MLNkM2M.�)NB1eb\Y`�Qe3)+*�e�FK:-:<0bD�2JF3LN� -5áo~�ã9D&T8,M*�:²q�:<*-,G^3DC:²2JF3LN�YB1eK:�T3.&:-RK)N2J^3DQ*�2GL�^b\5FW2M� � FK:-:<0bDQBC2yq�:²DCBC2M.&:<0���eK:XF�[:E\�2XRM:QBC2�B1eK:EFK:���B[BC:��KB[T�2GD&)NB&)N2JF�6�4 D&)�\]TbLN:�B���)+D&B[qi�5a�ÕiÕM2JFK:XF � � � 2Gq3B&,M)�F3D�-5á � �%ã�,XRM:-.1,/kM:EB&)�\�:M6��eK:<DC:���2M.�\ B1e3:�DC2/=�*-,ML+LN:<0 �C*-L+,MD&D&)+*-,ML Y,MLNkM2M.�)NB1eb\]D��®2M.�B1eK:�T3.12GqbLN:X\Y`8,GFb0YB1eK:-�d,/.&:²DCB&)+L+L{^bFbTb,/.1,ML+LN:<LN:<0)�F��b:��K)+q8)+L+)NB��Y��eK:XFy)NB�*�2J\�:<D BC2]BC2PDC2GLNRM:²\]2M.&:E*�2J\]TbLN:��dT3.&2Gq8LN:X\]D-6

��:-B�^3D���^b)+*&ÕKLN�².1:-R�)N:-�ÞB1eK:�*<^K.&.1:XFGBAD&B&,/BC:�2M��B1eK:�,/.&BA.&:-kG,/.10b)�FKkB1e3)+DAT3.12GqbLN:X\ ��.&2J\ B1eK:!B1e3:-2M.&:-B&)+*-,MLD1)+03:Mn

) ��eK: �[2M.1DCB¡=�*-,MDC:Q*�2J\]TbLN:��3)NB���)+D,*áo�%ã&`G��e3)+*�e�*-,GF�q�:!,M*�e3)N:-RM:<0�qi��^3D1)�FKkE,�SIË�4�08^3:[BC2�a�Õ�ÕM2JFK:XF� � � B1e3,/B�D&:<,/.1*�eK:<D�®2M.tv ,ML+LN2X��)�F3k ��0b) ��:-.&:XF3*�:<D-6]ß�2X�[:-RM:-.<`�B1e3)+DI.&:<�K^3)N.&:<DE:��3T�2JFK:XFJB&)+,ML�D&Tb,M*�:2JF`~�`b,MD�D1eK2X�QFy)�FyB1eK:D&,G\]:�Tb,MT�:-.<6

) ��eK:Q��2M.�DCB¡=�*-,MDC:*�2J\5TbLN:��K)NBm��^3D1)�FKk�D&Tb,M*�:ET�2GLN�KFK2J\5)+,ML�)�F(~ )+D ^bFKÕ3FK2X�QF�6'��eK:Iq�:<D&B9,MLNkM2M.�)NB1eb\]D,/.&:3-5á � �%ãAB&)�\�:M`3��2M.!:��3,G\]TbLN:�qi�YHE,ML+)+L�,GF30dÖ�,/.&Õ � fGh 6

) ��eK:²,<RM:-.1,/kM:�=�*-,MDC:�*�2J\]TbLN:��3)NB���)+D�-5áCá �3�ÒLN2Mk - ~�ã%� &�~�ã&`�,MDIT3.12XRM:<0�qJ��V e3,GFKk�,GF30uF�,/.&. � æ � 6Ì¡F]B1eK:�D1,G\�:�,/.1B&)+*-LN:Q,GFP,MLNkM2M.1)NB1eb\���)NB1e]B1e3,/B[*�2J\5TbLN:��3)NB��])+D�kG)NRM:XF�`K�®2M. ��&�~ � æ & � � -5á�i %M[�� 1 ã&6Ì¡F�T3.1,M*�B&)+*�:M`�Ï&^3DCB�L+)NÕM:²��2M.QD&)�\5TbLN:DCBC.�)�FKk�\5,/B&*�e3)�FKk3`�B1eK:²q�:<DCB�*<^K.1.&:XFGBQDC2GL�^KB&)N2JF3DQ,/.&:�qb,MDC:<0�:<)NB1eK:-.

2JFdqb)NB¡=�Tb,/.1,ML+LN:<L+)+D1\ 2M.!2JFdÓ8LNBC:-.1)�FKk36

��������� w���| ��Z�3|X���eK:�OQËK4��®2M.9,MTbT3.&2X�K)�\5,/BC:�DC:<,/.�*�e3)�FKk²2M��2J^K.9Tb,/BCBC:-.�F �������������������������T�:-.�\5)NBCB&)�FKk � Xàf0b) ��:-.&:XF3*�:<D*-,GF�q�:�D&:-:XF�)�F�Ë�)NkJ^K.&: æ f�6Q��eK:-.&:�,/.&: �3� æ .&2X��D-`�;-:-.12�BC2 ��6I(!2X� ;-:-.&2y)+DQ:��K,M*�B&LN��,MDI)�F�Ë�)NkJ^K.1:�f�`��2M.!:��3,M*�B�DC:<,/.�*�e3)�FKk36�(!2X� �².&:<T3.&:<DC:XFJB&D�e3,XR�)�F3k5\],/B&*�e3:<0d,]T3.&:-Ób�P2M�4vÔ��)NB1e �²0b) ��:-.&:XF3*�:<D-6 �':-.&B&)+*-,ML,/.1.&2X��D)�F3DC:-.&B�,Y*�e3,/.1,M*�BC:-.�)�FTv á�2M.DCÕK)+Tg,Y*�e3,/.1,M*�BC:-.�)�Fuz�ã&6�SI)+,/kM2JF3,ML�,/.1.&2X��D�\�2XRM:�:<)NB1e3:-.�qi�TgQ`�Qe3)+*�e�.&:<TbL+,M*�:<D',Q*�eb,/.1,M*�BC:-.�2M�:v�qi��B1e3,/B�2M�2z`M2M.'qi� �G`M��eb)+*�e²032�:<D�F32MB%*�2JF3D�^b\�:[,GFG��BC:��KB�*�eb,/.1,M*�BC:-.<`D&2]B1e3)+D!03:<LN:-BC:<D²áoDCÕK)+TbD�ã�,]*�e3,/.1,M*�BC:-.I)�F@v�64�LNB1eK2J^3kJeyB1e3)+D!,G^KBC2J\5,/BC2JFd*-,GFYq�:\5,M03:E03:-BC:-.�\])�Fb)+DCB&)+*/`3B1eK:SIËK4�F3:-:<0bD :��3T�2JF3:XFGB&)+,ML�D1Tb,M*�:,GF30

B&)�\]:�BC2dq�^3)+L+0�`�DC2yB1e3)+DQ2GT3B&)N2JF�)+DEFK2MB�T3.�,M*�B&)+*-,MLo6�jK)�\�^3L+,/B&)N2JF�)�F�FK2JF30b:-BC:-.�\])�F3)+D&B&)+*��2M.�\ .&:<�K^3)N.&:<D-`�)�FTb.1)�F3*-)+TbLN:M` -5áo~ � �%ãAB&)�\�:M`3��eb)+*�eY)+DQFK2MB!,/BCBC.1,M*�B&)NRM:�*�2J\]Tb,/.1:<0yBC2]B1eK:*-L+,MD&D1)+*-,ML�-]áo~@�%ãAD&2GL�^KB&)N2JF�6

æ �

Page 16: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

a r a c d b r ab a a0 1 2 3 4 5 6 7 8 9 1110

a r a c d b r ab a a0 1 2 3 4 5 6 7 8 9 1110

a r a c d b r a

Σ

b a a0 1 2 3 4 5 6 7 8 9 1110

Σ

Σ Σ Σ Σ Σ Σ

Σ Σ Σ Σ Σ Σ

Σ Σ Σ Σ Σ Σ

Σ Σ Σ Σ Σ

Ë�)NkJ^K.1: æ f�nAO�ËK4�B1e3,/B!DC:<,/.�*�eK:<D ��2M. �������������������������!T�:-.�\5)NBCB&)�FKk�^bTyBC25f�*�e3,/.1,M*�BC:-.I)�F3DC:-.1B&)N2JF3D-`b03:<LN:�=B&)N2JFbD[,GFb0PD1^bqbDCB&)NB1^KB&)N2JF3D<6���eK:Q)�Fb)NB&)+,ML�DCB&,/BC:E)+D \],/.1ÕM:<0 ��� K6AaIF3L+,Mq�:<LN:<0PBC.1,GF3D&)NB&)N2JF3D!\]2XRM:IqJ� g��Pp��MsG6

7[)NB¡=�T8,/.1,ML+LN:<L+)+D1\Y`8e32X�[:-RM:-.<`3*-,GFPq�:Q,MTbTbL+)N:<0PBC2�D&2GLNRM:QB1eb)+D�T3.12GqbLN:X\ )�F5R/,/.1)N2J^3D[�[,X��D<6���eK:�D1)�\]TbLN:<DCB�9,<�M` qi�Z�Z^c,GFb0dFW,GFiq�:-. � h �� `�)+D]BC2�:���BC:XF30�j3e3)N��B¡=�4QF30UDC2g,MD]BC2ZD&)�\�^3L+,/BC:Y:<,M*�eÒ,G^KBC2J\],/BC2JFU.12X�D&:<Tb,/.1,/BC:<LN�M66��:-B�^bD,MD&D1^8\�:]B1e3,/B�qb)NB�\],MDCÕ �0a!D&)�\�^3L+,/BC:<D�B1eK:Pâo=ÑB1e .&2~��2M� B1e3:POQË�4�6�ß�:XF3*�:M`A^bT�2JF.1:<,M0b)�FKk�,�F3:-��BC:��KB *�e3,/.�,M*�BC:-. .~`�B1e3: �0a�R/,ML�^K:<D *-,GFyq�:Q^bT�08,/BC:<05BC2 � pa ^3D1)�FKk�B1e3:���2GL+LN2X��)�F3k��®2M.�\�^3L+,Kn

� p� � áCá5� ����� æ ãGU æ ã �� � . � pa$#\[ � áCá5�0a$#\[���� æ ã �� � . ãGU�0aWU�á5�0a���� æ ãHU�á5� pa ��� æ ãGU æ

�Qe3)+*�e�D&)�\�^3L+,/BC:<DE,ML+L�B1e3:�08) ��:-.&:XFJB�,/.&.&2~��DE)�F�B1eK:�OQË�4�`�,MDE)NB�*-,GF�q�:�:<,MD1)+LN��RM:-.�)NÓb:<0�6���e3)+DIDC2GL�^KB&)N2JF)+DED1)�\]TbLN:�,GF30 �b:��3)+qbLN:�,GF30�)+DE)�\]T8LN:X\�:XFJBC:<0�)�F � ���CÛ l�,GFb0 �����CÛ l�6Z;EF�D1eK2M.&BETb,/BCBC:-.�F3DE)NB�)+D�-]á � �%ã�[2M.1DCB¡=�*-,MD&:B&)�\�:M`b,GFb0 -]á � �e~ &(� � �%ã[)�FYkM:XF3:-.1,MLo64Þ�o,MDCBC:-.9,MLNkM2M.1)NB1eb\d`iqi��79,/:-;<,>=@?A,/BC:<D�,GF30]OQ,<R/,/.&.&2 � æMæ `i*<^KB&DAB1eK:�OQËK4�qJ��0b)+,/kM2JF3,ML+D[.1,/B1e3:-.AB1e3,GF

qi��.&2X��D<6A��eK:�)�FJBC:-.&:<DCB&)�FKk�T3.&2GT�:-.&Bm�52M��B1e3)+D!Tb,/.1B&)NB&)N2JF3)�FKk5)+D�B1e3,/B�0b) ��:-.&:XFJB�0b)+,/kM2JF3,ML+D�032PFK2MB!03:<T�:XF302JFPB1eK:I*<^K.&.1:XFGB�R>,ML�^K:I2M��:<,M*�e�2MB1eK:-.�áoL+)NÕM:I.&2X� �Gpa$#\[ 03:<T�:XF30bDA2JFP.&2X� �Gpa `���e3)+*�e�T3.&:-RM:XFJB&D[*�2J\5T8^KB&)�FKkB1e3:X\�)�F�Tb,/.�,ML+LN:<L�ã&6�ß�:XF3*�:E,ML+L�B1eK:Q08)+,/kM2JF3,ML+D!*-,GF�q�:QTb,M*1ÕM:<0d)�F�,�D&)�FKkGLN:E*�2J\]T8^3BC:-.��[2M.10�6���eb)+DA�K)N:<L+0bD,P�[2M.1DCB¡=�*-,MDC:�B&)�\]:2M� -5á ��� ~ &(��� �%ã&`���eb)+*�eW2JF�D�eK2M.&B�T8,/BCBC:-.�F3DI)+DE\²^b*�eW��,MDCBC:-.IB1e3,GFWB1eK:�D&)�\�^3L+,/B&)N2JFqi��.&2X��D<`8,GF30d*<^K.1.&:XFGB&LN�y)+D B1eK:��,MDCBC:<D&B�qb)NB¡=�Tb,/.1,ML+LN:<L{DC2GL�^KB&)N2JFd�®2M.�D�eK2M.&B!Tb,/BCBC:-.�FbD-67[)NB¡=�T8,/.1,ML+LN:<L+)+D1\ eb,MD'q�:-:XF²,ML+DC2^bDC:<0²BC2�D&)�\�^3L+,/BC:9B1eK: T3.&2K*�:<D&D&)�FKkI2M��\5,/BC.1)Ð� � )�F3D&BC:<,M0�2M��B1eK: OQËK46

V92JF3DC:<*<^KB&)NRM:�R/,ML�^K:<D�2M� � 0b) ��:-.�2JF3LN�YqJ��� æ `bDC2]:<,M*�eW\5,/BC.1)Ð�y*�2GL�^8\5Fy*-,GFdq�:I.&:<T3.1:<DC:XFGBC:<0�^3D&)�FKk5f ~q8)NB&D-6GFW�M:-.1D � � � ^3DC:<0�B1e3)+DQT3.&2GT�:-.&Bm�YBC2y0b:<D&)NkJF�,GFW,MLNkM2M.1)NB1e8\×��eK2GDC:�*�2J\]TbLN:��3)NB���)+D -5á �e~ &(��� �%ã�)�FB1e3:�[2M.1DCB�*-,MD&:²,GF30 -]á � ~ &(��ã[2JF�,<RM:-.1,/kM:M6Q4�D�B1e3)+DQ)+D�,GFd2GT3B&)�\],ML{D&T�:-:<08^3TY2~RM:-.IB1eK:�q�:<DCB�*-L+,MD1D&)+*-,ML,MLNkM2M.�)NB1eb\]D-`�)NBE)+D�^bFbL+)NÕM:<LN��B1e3,/BIB1e3)+DE*�2J\5TbLN:��3)NB���)+DE)�\5T3.&2~RM:<0�qJ�W,GFJ��2MB1eK:-.�qb)NB¡=�Tb,/.1,ML+LN:<L',MLNkM2M.�)NB1eb\Y6ß�2X�[:-RM:-.<`�2JFYD1eK2M.1B!Tb,/BCBC:-.�F3D-`8B1eK:�0b)+,/kM2JF3,MLÐ=Ñ��)+D&:�D&)�\�^3L+,/B&)N2JFd2M�{B1eK:�O�ËK4 )+D!,/.&2J^bFb0 æ ��� �o,MDCBC:-.<6

��������� � ���®|>}X�3| �� �4�D&)�\5TbLN: ��2GLNÕ�LN2M.&:IT3.&2GT�:-.&Bm��2M��,MTbTb.&2<�3)�\],/BC:QDC:<,/.1*�eb)�FKk�)+DAB1e3,/BA)N�Mv�)+D�D&TbL+)NBA)�FJBC2 � � æ Tb)N:<*�:<D-`�B1eK:XF],/BLN:<,MD&B�2JFK:QTb)N:<*�:�*-,GFP,MTbT�:<,/.[^8F3,MLNBC:-.&:<0�)�F3D&)+03:�,GFJ�],MTbT3.12<�3)�\],/BC:!2K*-*<^K.&.&:XFb*�:�2M� v�`�D&)�F3*�: �50b) ��:-.&:XF3*�:<D*-,GF8FK2MB,MLNBC:-.�\]2M.&:�B1e3,GF ��Tb,/BCBC:-.�FgTb)N:<*�:<D-65��e3:XF�`�\�^3LNB&)+Tb,/BCBC:-.�F�D&:<,/.1*�e���2M.�B1eK: � � æ Tb)N:<*�:<DE2M� vT�2G)�FJB&DQ2J^KBQ,ML+L%B1eK:�T�2MBC:XFGB&)+,ML%2K*-*<^K.&.&:XFb*�:<D�2M�/v�6E4�L+L{B1eK2GDC:�*-,GF30b)+08,/BC:²T�2GD&)NB&)N2JF3DI,/.&:²RM:-.1)NÓb:<0���)NB1e�,*-L+,MD1D&)+*-,ML�2M.Qqb)NB¡=�Tb,/.1,ML+LN:<L{,MLNkM2M.1)NB1eb\Y6��eK:]\�^3LNB&)+Tb,/BCBC:-.�F�DC:<,/.�*�e�B&,/ÕM:<DB&)�\�: -]á � �ELN2Mk - áo~�ã.&�~�ã�^3D1)�FKkY,GF�,<RM:-.1,/kM:�=Ñ2GTbB&)�\],MLA,MLNkM2M.�)NB1eb\Y6

��eK:YB&)�\�:d��2M.]RM:-.1)NÓ�*-,/B&)N2JF3DPD&B&,<�KD�FK:-kGL+)NkG)+q8LN:�,MD5LN2JF3kZ,MD�� � ~ &Ká � LN2Mk�-/~�ã&6Þ��e3)+D�)+0b:<, e3,MD]q�:-:XF^bDC:<0�D&:-RM:-.1,ML�B&)�\�:<D-`�\]2GDCBQTb.&2J\])�FK:XFJB&LN�d)�F � �D�¡Û lÝáoDC:-: � h �� ã&6�̧BQ)+DID&)�\5TbLN:²BC2y)�\5TbLN:X\�:XFJB�,GFb0W�K)N:<L+0bD:��KBC.&:X\]:<LN�P�o,MDCB�,XRM:-.1,/kM:²D&:<,/.1*�edB&)�\�:�)�Fd\]2GDCB!T3.1,M*�B&)+*-,ML{*-,MDC:<D-6

æ �

Page 17: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

ß�2~��:-RM:-.<`�B1eK:²,Mq�2~RM:],MLNkM2M.1)NB1eb\ e3,MDI,�L+)�\])NBQ2M�A,MTbTbL+)+*-,Mqb)+L+)NBm��B1eb,/BITb.&:-RM:XFGB&D�^bD&)�FKkP)NBI��e3:XF ��&�~q�:<*�2J\]:<D�BC2�2�L+,/.&kM:M6/FW2M.&:-2XRM:-.X`bB1e3)+D L+)�\])NB9)+D!F3,/.&.12X�[:-.[��2M.!D1\5,ML+LN:-. i%6���e3)+D�)+D<`3�®2M.9:��3,G\]TbLN:M`KB1eK:I*-,MDC:)�FÝDC:-RM:-.�,ML!*�2J\]T8^3B&,/B&)N2JF3,ML9qb)N2GLN2MkM�Ý,MT8TbL+)+*-,/B&)N2JF3D-6ÝÌ¡F B1e3)+D�*-,MDC:M`[B1eK:y2GT3B&)�\5,ML�,MLNkM2M.1)NB1e8\ qJ�cV e3,GFKk,GFb0�FW,/.1. � æ � q�:<*�2J\�:<D ,5T3.1,M*�B&)+*-,ML�*�eK2G)+*�:M6A̧B�*-,GFYq�:^3D&:<0W^3TyBC2���&�~ � æ & � � -]á�i %M[�� 1 ã[,GF30We3,MD2GTbB&)�\],ML',<RM:-.�,/kM:�*�2J\5TbLN:��K)NBm�Òá@eK2X�[:-RM:-.<`�)NB)+DFK2MB,MD���,MDCB�,MD�Tb,/.&B&)NB&)N2JFZ)�FGBC2 � � æ Tb)N:<*�:<D��eK:XF�B1eK:L+,/BCBC:-.²*-,GF�q�:�,MTbTbL+)N:<0�ã&6���eK:<)N.�)+03:<,Y)+D,GF�)�\]T3.12XRM:X\�:XFJBQ2M�[T3.1:-R�)N2J^3DE,MLNkM2M.�)NB1eb\]DEB1eb,/B^3DC:��X=ÑkM.1,G\]Dá���2M.!:��3,G\]TbLN: � � � ã&6��e3)+D ,MLNkM2M.1)NB1eb\ �[2M.&Õ�D�,MD �®2GL+LN2~��D-6[��eK:EBC:��KB�)+D!0b)NRK)+03:<0Y)�FJBC25*�2JF3DC:<*<^KB&)NRM:�qbLN2K*&ÕKD 2M��LN:XFKkMB1eZáo~ �

��ã.&/f�69jK)�F3*�:�,GFJ�]2K*-*<^K.&.&:XFb*�:�2M�Rv�)+DA2M�{LN:XFKkMB1e5,/B9LN:<,MDCB ~ � ��`i,GFJ�]2K*-*<^K.&.&:XF3*�:Q*�2JFGB&,M)�FbD ,/B[LN:<,MDCB[2JFK:*�2J\5TbLN:-BC:qbLN2K*&Õ�6A4 F�^b\²q�:-.�²)+D!*�eK2GDC:XF�`8)�Fd,��[,X�YB1e3,/B ��)+L+L�q�:\5,M03:E*-LN:<,/.QDC2�2JF�6��eK:�Tb.&:<T3.&2K*�:<D&D&)�FKk52M�*v�*�2JF3D1)+DCB&D�)�F�*�2J\]T�^KB&)�FKk3`b��2M.�:-RM:-.1�WDCBC.1)�FKk@SU2M��LN:XFKkMB1e �i`8B1e3:²\])�Fb)�\²^8\

F�^b\²q�:-.�2M��0b) ��:-.&:XF3*�:<D�FK:-:<03:<0 BC2�Ó�F30 S�)�F3D1)+03: v�6�Ö�.&:<T3.12�*�:<D&D1)�FKkWB&)�\]:P)+D/-]áo~`i ãI,GFb0ZD&Tb,M*�:y)+D-5á�i� <ã&6��eK:�D&:<,/.1*�e�DCB&,/kM:�T3.&2K*�:-:<0bDQ,MDQ�®2GL+LN2~��D-6EË32M.I:<,M*�e�BC:��KBQq8LN2�*1Õ��`�)NB&DI*�2JF3DC:<*<^3B&)NRM: �X=ÑkM.1,G\5D�� [^]�]�] `

� #\[^]�]�] 1 ` " " ,/.&:].&:<,M0Z2JFK:5qi��2JF3:M`%,GF30gB1eK:<)N.²\5)�F3)�\�^b\ 08) ��:-.&:XFb*�:<D�BC2�\5,/B&*�e�B1e3:X\ )�F3D&)+0b:Zv ,/.&:,M*-*<^8\²^bL+,/BC:<0�6���e3)+D�)+D[*�2JFJB&)�Fi^K:<0y^bFJB&)+L{áoâ¡ã%B1eK:�,M*-*<^8\²^bL+,/BC:<0P0b) ��:-.&:XF3*�:<DA:��K*�:-:<0 ��`�)�F]��eb)+*�e]*-,MD&:�B1eK:*<^3.&.&:XFJB�qbLN2K*&Õ5*-,GF8FK2MB q�:�*�2JFGB&,M)�FK:<0Y)�F�,GF52�*-*<^3.&.&:XF3*�:M`K,GF30P��:I*-,GFPkM2²2JF5BC2²B1eK:IF3:���B9qbLN2K*&Õ�ä�áoâ�â¡ã'��:.1:<,M*�eYB1e3:�:XF30y2M��B1eK:qbLN2K*&Õ�`8)�Fy�Qe3)+*�eY*-,MD&:�B1eK:qbLN2K*&ÕY)+D RM:-.�)NÓb:<0�6ÌmB�)+D�D1eK2X�QF�B1e3,/B�2JF²,<RM:-.�,/kM: 2JFK:�:��3,G\])�F3:<D�-5á ��& � � æ ã �<=ÑkM.�,G\]D%T�:-.�qbLN2K*&Õ�`GDC2�-]á � � �Jã�*�e3,/.�,M*�BC:-.1D

,/.1:�:��K,G\5)�FK:<0�6 ;EF�B1eK:�2MB1e3:-.�e3,GF30�` �P\�^3DCBEq�: *�áoLN2Mk�-�~�ã�DC2dB1eb,/BEB1eK:5T3.&2Gq8,Mqb)+L+)NB���2M��RM:-.�)N�®�K)�FKkW,q8LN2�*1Õ�)+DELN2X� :XF32J^KkJe�6��eb)+D��K)N:<L+0bDI2~RM:-.1,ML+L�B&)�\�: -]áCá � ��LN2Mk - ~�ã%� &�~�ã9��2M. ��&�~ � æ & � ��-]á�i %M[�� 1 ã&`��)NB1eYD&Tb,M*�:T�2GLN�3FK2J\])+,ML�)�F`~�6Ë32M.PB1e3:WD&,G\�:dL+)�\5)NB]2JF���&�~�` ,GFK2MB1eK:-.�T3.1,M*�B&)+*-,MLQ,MLNkM2M.1)NB1eb\ )+D]2Gq3B&,M)�F3:<0�qi�U*�2J\²qb)�Fb)�FKkg,gqb)NB¡=

T8,/.1,ML+LN:<L�,MLNkM2M.1)NB1e8\ ��)NB1eW,]79O�SHF D&*�eK:X\�:M`�,MD�032JFK:�qJ�YOQ,<R/,/.&.&2P,GFb0d(�,/ÍPF32MB � �Gh ,GFb0dß�����.��25,GF30OQ,<R/,/.&.&2 ��� h 6Ë32M.e3)NkJeK:-. ��&�~ .1,/B&)N2GD<`{FK2�kM2i2K0�Ó8LNBC:-.1)�FKkY,MLNkM2M.1)NB1e8\ :��K)+D&B&D-`�,GF30�B1eK:�2JF3LN��*�eK2G)+*�:])+DBC25.&:<DC2M.&B!BC2P*-L+,MD&D&)+*-,ML�2M.QT8^K.&:Eqb)NB¡=�T8,/.1,ML+LN:<L�,MLNkM2M.1)NB1e8\]D-6

��������� ��� | ����z��� �{z(�:<*�:XFGB&LN�M`8B1eK:E,<RM:-.1,/kM:�=Ñ2GT3B&)�\5,ML�.&:<D1^bLNB&D���2M.!,MTbT3.12<�3)�\],/BC:IDCBC.1)�FKk�\],/B&*�e3)�FKk���:-.1:Q:��KBC:XF303:<0�BC2�DC:<,/.1*�e�=)�F3k���2M. �PT8,/BCBC:-.�F3DIqJ��Ë3.&:<03.�)NÕ�D&D&2JF�,GFb0�O�,XR>,/.&.12 � f � 6��eK:-��D1eK2X�[:<0�B1e3,/BIB1eK:�,<RM:-.�,/kM:P*�2J\]T8LN:��K)NBm�2M�[B1eK:5Tb.&2GqbLN:X\ )+D -5áCá �/�ÞLN2Mk -�á�� ~�ãCã%� &�~�ã&`%,GF30�2Gq3B&,M)�FK:<0 ,GF�,MLNkM2M.1)NB1eb\ ,M*�eb)N:-R�)�FKkWB1e3,/B*�2J\]T8LN:��i=)NBm�M6���e3)+DE)+DD&)�\5)+L+,/.�BC2dB1eK:P,MLNkM2M.1)NB1eb\ ��2M.�2JFK:PTb,/BCBC:-.�F�`{:��K*�:<T3B�B1e3,/B��X=ÑkM.1,G\5D�,/.&:5T3.1:<T3.&2K*�:<D&DC:<0�DC2,MD²BC2�Ó�F30 B1eK:<)N.]\])�Fb)�\²^8\ Fi^8\�q�:-.�2M��0b) ��:-.&:XF3*�:<D�,M*�.&2GD&D�,ML+L[B1eK:yTb,/BCBC:-.�F3D�)�F B1eK:yDC:-B-6���e3)+D²B&)�\�:�HX�]áoLN2Mk - á�� ~�ãCã&6A��eK:-��D�eK2X�[:<0dB1e3,/B�B1eK:E.&:<D1^3LNB�)+D�^3DC:-�@^3L�)�FYT3.�,M*�B&)+*�:M6��eK:�2MB1eK:-.]*�eK2G)+*�:WBC2�,M0803.&:<D&D²B1e3)+D�T3.&2Gq8LN:X\ )+D�BC2�Tb,/.1B&)NB&)N2JFU:<,M*�eUTb,/BCBC:-.�FU)�FZB1e3:yD&:-B�)�FJBC2 � �

æ Tb)N:<*�:<Dy,GF30�DC:<,/.1*�e���2M.PB1eK: �3á �� æ ã�Tb)N:<*�:<Dy)�FcB1eK:�DC:-B-` RM:-.1)N����)�F3k :<,M*�eÞT8)N:<*�:�2K*-*<^K.&.&:XFb*�:W��2M.�,*�2J\5TbLN:-BC:�2K*-*<^K.&.&:XF3*�:�2M��B1eK:gTb,/BCBC:-.�FbDY*�2JFGB&,M)�F3)�F3kÒB1eK:gTb)N:<*�:M6 ��eK:�DC:<,/.�*�e�B&)�\]:�)+D�FK2MBy2GT3B&)�\],MLo`-5á � �ELN2Mk�-�á���~�ã.&�~�ã&`�q8^KB )NB�)+D�B1eK:�q�:<DCB!)�FYT3.1,M*�B&)+*�:��®2M.�LN2X� ��&�~ R>,ML�^K:<D<64�TbTb.&2<�3)�\],/BC:dDC:<,/.�*�e3)�FKk 2M�Q*�2J\5TbLN:��cTb,/BCBC:-.�F�eb,MD]q�:-:XFU,M0b03.&:<D&D&:<0ÒqJ�UOQ,<R/,/.&.&2Z)�F �����CÛ l�`!qi�

*�2J\²qb)�Fb)�FKkWj3e3)N��B¡=�4QF30�,GF30�79OQSHF ��)NB1e�B1eK:�.&2X�!=Ñ��)+DC:]D&)�\�^3L+,/B&)N2JF�2M��B1eK:]OQË�4�B1e3,/BE.&:<*�2MkJFb)N;-:<D v�6l�,M*�ed.&2X� 2M��B1eK:�O�ËK4 FK2X��.&:<*�2MkJF3)N;-:<DQ,]*�2J\]TbLN:��YTb,/BCBC:-.�F`v�6Ë%)�Fb,ML+LN�M`8,MTbT3.&2X�K)�\5,/BC:QD&:<,/.1*�e3)�F3k²2M�{.&:-kJ^3L+,/. :��3T3.&:<D&D1)N2JF3D9*-,GFyq�:Q032JFK:E)�F -]áo~@�%ã�B&)�\�:I,GF30 -]áo~�ã

D1Tb,M*�:M`�,MD[D1eK2~��F]qi� FW�M:-.1D9,GF30 F�)+L+LN:-. � � � `�,GFb05)�F�kM:XF3:-.1,ML�)�F-]áo~@� &%LN2Mk YMã%B&)�\�:�^bD&)�FKk -5á�YMã�D&Tb,M*�:M`,MD�D1eK2~��FyqJ�y�Z^y:-B�,MLo6�,GF30YOQ,<R/,/.&.&2 � h �K` � �� 6

æ h

Page 18: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

� É ��"�������" ������� ��� �������1���

ÌCFWB1e3)+DIDC:<*�B&)N2JF���:�.&:-RK)N:-� B1eK:�\],M)�FWBC:<*�ebF3)+�K^K:<DQBC2d\],M)�FJB&,M)�F�,GF�)�Fb03:��d2XRM:-.�B1e3:�BC:��KB-`�BC2�D1T�:-:<0�^3TD&:<,/.1*�eK:<D<6%4QD�:��3TbL+,M)�FK:<0�`>B1eK:�BC:��KB%\�^3D&B�q�:�D�^KÍ5*-)N:XFJB&LN��DCB&,/B&)+*�á���:-�Z2M.�FK2�*�eb,GFKkM:<D�2~RM:-.%B&)�\]:/ãbBC2�Ï&^3DCB&)N���)�Fb03:��K)�F3k3`{,MD�\5,M)�FGB&,M)�Fb)�FKkd,GFg)�F30b:���)+D�*�2GD&B&LN�g*�2J\]Tb,/.&:<0gBC2W,dD&)�FKkGLN:PDC:<,/.1*�e�6P��eK:]q�:<DCB�*-,GFb0b)+0b,/BC:<D��2M.�)�F303:��3)�FKkY,/.&:��@^3L+LN��D&B&,/B&)+*�BC:���B&DD1^3*�e�,MD�eb)+DCBC2M.1)+*-,ML�0b,/B&,Y,GFb0�0b)+*�B&)N2JF3,/.1)N:<D-`{q8^KBE)�F303:��3)�FKkY)+DE,ML+DC2,MT8TbL+)N:<0YBC2].1,/B1e3:-.Q\�2M.1:I0b�KF3,G\5)+*I0b,/B&,]L+)NÕM:B1e3:E��:<q�08^3:QBC2P)NB&D�L+,/.&kM:�RM2GL�^b\�:M6

)�"%$ ��Q�9�)21 j7RO QR3 %ÌCFPDC:<��^3:XFGB&)+,ML�DC:<,/.�*�e3)�FKk��[:Q,MD1D1^b\�:<05B1e3,/B9B1eK:E^3DC:-.9�[,GFJBC:<0�BC2�Ó�F30�,GFG�5D�^3qbDCBC.1)�F3k2M��B1eK:QBC:��KB-6A��e3)+D�9,MD!q�:<*-,G^3DC:EB1e3:�,MLNkM2M.1)NB1eb\]D�,/.&:FK2MB .1,M0b)+*-,ML+LN�Y0b) ��:-.&:XFJB!)N�{B1eb)+D!)+D�FK2MB B1eK:�*-,MD&:M6Aß�2~��:-RM:-.X`�)�F30b:��K)�FKkD1*�eK:X\]:<D!03:<T�:XF30d\�^3*�eY\]2M.&:E2JFyB1eK:E.1:-BC.1)N:-R>,ML%\�2K03:<Lo`3DC2]�[:Tb,X�yD&2J\�:E,/BCBC:XFGB&)N2JF�BC2]B1e3:�)+D&D1^K:�F32X��6S�:<T�:XF308)�FKkY2JF�B1eK:].1:-BC.1)N:-R>,ML�FK:-:<0bD-`{B1eK:5^3DC:-.�\�^3D&BI0b:-Ó�FK:���e3)+*�e�T�2GD&)NB&)N2JF3DE2M�[B1eK:]BC:��KB���)+L+LAq�:

)�Fb03:���:<0�6�l�RM:-.1�ZT�2GD&)NB&)N2JFgB1eb,/B�\�^3D&Bq�:P)�F303:��K:<0Ý)+D²*-,ML+LN:<0c,GFÞØ�Ù8ÚJÛ&Ü�� l2CMØ®Ù:�o6 ;�F3LN��BC:���B�D1^bqbDCBC.1)�FKkGDD&B&,/.&B&)�FKkd,/B�)�F303:���T�2G)�FGB&DI��)+L+L�q�:��®2J^8F30�qJ��B1eK:]DC:<,/.1*�e�6²Ëb2M.�:��K,G\5TbLN:M`�)N�AB1e3:�^bDC:-.E�[,GFJB&DEBC2dDC:<,/.�*�e2JFbLN�Y�®2M.���eK2GLN:��[2M.10bD�2M.QT8e3.1,MDC:<D-`bB1e3:XFd)�F303:��dT�2G)�FJB&D���)+L+L�q�:�)�F3)NB&)+,ML��[2M.10�T�2GD1)NB&)N2JF3D-6{;EFYB1e3:�2MB1eK:-.eb,GF30�`3)N��B1eK:�^3D&:-. �[,GFJB&D BC2�Ó�F30y,GFJ�PD1^bqbDCBC.1)�FKkYá���2M.!:��K,G\5TbLN:E)�Fy,�SQOQ4�0b,/B&,Mqb,MDC:/ã&`bB1e3:XF�:-RM:-.&�PBC:��KBT�2GD&)NB&)N2JFd)+D�,GFY)�F30b:��yT�2G)�FJB-6AË�)NkJ^K.&: æ � D�eK2X��D�,]Tb)N:<*�:�2M��BC:��KB-`b��)NB1eY,]T�2GD&D1)+qbLN:�DC:-B!2M��)�F303:���=�T�2G)�FGB&D-6

1 4 7 10 14 29 38 43 46 50 5532262320

to be at the beach or to be at work, that is the real question $

1: to be at the beach or to be at work, that is the real question4: be at the beach or to be at work, that is the real question7: at the beach or to be at work, that is the real question10: the beach or to be at work, that is the real question......55: question

Suffixes

Index points

Text

Ë�)NkJ^K.&: æ � nA4IFy:��3,G\]TbLN:E2M�')�F30b:��i=�T�2G)�FJB&D!,GF30YB1eK:<)N.�D1^KÍ��K:<D-6

aQF30b:-.QB1e3:²RK)N:-� B1e3,/BEB1eK:�BC:��KB�)+DE,yDC:-BI2M��)NB&D�D1^3Í���:<D�áÑj�:<*�B&)N2JFZf�6 � ã&`���:�B&,/ÕM:�2JFbLN�WB1eK:�D1^KÍ]��:<DD&B&,/.&B&)�FKky,/BQ)�F30b:���T�2G)�FGB&DQ,MDQB1eK:.&:<Tb.&:<DC:XFJB&,/B&)N2JF�2M�'B1eK:�BC:��KB-6QÌm�'B1eK:�DC:<,/.1*�e�)+DQq8,MDC:<0W2JFWÓ�F308)�FKk]B1eK:T8,/BCBC:-.�F5,MD[,²T3.&:-Ó3��2M��,GFJ��2M��B1eK2GDC:QD1^KÍ��K:<D-`i)NB9)+D[,G^KBC2J\],/B&)+*-,ML+LN�PkJ^3,/.1,GFJBC:-:<0PB1eb,/B�2JF3LN�])�Fb03:��5T�2G)�FGB&D��)+L+L�q�:ID&:<,/.1*�eK:<0�6�4QD!,GFY,M0b0b)NB&)N2JFb,ML�,M03R/,GFGB&,/kM:M`�B1e3)+D .&:<0�^3*�:<D B1eK:D1Tb,M*�:�.&:<�K^3)N.&:<0Yqi�yB1eK:�)�F303:���6

)�"J! � + ��'�OP3�) ��3D-0+D)�{2Y)�\]T3.12XRM:�.&:-BC.1)N:-R/,ML'*-,MTb,Mqb)+L+)NB&)N:<D-`{BC:���BE*�2JFJBC:XFGB�)+D�^3D1^3,ML+LN��DCB&,GF30b,/.108)N;-:<0�RK)+,Y,yDC:-BI2M�[^3D&:-.C=�03:-Ó�FK:<0BC.�,GF3DC��2M.�\],/B&)N2JF3D�*-,ML+LN:<0ÝÙ C�������NØ�� ���@ØoCMÙ36QjK2J\�:�*�2J\5\]2JFyBC.1,GF3D&�®2M.�\5,/B&)N2JF3D 2JF�F3,/B1^K.1,ML{L+,GFKkJ^3,/kM:BC:��KB,/.1:Mn�\5,MTbTb)�FKkQ2M��*�e3,/.1,M*�BC:-.1D-`�D1^3*�e�,MDA^3TbT�:-.�*-,MDC:�LN:-BCBC:-.1D'BC.�,GF3DC��2M.�\�:<0²BC2�LN2X�[:-.A*-,MDC:MäKD&T�:<*-)+,ML3DC�3\²q�2GL+D.1:X\�2XRM:<0P,GF305D&:<��^K:XFb*�:<D�2M��\�^3LNB&)+TbLN:�D1Tb,M*�:<DA2M.[T8^bF3*�B1^b,/B&)N2JF]DC�3\²q�2GL+D�.&:<08^3*�:<0�BC2�2JFK:�D1Tb,M*�:²áoqbL+,GF3Õ8ã&`,G\]2JFKk�2MB1eK:-.�D-ä�0b:-Ó�F3)NB&)N2JF�2M���[2M.105D&:<Tb,/.1,/BC2M. �>*�2JFJB&)�Fi^b,/B&)N2JFyLN:-BCBC:-.1D9,GF305eK2~�ÞB1eK:-��,/.&:Ie3,GF30bLN:<0�äi*�2J\�=\]2JFÞ��2M.108Dy.&:X\�2~RM:<0 ^3D&)�FKkc,cL+)+DCBY2M� �r�PC l�A*C��¡Ú���ä]\],MT8Tb)�FKkZ2M��DCBC.1)�F3kGD-`���2M.Y:��3,G\]TbLN:M`QBC2�e3,GF30bLN:D&�KFK2JFJ�3\]D-ä8F�^b\²q�:-.1D9,GF30d0b,/BC:<D�BC.1,GF3DC��2M.�\�:<0yBC2�,]DCB&,GF308,/.10Y��2M.�\],/B-ä8D1T�:<L+L+)�F3k]R>,/.�)+,GFGB&D�BC.1,GF3DC��2M.�\�:<0^bD&)�FKkPj�2J^bFb03:��i=�L+)NÕM:²\�:-B1eK2K0bD-ä3,GF30y�[2M.10dDCBC:X\P\])�FKkdá�.&:X\]2XRK)�FKk5D1^3Í���:<D ,GFb0 �~2M.�T3.1:-Ó3��:<D-ã&6O�2M.�\5,ML+)N;<,/B&)N2JF])+D�^3D�^3,ML+LN��032JF3:[2~RM:-.A,ELN2MkG)+*-,MLbRK)N:-�c2M��B1eK:9BC:���B-`KFK2MB�2JF²B1eK:!DC2J^K.1*�:9BC:��KB'Ó8LN:<D-6'��eK:

F32M.�\],ML+)N;-:<0WBC:���B-`�BC2MkM:-B1eK:-.I��)NB1eYB1e3:²^3DC:-.&=�03:-Ó�FK:<0Y.�^3LN:<D!B1e3,/BQ03:-BC:-.�\5)�FK:���e3)+*�ed,/.&:²)�F303:��dT�2G)�FGB&D<`�)+D

æ �

Page 19: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

^bDC:<0YBC25q8^b)+L+0yB1eK:)�F303:���6��eK:IDC:<,/.1*�eyT8,/BCBC:-.�Fy\²^bDCB[,ML+D&2�q�:EFK2M.�\5,ML+)N;-:<0Pq�:-��2M.&:QD&:<,/.1*�e3)�F3k�B1eK:Q)�Fb03:��5��2M.9)NB-6�;EF3*�:QB1eK:�BC:��KB

D&:<,/.1*�e�:XFKkG)�F3:�.&:-BC.�)N:-RM:<D9B1eK:QD&:-B[2M��BC:���B T�2GD&)NB&)N2JF3D[B1e3,/B \],/B&*�e5B1e3:QTb,/BCBC:-.�F�`KB1eK:�2M.�)NkG)�F3,ML�BC:���B )+D ^3DC:<0BC25�®:-:<0YB1e3:�^3DC:-.�)�FJBC:-.&�o,M*�:��)NB1eYB1eK:�)�FK��2M.�\],/B&)N2JFyB1eb,/B�\�^3DCB q�:ER�)+D1^b,ML+)N;-:<0�6Ë%)NkJ^3.&: æ � D1e32X��D B1e3:�2XRM:-.1,ML+L%,/.1*�e3)NBC:<*�B1^K.&:M6

ÌCF303:��

a�D&:-.C=�03:-�FK:<0yBC:��KBQF32M.�\],ML+)N;<,/B&)N2JF

� ^3:-.&�

4IF3DC�[:-.

�{:���B

a�D&:-.C=�03:-�FK:<0)�F303:��YT�2G)�FGB&D,GF30dDCBC.�^3*�B1^K.&:

ÌCF303:��3)�FKk4QLNkM2M.1)NB1eb\

j�:<,/.1*�e4�LNkM2M.�)NB1eb\

�{:���B

ÌCFGBC:-.1��,M*�:aQDC:-.

Ë�)NkJ^K.1: æ � nA4IFY)�F303:��K:<0Y�@^3L+L�BC:���B�.&:-BC.1)N:-R/,ML�DC�KDCBC:X\Y6

)�"! "#-�$ 1 &,+D):)&%@NMQ�9 "#-�$ 1 � + +�N��0%��eK:]*-LN:<,GFK:<DCB)�\5TbLN:X\�:XFJB&,/B&)N2JF�2M�[B1eK:��@^3L+L�BC:���B²\�2K03:<L'^3DC:<DEB1eK:��o,M*�B�B1e3,/BB1eK:�BC:���B�*-,GFgq�:�DC:-:XF�,MDB1e3:�DC:-B92M�%)NB&D!D�^KÍ��K:<DIá�B1eb,/B�e3,<RM:�q�:-:XFy*�eK2GDC:XFY,MD )�F30b:���T�2G)�FGB&D-ã&6A��eK2GDC:ED1^3Í���:<D *-,GFyq�:EDCBC2M.&:<0Y)�FJBC2,dBC.1)N:50b,/B&,dD&BC.�^3*�B1^K.&:M`{,GF30�B1eK:].1:<D1^3LNB�)+D�*-,ML+LN:<0 B1eK:@��q sZÜu����ØoÛ�2M�/z65��eK:�2JFbLN��0b) ��:-.&:XF3*�:P)+D�B1e3,/B-`)�FbDCBC:<,M0Y2M��DCBC2M.1)�FKk�B1eK:E�@^3L+L�D1^3Í��PDCBC.1)�F3kjz ae]�]�] } ,/B :<,M*�edLN:<,/��2M�{B1e3:EBC.1)N:M`b�[:�DCBC2M.&:E2JF3LN�y)NB&D!)�F3)NB&)+,ML�BC:��KBT�2GD&)NB&)N2JFdâC64�D�:��3TbL+,M)�FK:<0�)�F]j�:<*�B&)N2JF�f�6 � `i��: *-,GF�D&:<,/.1*�e²��2M.�,GFG�²DCBC.1)�FKk S�)�F²,IBC.1)N: )�F²�[2M.1DCB¡=�*-,MDC:!B&)�\]: -5á U�SWUuã&6

ÌCF�Tb,/.&B&)+*<^3L+,/.<`��[:²*-,GF�03:-BC:-.�\])�FK:���eK:-B1eK:-.Gv )+DQ,�T3.&:-Ób�y2M��,GFG�dBC:��KBED1^KÍ���^bD&)�FKk5B1e3:²D1^3Í��dBC.1)N:²2M�z )�F���2M.�DCB¡=�*-,MDC:�B&)�\�: -]á U v Uuã&6jK)�Fb*�:²,GFJ�d2K*-*<^K.&.&:XF3*�:²2M��v )�F`z )+DI,�T3.&:-Ó3�d2M��DC2J\�:²D1^KÍ��d2M�#z�`�)NB��2GL+LN2X��DEB1e3,/BI��:]*-,GF�D&2GLNRM:�B1eK:�DC:<,/.1*�egT3.&2GqbLN:X\×)�F�2GT3B&)�\5,ML�B&)�\]:M` -]áo~�ã&6 FW2M.&:-2~RM:-.<`{)N����:�BC.1,XRM:-.1DC:,ML+L{B1eK:�LN:<,<RM:<DI2M��B1e3:²D1^bq3BC.&:-:,/.&.�)NRM:<0�,/BI)�FW2J^K.QD&:<,/.1*�e���2M.0v�`�B1eK:�)�F3)NB&)+,ML�D1^KÍ��dT�2GD&)NB&)N2JF3DQDCBC2M.&:<0�)�FB1e32GDC:LN:<,<RM:<DQ,/.&:Tb.&:<*-)+DC:<LN�yB1eK:)�F3)NB&)+,ML�2�*-*<^K.1.&:XF3*�:T�2GD&)NB&)N2JF3D!2M�4v )�F(z6j3^KÍ���BC.1)N:<D!T�:-.�\])NB DC:<,/.�*�e3)�FKk���2M.�*�2J\5TbLN:��yT8,/BCBC:-.�F3D!,MD �[:<L+Lo6AÌCF�kM:XFK:-.1,MLo`8B1eK:)+03:<,�)+D B1eb,/B-`8D&)�F3*�:

,GFJ�Z2K*-*<^K.&.1:XF3*�:y2M�{v ��)+L+L9q�:PB1eK:YT3.1:-Ó3�g2M��,�BC:��KB]D1^KÍ���`',GF30U,ML+L9BC:���B]D1^3Í���:<D²*-,GFUq�:P��2J^bF30Uqi�BC.�,<RM:-.1D&)�F3k]B1eK:ED1^KÍ��PBC.1)N:E�®.12J\ÎB1eK:E.&2�2MB-`3B1eK:XF�2JFK:E*-,GFYqb,M*1ÕiBC.1,M*1Õy2XRM:-.�B1e3:ID�^KÍ��5BC.1)N:M`8�®2GL+LN2~��)�FKk5,ML+L)NB&DTb,/B1e3D-`{^bD&)�FKkd,GF�,G^KBC2J\5,/BC2JF�B1e3,/BE.&:<*�2MkJFb)N;-:<Dt�Qáov�ã&6�l�RM:-.&��B&)�\�:�B1eK:],G^3BC2J\],/BC2JF�0b)N:<DPá�B1e3,/B)+D-`kM2�:<DIBC2�B1eK:²D1)�FKÕWDCB&,/BC:�)N�A)NBE)+DI,P*�2J\5TbLN:-BC:�SQËK4 2M.Q.�^bF3D�2J^KB�2M��,M*�B&)NRM:]DCB&,/BC:<DI2MB1eK:-.&��)+D&:/ã&`���:²ÕKF32X�B1eb,/B�B1eK:²*<^K.&.&:XFJB�BC.�)N:�FK2K03:²)+DQFK2MBI,5Tb.&:-Ó3�d2M��,GFJ�d2�*-*<^3.&.&:XF3*�:�2M��v�,GFb0W�[:�,Mqb,GFb032JFdB1eb,/BQq3.�,GF3*�e�6lARM:-.&�]B&)�\]:�B1eK:I,G^KBC2J\],/BC2JFP.&:<*�2MkJFb)N;-:<D ,�DCBC.�)�FKk3`i�[:Q.&:<T�2M.&B�,ML+L�B1eK:QT�2GD1)NB&)N2JF3D9DCBC2M.&:<0�,/B[B1e3:�LN:<,<RM:<D!2M�B1e3:D1^3q3BC.1:-:Q�QeK:-.&:E.&:<*�2MkJF3)NB&)N2JFWBC2�2MÕyT8L+,M*�:M6

æ

Page 20: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

��e3)+D�,MLNkM2M.1)NB1eb\ )+D�kM:XFK:-.1,ML�,GF30U��2M.1Õ�D])�FÒD1^3qbL+)�FK:<,/.�B&)�\]:Zá�B1e3,/B])+D-`��Káo�%ãCã�)�Fc\�2GDCB�*-,MDC:<D<6�Ë32M.kM:XF3:-.1,ML�.1:-kJ^3L+,/.�:��3T3.&:<D1D&)N2JF3D-`�B1eK:²F�^b\²q�:-.!2M�AFK2K03:<D!BC.1,XRM:-.1DC:<0�)+D -]áo���iã&`���eK:-.&: / ���w� æ 03:<T�:XF30bD2JFÞB1eK:�DCBC.�^b*�B1^K.&:�2M��B1eK:�.&:-kJ^3L+,/.Y:��3T3.&:<D&D&)N2JF�`�,MDyD1eK2X�QFÞqi�Ò79,/:-;<,>=@?A,/BC:<D�,GF30�HI2JFbFK:-B � æ"/ 6 Ë32M.,MT8T3.&2<�3)�\],/BC:PDC:<,/.1*�eb)�FKkdB1eK:]B&)�\]:])+D�:��3T�2JFK:XFGB&)+,MLA)�F ��`%,MDD1eK2X�QF�qJ��a�ÕiÕM2JF3:XF � ��� `%,GF30g)NB*-,GFZq�:0b2JFK:-]áo� � ãQ,/kG,M)�FZqi��,MTbT3.&2GT3.�)+,/BC:<LN��T8,/.&B&)NB&)N2JF3)�FKk�B1eK:5Tb,/BCBC:-.�FZ)�FGBC2�Tb)N:<*�:<D-`',MDD�eK2X��FgqJ��OQ,<R/,/.&.&2,GFb0�79,/:-;<,>=@?A,/BC:<D � � �� 6²��e3)+DQB&)�\�:�����)+L+L'q�:²D1\5,ML+LN:-.EB1e3,GF æ )N� ��&�~ � æ ��� & i�6m;QB1eK:-.IB��KT�:<DI2M�D&2GT8e3)+DCB&)+*-,/BC:<0�DC:<,/.1*�e3:<DQe3,XRM:q�:-:XFY*�2JF3D&)+0b:-.&:<0 � ��� ` ��` ��� ` � æ 6��eK:�2JF3LN��T3.&2GqbLN:X\×��)NB1e�B1e3)+D�,MTbTb.&2G,M*�e�)+D�B1e3,/B�B1eK:]D1^3Í���BC.1)N:5\5,<��q�:².�,/B1eK:-.L+,/.&kM:5*�2J\5Tb,/.&:<0

BC2YB1e3:�BC:���B-6�ÌCF�B1eK:���2M.1D&B�*-,MDC:M`{)NB�*-,GF�q�:�2M��D1)N;-:-]áo� 1 ã&`�,MLNB1eK2J^3kJe�2JF�,<RM:-.1,/kM:y)NB�)+DI2M�9D&)N;-:�-]áo�%ã&6�{2�:XF3D1^K.1:�-]áo�%ã�D&)N;-:Y)�F B1eK:y�[2M.1DCB�*-,MDC:M`A,GFJ�Ý^bFb,/.&�gTb,/B1eU)�F B1eK:yD1^KÍ��ZBC.�)N:y)+D�*�2J\5Tb,M*�BC:<0c)�FGBC2�,D1)�FKkGLN:I:<03kM:M6AlA0bkM:<D9F32X����)+L+L�q�:IL+,Mq�:<LN:<0yqJ�5,�DCBC.�)�FKk3`bFK2MB�2JFbLN�P,²*�e3,/.1,M*�BC:-.X6���eK:-.1:�,/.&:EDC:-RM:-.1,ML��9,<�KDBC2�.&:<T3.&:<D&:XFGB�B1eK:PDCBC.�)�FKkWL+,Mq�:<L+)�FKk�B1eK2GDC:5:<0bkM:<D�)�FZ*�2JF3DCB&,GFJB²D&T8,M*�:M66;EFK:P)+D�,W*�2J^3T8LN:52M�!T�2G)�FGBC:-.�DBC2B1e3:]BC:���B-`�D&)�F3*�:5B1eK2GDC:PD&BC.1)�FKkGD�,/.&:5BC:���B²D1^3qbDCBC.�)�FKkGD-6]4IFK2MB1eK:-.�)+DBC2WD&)�\5TbLN��DCBC2M.1:P)NB&D�Ó8.1DCB�*�eb,/.1,M*�BC:-.,GFb0YLN:XFKkMB1e�`8DC2�B1e3:ID&:<,/.1*�eWDCÕ�)+T8D DC2J\�:E*�eb,/.1,M*�BC:-.1D!2M�4v�`3��eb)+*�eY\�^3DCB q�:IRM:-.1)NÓb:<0d,/B B1eK:E:XFb0Y,/kG,M)�F3DCBzbae]�]�] a #�y %M[<`���e3:-.&:5â�)+DB1eK:5BC:��KB�T�2GD&)NB&)N2JFZ,/B �MÙ��]LN:<,/� )�F�B1eK:�,GF3DC�[:-.<6yjK)�Fb*�:]B1eK:5.1:<D1^3LNB&)�FKkdBC.1:-:�e3,MD0b:-kM.&:-:P,/BLN:<,MD&BB��[2�,GF30g)NB²eb,MD -]áo�%ã�LN:<,XRM:<DYá�BC:���B�D1^KÍ��K:<D�ã�)NB��®2GL+LN2~��DB1eb,/B)NB�)+D -]áo�%ã�D&)N;-:�)�F�B1eK:�[2M.1DCB�*-,MDC:M6A��eK:E.1:<D1^3LNB-`808^3:EBC2]��:<)�FK:-. � h / `8)+D!*-,ML+LN:<0�,��rqrsZÜ����CÛ1Û � ��` � æ 6j3^KÍ���BC.&:-:<D[*-,GF]q�:�q8^3)+LNB�)�F]2GT3B&)�\],ML -]áo�%ã{�[2M.1DCB¡=�*-,MD&:�B&)�\�:M`�,MD�D�eK2X��F]qJ�ZF�*XV[.&:<)NkJeJB[,GF30]2MB1eK:-.1D

� � �3` �Gh�`�f � `�,GF30�*-,GFgD&)�\�^3L+,/BC:�,GFG��,MLNkM2M.1)NB1eb\ 2XRM:-.�D�^KÍ���BC.�)N:<DE��)NB1e�B1eK:]D&,G\]:�*�2J\]TbLN:��3)NB��M65j�2d)�FTb.1,M*�B&)+*�:PB1e3:-�g,/.&:PT3.1:-�®:-.&.1:<0g2XRM:-.�D1^3Í���BC.1)N:<D-`',MLNB1eK2J^KkJe )NB�)+D�\�^3*�eg:<,MD&)N:-.�BC2WB1e3)�FKÕ�2M�!,MLNkM2M.�)NB1eb\]D2~RM:-.�B1e3:�D1^KÍ��yBC.1)N:,GF30yB1e3:XFY)�\]TbLN:X\]:XFGB9B1eK:X\ 2XRM:-.�B1eK:D1^KÍ]�PBC.&:-:M6j�B&)+L+Lo`�D1^KÍ]�WBC.&:-:<DE,/.&:]^bF3D1,/B&)+DC��,M*�BC2M.1��)�F�\]2GDCBQTb.1,M*�B&)+*-,ML�,MTbTbL+)+*-,/B&)N2JFbD-6���e3:²*�2JF3D&B&,GFGB�B1eb,/BE\�^3LÐ=

B&)+T8L+)N:<DEB1eK:<)N.3-5áo�%ã D1Tb,M*�:]*�2J\]TbLN:��3)NB���)+DEL+,/.&kM:M6�OQ,M)NRM:<LN�g)�\]TbLN:X\]:XFGBC:<0�`�D�^KÍ���BC.1:-:<DE.&:<�K^3)N.&:�,/B�LN:<,MDCBf / qi��BC:<DET�:-.E)�F30b:���T�2G)�FGB]á�B1e3)+DE*-,GF�q�:�,MDEqb,M0�,MD�f / B&)�\�:<DQB1eK:�BC:���B�D1)N;-:/ã&6�l�RM:XF�B1e3:�\]2GDCBED&Tb,M*�:�=:-ÍP*-)N:XFGB�)�\5TbLN:X\�:XFJB&,/B&)N2JF3D-`Gqi��HI)N:-kM:-.�)+*�e�:-B�,MLo6 ��� / `JB&,/ÕM:<D BC2 æ fQqJ��BC:<D�T�:-.')�F303:���T�2G)�FJB-6#FW2M.&:-2~RM:-.<`)NB&DE*�2JFbDCBC.�^3*�B&)N2JF�,M*-*�:<D&DC:<D�\�:X\�2M.1�y,/BI.1,GFb032J\Y`�DC2Y)NBQ*-,GFbF32MBIq�:²:-Í5*-)N:XFJB&LN��q8^b)+LNB�á@FK2M.EDC:<,/.�*�eK:<0�ã!)�FD&:<*�2JF30b,/.&� \]:X\�2M.&�M6d��eK:-.&:5:��3)+DCB²2MB1eK:-.�.&:<L+,/BC:<0U0b,/B&,�DCBC.�^3*�B1^3.&:<DD1^b*�eÝ,MD�79L�^b\]:-.�:-B�,MLo6 �vD�S!4{�ÞHáo,GFU,G^3BC2J\],/BC2JFÝB1e3,/B�.&:<*�2MkJFb)N;-:<D],ML+L9B1eK:yBC:���B]D�^3qbDCBC.1)�F3kGD-`'��e3)+*�eU*-,GFUq�:�2Gq3B&,M)�FK:<0cqi�Ý\5)�F3)�\])N;<)�F3kB1e3:QD1^3Í���BC.1)N:/ã � fMf `3,GF30yV9.&2�*�eK:X\�2M.1:�,GF30 �d_:-.1)�F �vD�V92J\]Tb,M*�B[S!4��ÞH á�B1eK:�.1:<D1^3LNB[2M��\])�F3)�\5)N;<)�FKk�B1eK:D�^KÍ��PBC.1:-:/ã � f �� 64 \�^3*�eg\�2M.1:]:-Í5*-)N:XFJB�9,<��BC2W.1:<08^3*�:5D&T8,M*�:5)+D�BC2�*�2GL+LN:<*�B²B1e3:]BC.&:-:PLN:<,XRM:<D-`'��.&2J\ LN:-��BBC2W.�)NkJeGB-`

)�FJBC2P,GFW,/.&.1,X�M6[��e3:E.&:<D1^3LNB&)�FKkP,/.&.1,<�We32GL+0bD!,ML+L�B1e3:T�2GD&)NB&)N2JF3D!2M�',ML+L�B1eK:�BC:��KB�D1^KÍ]��:<Dá�B1eb,/B�,/.&:)�Fb03:��T�2G)�FJB&D�ã&6 FW2M.&:-2XRM:-.<`ID&)�F3*�:�B1eK:-��e3,XRM:�q�:-:XFÒ*�2GL+LN:<*�BC:<0àLN:-��B�BC2 .1)NkJeJB5��.&2J\ B1eK:�D�^KÍ��UBC.&:-:M`�D1^KÍ]��:<D,/.1:�2M.103:-.&:<0�)�F�LN:��3)+*�2MkM.1,MT8eb)+*-,ML�2M.103:-.�)�F�B1eK:],/.&.1,X�M6���e3)+DE,/.&.1,X���9,MD�)�F30b:<T�:XFb03:XFGB&LN��0b)+D&*�2~RM:-.&:<0Zqi�HI2JFbFK:-B ������ `���eK2W*-,ML+LN:<0U)NB� ��� �D� � �� ��� f `',GF30Zqi� FW,GFiq�:-.�,GF30�FW�M:-.1D-`���eK2�kG,<RM:Y)NBB1eK:y\�2M.&:��.&:<�K^K:XFJB&LN�Y^bDC:<0dF3,G\�:j��qrsZÜ �D� � �� � ���D 6�A�KTb)+*-,ML+LN�yB1eK:�D1^KÍ]�P,/.&.1,X��B&,/ÕM:<D � qJ��BC:<D!T�:-. )�F303:��YT�2G)�FGB-`3��eb)+*�ey)+D!*-LN2GDC:BC2�B1eK:�D&Tb,M*�:^3D1,/kM:E2M�

^8F3*�2J\]T3.1:<D&DC:<0�)�FGRM:-.&BC:<0WÓ8LN:<D9��eK:XF��[:�)�F303:���2JF3LN����2M.10Yq�:-kG)�FbFb)�FKkGD-`3,GF30Y)+D � B&)�\]:<D9B1eK:IBC:���B�D1)N;-:�)N��[:)�F30b:���:-RM:-.&�yBC:��KB�*�eb,/.1,M*�BC:-.<69��eK:�D1^KÍ]��,/.&.1,X�y�®2M.!2J^3.!.�^bFbFb)�FKk�:��3,G\]T8LN:�)+D!kG)NRM:XFd)�FdË%)NkJ^3.&: æ ��6

7 29 4 26 14 43 20 55 50 38 10 46 1 32231 2 3 4 5 6 7 8 9 10 11 12 13 14 15

to be at the beach or to be at work, that is the real question $

Index points

Text

1 4 7 10 14 29 38 43 46 50 5532262320

Suffix Array

Ë�)NkJ^K.1: æ ��nA��eK:�D�^KÍ���,/.1.1,<�y��2M.!2J^K.!:��3,G\]TbLN:EBC:��KB-6

f /

Page 21: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

jK)�F3*�:!D1^KÍ]��:<D',/.&:�LN:��K)+*�2MkM.1,MT�e3)+*-,ML+LN�5DC2M.&BC:<0�`J,ML+L3B1eK:!D1^3Í���:<D�B1e3,/B�DCB&,/.&B���)NB1e�DC2J\�: T3.1:-Ó3����2M.�\ ,GF)�FJBC:-.&R/,ML{)�FdB1eK:�D�^KÍ��d,/.&.1,X�M6!��e3)+D�T�:-.�\5)NB&D!DC:<,/.1*�e3)�FKkP�®2M.0v�)�F@z ^3D&)�F3k5B��[2yqb)�F3,/.&�yDC:<,/.1*�eK:<DI)�FYB1eK:D�^KÍ���,/.&.�,<�M`���2M.EB1eK:²)�Fb)NB&)+,ML',GF30�Ó�F3,ML%)�FGBC:-.&R/,ML'T�2GD&)NB&)N2JF�6��e3)+D�B&,/ÕM:<D -]áo~àLN2Mk��%ã9B&)�\]:²)�F�B1eK:��[2M.1DCB*-,MD&:M`���e3)+*�e�*-,GF�q�:.1:<08^3*�:<0�BC2 -]áoLN2Mk��%ã9qi��^3D&)�F3k�DC2J\]::��KBC.1,yDCBC.�^3*�B1^3.&:<D�á�B1e3,/BIB&,/ÕM:5\�2M.&:�D&Tb,M*�:/ã� ���D 6�49B�B1eK:!:XF30�`J,ML+LbB1eK:�,/.&.1,<��:XFJBC.1)N:<D[)�F�B1eK:!.&:<D�^3LNB&)�FKk)�FJBC:-.&R/,ML8,/.&:!.1:<T�2M.1BC:<0�6%Ë�)NkJ^K.1: æ �E)+L+L�^3D&BC.1,/BC:<D-6

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

to be at the beach or to be at work, that is the real question $

Index points

Text

1 4 7 10 14 29 38 43 46 50 5532262320

Suffix Array

be bf

7 29 4 26 14 43 20 55 50 38 10 46 1 3223

Ë�)NkJ^K.&: æ ��n j�:<,/.1*�eb)�FKk��®2M. � �����Q)�Fy2J^K.�:��K,G\5TbLN:�D1^KÍ��y,/.&.1,X�M6

Ì¡F30b:-:<0�`')NB²)+D�FK2MB�e3,/.10ZBC2�D&:-:PB1e3,/B�D1^KÍ]�gBC.1)N:yF32�03:<D²*�2M.&.&:<D1T�2JFb0gBC2�D1^KÍ��Z,/.&.�,<�Z)�FJBC:-.&R/,ML+Ddá�2M�LN:XF3kMB1e æ )�FB1eK:[*-,MD&:[2M�8BC.1)N:[LN:<,XRM:<D�ã&6A��eb)+D%\5,MTbTb)�FKk�*-,GF²q�:[^bDC:<0BC2QBC.1,GF3D1L+,/BC:9,GFJ�,MLNkM2M.1)NB1e8\ 03:<D&)NkJFK:<02~RM:-.�B1e3:D1^KÍ��yBC.1)N:�2JFGBC2�,]D1^KÍ��Y,/.&.1,X�M6 l�RM:-.&�yB&)�\�:E�[:��2GL+LN2X� ,GFY:<0bkM:�)�FyB1eK:�D1^KÍ��yBC.1)N:M`8�[:²\�^3D&B\]2XRM:�BC2�,D�\],ML+LN:-.�D�^3qb)�FJBC:-.&R>,MLb2M��B1eK:�*<^K.&.1:XFGB[)�FGBC:-.&R/,ML8)�F]B1eK:�D�^KÍ���,/.&.1,<�M`3,/B�B1eK:�*�2GDCB[2M��B��[2²qb)�Fb,/.&�D&:<,/.1*�eK:<D<6Aß�:XFb*�:M`K,ML+L�B1eK:E*�2J\5TbLN:��K)NB&)N:<D[2Gq3B&,M)�F3:<0y2XRM:-.!D1^KÍ]�]BC.&:-:<D *-,GF�q�:�2Gq3B&,M)�FK:<0y2JF�D1^KÍ]�5,/.&.1,<�KD-`,/B�,GF -]áoLN2Mk��%ã�:���BC.�,]*�2GDCB��o,M*�BC2M.<6V[2JF3DCBC.�^b*�B&)N2JF�2M�[D1^3Í���,/.&.1,X��DE*-,GFgq�:�032JFK:���)NB1e�-5áo�ELN2Mk��%ã!DCBC.�)�FKkY*�2J\]Tb,/.1)+D&2JF3DIqJ��^3D&)�FKkY,GFJ�

D&2M.&B&)�FKky,MLNkM2M.1)NB1eb\ á@FK2MBC:²B1e3,/BQ,�DCBC.1)�F3kP*�2J\]T8,/.1)+DC2JFW\5,<�YB&,/ÕM:�LN2JFKk3`�:<D&T�:<*-)+,ML+LN��)N�'B1eK:²BC:��KBIe3,MDQLN2JFKk.1:<T�:<,/BC:<0�D1^3q8DCBC.1)�FKkGD�ã&6�4 \�2M.1:�DC2GT8e3)+D&B&)+*-,/BC:<0P,MLNkM2M.1)NB1e8\�)+DAkG)NRM:XF�qJ�ZF�,GFJq�:-.9,GF30 FW�M:-.1D � ���� `i�Qe3)+*�e)+D -]áo�ELN2Mk��%ã���2M.�DCB¡=�*-,MDC:5B&)�\]:5,GF30 -5áo�ELN2Mk�LN2Mk��%ã�,<RM:-.1,/kM:yB&)�\]:M65(!:<*�:XFJB&LN�M` -]áo�%ã��[2M.1DCB¡=�*-,MDC:�B&)�\�:*�2JFbDCBC.�^3*�B&)N2JFy2M��D1^KÍ]��,/.&.1,X��D�e3,MD q�:-:XFy,M*�e3)N:-RM:<0�`�D&)�\�^3LNB&,GFK:-2J^3D1LN��qi� ?�)�\ :-B!,MLo6+`:?E2 4QL�^K.�^�`3,GF30?,/.&ÕiÕ/,M)�FK:XF �jK,GF303:-.1D ��� ` � fK` � � 6��eK:XFàB1eK:gD1^KÍ���,/.&.1,X��,GF30 �~2M.dB1eK:�BC:��KBW032�FK2MBYÓbBd)�Fà\5,M)�Fà\�:X\]2M.&�M`QeK2~��:-RM:-.X`EB1eK:g,Mq�2XRM:

*�2JFbDCBC.�^3*�B&)N2JF�,MLNkM2M.1)NB1eb\5D9,/.&:Q)�\5T3.1,M*�B&)+*-,MLo6A��eK:�2M.1)NkG)�Fb,ML�,MLNkM2M.�)NB1eb\ 03:-RK)+DC:<0Pqi��HQ2JF8FK:-B�:-B ,MLo6 ��� f )+DD&B&)+L+L�2JF3:�2M��B1e3:Qq�:<DCB�BC2�q�^3)+L+0]B1eK:ID1^KÍ]�5,/.&.1,<�P)�FPD&:<*�2JF30b,/.&�P\]:X\�2M.&� � f / 6�HE)NRM:XF�� \],M)�F�\�:X\�2M.1�M`B1e3:-�YF3:-:<0 -]áo� 1 LN2Mk�á��Ôã.&��Ôã��[2M.1DCB¡=�*-,MDC:�0b)+DCÕPBC.1,GF3DC��:-.!B&)�\�:M6

;EF3*�:�B1e3:QD1^3Í��],/.&.1,<��e3,MD�q�:-:XF5q8^3)+LNB�)�FPDC:<*�2JF308,/.&�5\�:X\]2M.&�M`iDC2J\]:�*-,/.&:E\�^3DCBAq�:�B&,/ÕM:XF�)�F52M.103:-.BC2�DC:<,/.1*�ed)NB�q�:<*-,G^3D&:�.1,GF3032J\ ,M*-*�:<D&DC:<DQBC2P0b)+D&Õ�,/.&::��KT�:XF3D&)NRM:M694Ô^3DC:-�@^3L�BC:<*�ebF3)+�K^K:�qi��79,/:-;<,>=@?A,/BC:<D:-B[,MLo6 � � )+D�BC2�q�^3)+L+05,Z�rq l�� � �mØ�Ù8ÚJÛ1ÜM`K2Gq3B&,M)�FK:<0�qi�]D&,G\]TbL+)�F3kEB1eK:�D1^3Í��],/.&.1,<�],/B�.&:-kJ^3L+,/.9)�FGBC:-.1R>,ML+D9,GF30*�2GL+LN:<*�B&)�F3k]B1eK:QÓb.1DCB ��*�eb,/.1,M*�BC:-.1D92M��B1eK:ID&,G\5TbLN:<0PD�^KÍ��K:<D-6'��eK:ID1^3T3.1,>=�)�Fb03:��5D1eK2J^3L+0Pq�:QD1\5,ML+L8,GF30�ÓbB)�FZ\],M)�F�\�:X\]2M.&�M`�DC2�\]2GDCBE2M�[B1eK:5qb)�F3,/.1��DC:<,/.1*�eg*-,GFZq�:]*-,/.1.1)N:<0�2XRM:-.²B1eK:]D1^bT3.1,>=�)�F303:���,/B�FK2d08)+DCÕBC.�,GF3DC��:-.�*�2GDCB-6�Ë�)NkJ^K.1: æ h�)+L+L�^3DCBC.�,/BC:<D-6?�:-B],GFK2MB1eK:-.��[,X� BC2�.&:<0�^3*�:�D1Tb,M*�:y.&:<��^b)N.&:X\�:XFJB�2M��D1^KÍ��ZBC.�)N:<D�)+D�BC2�T3.�^bFK:5B1e3:X\ ,/B�0b:<T3B1e �i6

��e3,/B²)+D<`�:-RM:-.&� 08) ��:-.&:XFJB�BC:���B��X=ÑkM.1,G\$áo,/B�B1eK:yq�:-kG)�FbF3)�FKk�2M��)�F303:��ÝT�2G)�FJB&D�ãE��)+L+L[q�:�*�2GL+LN:<*�BC:<0�`9,GF30)NB&D�T�2GD&)NB&)N2JF3D�DCBC2M.1:<0Ý)�F ,�L+)+DCB�,MD&DC2K*-)+,/BC:<0UBC2�)NB-`�)�FÝ)�F3*�.1:<,MD&)�FKk�BC:���B�T�2GD&)NB&)N2JF�6���eK:�)�F303:�� *-,GF B&,/ÕM:\�^3*�egLN:<D&D�D&T8,M*�:PB1e3,GFZB1eK:yD1^KÍ��g,/.&.�,<�Zq�:<*-,G^3DC:PB1eK2GDC:y)�F3*�.&:<,MD&)�F3k�BC:��KB²T�2GD&)NB&)N2JFbD�*-,GFÝq�:5:XF3*�2K03:<008) ��:-.&:XFJB&)+,ML+LN�W,GF30�*�2J\]T3.1:<D&DC:<0�6�ÌmBQ)+D�DCB&)+L+L%T�2GD&D&)+qbLN:�BC2�DC:<,/.1*�eW)�FdB1e3)+D!ÕK)�F30d2M��)�Fb0b)+*�:<D�qi�YLN2i2MÕK)�FKk��®2M.�X=ÑkM.1,G\5D 2M�*v ,GFb0W032G)�FKkPDC2J\�:�RM:-.�)NÓ8*-,/B&)N2JFW08)N.&:<*�B&LN�d,/kG,M)�F3DCBQB1eK:�BC:��KB-6 ��:�*-,GFW)�F303:��Y2JF3LN�dDC2J\]:E2M�B1e3:�BC:���B �X=ÑkM.1,G\5DE)�F�2M.103:-.EBC2�\5,/ÕM:²B1e3:])�F303:���:-RM:XFgD1\],ML+LN:-.<`{,GF30�DCB&)+L+L')NB�)+D�T�2GD&D&)+q8LN:²BC2dD&:<,/.1*�eg�®2M.LN2JF3k:XFK2J^KkJe5Tb,/BCBC:-.�F3D<6���e3)+D�T�:-.�\])NB&D�e3,<RK)�FKk�)�Fb0b)+*�:<D�B1e3,/B[,/.&:�D1\5,ML+LN:-.AB1e3,GF]B1eK:!BC:��KB-`3,MLNB1eK2J^KkJe�B1e3:-�

f æ

Page 22: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

7 29 4 26 14 43 20 55 50 38 10 46 1 32231 2 3 4 5 6 7 8 9 10 11 12 13 14 15

"at t" "be a" "or t" "to b""that"

to be at the beach or to be at work, that is the real question $

Index points

Text

1 4 7 10 14 29 38 43 46 50 5532262320

Suffix Array

Supra-index

Ë%)NkJ^3.&: æ hinA4 D1^3Tb.1,>=�)�F303:����®2M.!2J^3.!:��K,G\5TbLN:�D1^KÍ]��,/.&.1,X�M6

eb,<RM:Qeb)NkJeK:-.�DC:<,/.�*�e�B&)�\]:�,GF30P032FK2MB�D1*-,MLN:��[:<L+Lb��2M.ARM:-.&��L+,/.&kM:�BC:���B&D-6���e3)+D�L+)�FK:Ie3,MD�q�:-:XF]T8^3.1D1^K:<0�qi�jb^KB&)�FK:XF�`b�%,/.�e3)N23`8,GFb0Y2MB1eK:-.1D � � � `:� � `8,GF30W*-,GFd*�2GT�:���)NB1eYq�2MB1ey:��3,M*�B�,GFb0d,MTbT3.&2X�K)�\5,/BC:�DC:<,/.1*�e3)�FKk36��e3)+D!)+D!Tb,/.1B&)+*<^3L+,/.1LN�Y,/BCBC.1,M*�B&)NRM:²�®2M.�*�2J\5T8^KB&,/B&)N2JF3,ML�qb)N2GLN2MkM�d,MTbTbL+)+*-,/B&)N2JF3D<6

)�"*) ��Q��R)�+�3�):9 � Q/9�O � )&%�àeK:XFdB1eK:BC:��KBQ)+D�á���:<DCBC:-.�F�ã F3,/B1^3.1,ML�L+,GFKkJ^b,/kM:²,GF30�^3DC:-.1D�,/.&:�D1,/B&)+DCÓb:<0���)NB1eY.&:-BC.�)N:-R�)�FKk�Ï&^3DCB!�[2M.10bD,GFb0WT8eK.�,MDC:<Dá@FK2MBQ,GFG�dD1^bqbDCBC.1)�FKkKã&`�)�FGRM:-.&BC:<0�)�F30b)+*�:<D�,/.&:�,5RM:-.&�Y,/BCBC.1,M*�B&)NRM:]*�e32G)+*�: � æ �� 6 4IFd)�FJRM:-.&BC:<0)�Fb03:��d)+D�D&)�\5TbLN��,PL+)+DCB�2M�',ML+L�B1eK:�[2M.10bD!,MT8T�:<,/.�)�FKk5)�FYB1e3:BC:��KB²áo*-,ML+LN:<0�B1eK:���C � � � q � ��� �~ã&`���eK:-.&:�:<,M*�e�[2M.10ge3,MD,/BCB&,M*�eK:<0Ý,YL+)+DCBE2M�9,ML+L�)NB&DEBC:��KBT�2GD&)NB&)N2JF3D-`�)�Fg)�F3*�.&:<,MD&)�FKkYBC:��KB�2M.10b:-.<6²��eK:]DC:-BE2M�90b) ��:-.1:XFGB�[2M.10bD�)+D 2M.&kG,GF3)N;-:<0�BC25T�:-.�\])NB[�o,MDCB�DC:<,/.1*�e3)�FKk3`��®2M.!:��3,G\]T8LN:�)�FY,5e3,MD1e�B&,Mq8LN:M6�Ë�)NkJ^K.&: æ �])+L+L�^3DCBC.1,/BC:<D-6

words

text

many

made

letters

33, 40...

11, 19...

60...

50...

28...

Vocabulary Occurrences

This is a text. A text has many words. Words are made from letters.

1 6 9 11 17 19 24 28 33 40 46 50 55 60

Text

Inverted Index

Ë�)NkJ^K.&: æ ��nA4�BC:��KB�,GF30d)NB&D�)�FGRM:-.1BC:<0W)�F303:���6

j�:<,/.1*�eb)�FKk���2M.�,�D&)�\5TbLN:9��2M.�05)�F�,GF�)�FJRM:-.&BC:<0�)�F303:���)+DA,MDA:<,MDC��,MDALN2�2MÕ�)�FKk�®2M.[)NBA)�F�B1eK:!RM2K*-,Mq8^3L+,/.1�,GFb05.&:-B1^3.�F3)�FKk�)NB&D9L+)+DCB-6[j�:<,/.1*�e3)�FKk²�®2M. ,�T8eK.�,MDC:�.&:<�K^3)N.&:<D[��:-B&*�e3)�F3k²B1e3:QL+)+DCB&D92M��:<,M*�ey�[2M.10�,GF30�á�:<D&DC:XF�=B&)+,ML+LN��ãQ)�FJBC:-.1DC:<*�B&)�F3k�B1eK:X\ DC2W,MD�BC2�Ó�F30�B1eK:PTbL+,M*�:<D���e3:-.&:�B1eK:-��,MTbT�:<,/.*�2JF3DC:<*<^3B&)NRM:<LN�Z)�F�B1eK:]BC:��KB-6FW2M.&:5*�2J\5TbLN:��gDC:<,/.1*�e3)�FKk3`�D1^3*�eg,MD�Ó�F308)�FKkY,ML+L�B1eK:��[2M.10bDB1e3,/B�\],/B&*�e�DC2J\]:�.&:-kJ^3L+,/.:��3T3.&:<D1D&)N2JF�2M.,MT8T3.&2<�3)�\],/BC:IDC:<,/.1*�e3)�FKk���2M.9,²�[2M.10�`K)+D9T�2GD1D&)+qbLN:IqJ�5D1*-,GFbF3)�FKk²B1eK:Q��eK2GLN:IRM2�*-,Mq�^3L+,/.&�P^3D1)�FKk²,�DC:<�K^K:XF�=B&)+,ML�BC:��KB�DC:<,/.1*�e�,MLNkM2M.1)NB1eb\Y`i.&:-B1^K.�Fb)�FKk,ML+L�B1eK:!�[2M.10bD�B1eb,/B9\5,/B&*�eK:<05B1eK:�Tb,/BCBC:-.�F�`�,GFb05*�2J\]T�^KB&)�FKkEB1eK:^8F3)N2JFd2M�AB1eK:<)N.I2�*-*<^K.1.&:XF3*�:�L+)+DCB&D-`�,MDQÓb.1DCBQD1^KkMkM:<DCBC:<0�qi�6FW,GFiq�:-.E,GF30W�Z^ � � � 6I��e3)+D��[2M.&Õ�DQ�[:<L+L�q�:�=*-,G^bDC:�B1eK:�RM2�*-,Mq�^3L+,/.&�])+D[D1\],ML+Lb*�2J\5Tb,/.&:<0�BC2²B1eK:!BC:��KB-6�̧B�)+DA:X\]Tb)N.1)+*-,ML+LN��Õ3FK2~��F�B1e3,/B�B1eK:�RM2K*-,Mq8^3L+,/.1�kM.12X��D�,MTbT3.&2X�K)�\5,/BC:<LN�yL+)NÕM: -]á �%ã ��� � 6��:�F32MBC:M`�e32X�[:-RM:-.<`�B1e3,/BIB1e3)+D�)+DAÏ&^3DCB�,GF�)�FJBC.1,>=Ñ�[2M.10�DC:<,/.1*�e�n�)N��,PD1T8^K.1)N2J^3D�)�F3DC:-.&B&)N2JF�)�FWB1eK:BC:��KB

D1TbL+)NB,Y�[2M.10g)�FJBC2WBm��23`�,GFg,MTbTb.&2<�3)�\],/BC:]DC:<,/.�*�eZ�®2M.�B1e3:]��2M.�0g,ML+LN2X��)�F3k � X æ 0b) ��:-.&:XF3*�:<D��)+L+LAFK2MBÓ�F30YB1eK:��[2M.10�6!jK)�\5)+L+,/.1LN�M`b.&:-kJ^3L+,/.�:��KTb.&:<D&D&)N2JF3D�*�2JFGB&,M)�Fb)�FKk�D&:<Tb,/.1,/BC2M.1DQ*-,GFbFK2MB�q�:D&:<,/.1*�eK:<0���2M.���)NB1e

fMf

Page 23: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

B1eb)+D BC:<*�ebFb)+��^K:M6Ì¡FJRM:-.&BC:<0Ý)�F30b)+*�:<D*-,GF q�:]:<,MD&)+LN�gq8^b)+LNB)�F -5áo�%ã�B&)�\�:P)�FZ\],M)�FZ\�:X\�2M.1�M65ÌCF�DC:<*�2JF30b,/.1�Z\�:X\�2M.1�M`

2JF3:Pe3,MDEBC2Wq�^3)+L+0gTb,/.&B&)+,MLA)�F30b)+*�:<D�B1eb,/B�ÓbB�)�Fg\5,M)�Fg\�:X\]2M.&�W,GF30�B1e3:XFg\�:-.&kM:�B1e3:X\Y`���eb)+*�e�*-,GFZq�:0b2JFK:²)�F#-5áo�ELN2Mk�áo� &��ÔãCã 08)+DCÕdBC.1,GF3D&�®:-.QB&)�\�:M6j�:<,/.1*�e3)�FKkY)�F�DC:<*�2JF30b,/.&��\�:X\]2M.&�Y)+D�:-ÍP*-)N:XFGBEq�:<*-,G^3DC:B1e3:�L+)+DCB&D[,/.&:�,M*-*�:<D&D&:<0PDC:<�K^K:XFJB&)+,ML+LN�M6���e3:!RM2�*-,Mq�^3L+,/.&�5^3D1^b,ML+LN�²Ó8B&D�)�F5\5,M)�F5\�:X\]2M.&��q�:<*-,G^3D&:�)NBAkM.&2~��DD1LN2X��LN��*�2J\]Tb,/.1:<0WBC2YB1eK:�BC:��KB-`�,MDI:��KT8L+,M)�FK:<0�6��eb)+D��[2J^3L+0gFK2MBEq�:²B1eK:�*-,MDC:�)N�A�[:�eb,M0�^bDC:<0�)�F3DCBC:<,M0Ób��:<0dD�^3qbDCBC.1)�F3kGD92M�%LN:XFKkMB1e �i`b,MD�032JFK:�)�F �<=ÑkM.�,G\ )�F30b)+*�:<D<6V[2J\]Tb,/.1:<0���)NB1e�D1^KÍ]��,/.&.�,<�KD-`{)�FJRM:-.&BC:<0Ý)�F30b)+*�:<DEB&,/ÕM:y)�F�T3.1)�Fb*-)+TbLN:�B1eK:5D&,G\]:],G\�2J^bFJBE2M� D&Tb,M*�:Mn

2JF3:QT�2G)�FJBC:-.9T�:-.9)�F303:��PT�2G)�FJB-6�ß�2~��:-RM:-.X`8D&)�F3*�:QB1eK:-�5DCBC2M.1:ILN2JF3k²L+)+DCB&D92M�{)�F3*�.&:<,MD&)�FKk�T�2GD&)NB&)N2JF3D�B1e3,/B ,/.&:,M*-*�:<D1DC:<0ZDC:<�K^K:XFJB&)+,ML+LN�M`'0b) ��:-.1:XFGB&)+,MLA:XF3*�2�08)�FKkdT�:-.�\])NB&DID&,XR�)�FKkw� / �×2M� D&Tb,M*�:5,/B�LN:<,MDCB-6 FW2M.&:-2XRM:-.<`')NB\5)NkJeGB²,ML+DC2�q�:P*�2JFGRM:XF3)N:XFJB�BC2�0b:<L+)NRM:-.�BC:��KB²T�2GD&)NB&)N2JFbD�)�F )�F3*�.&:<,MD&)�F3k�2M.10b:-.<`{.�,/B1eK:-.�B1eb,GFZ,/B�.1,GF3032J\L+)NÕM:yB1eK:yD1^KÍ]�Z,/.&.1,<�M6 ;EFZB1eK:�2MB1eK:-.]e3,GF30�`'D1^3Í��g,/.&.1,<�KD�T�:-.�\])NB�DC:<,/.1*�eb)�FKk���2M.�*�2J\]TbLN:��ZT8,/BCBC:-.�F3DB1eb,/B�*-,GFbFK2MBEq�:�D&:<,/.1*�eK:<0���2M.^3D&)�F3ky)�FJRM:-.&BC:<0�)�F308)+*�:<D-6�lARM:XF�T8eK.1,MD&:²DC:<,/.�*�e3)�FKkd)+DED1)�\]TbLN:-.�áo,GF30�*-,GFq�:E�o,MDCBC:-.-ã[^bD&)�FKk],�D1^KÍ]�y,/.&.�,<�M6Ë%)�Fb,ML+LN�M`MB1eK:AD&Tb,M*�:�2M�KB1eK:�)�FJRM:-.&BC:<0²)�F303:���*-,GF�q�:��@^K.&B1eK:-.�.&:<08^3*�:<0�qi��*�2J\²qb)�F3)�FKk!)NB{��)NB1e�D&:<��^K:XFJB&)+,ML

D&:<,/.1*�e3)�F3k36P��eK:5BC:���B)+D�0b)NRK)+03:<0g)�FJBC2�qbLN2K*&ÕKD-`{,GFb0g�[2M.10bD�T�2G)�FJBEBC2WB1eK:5q8LN2�*1Õ�D��eK:-.&:�B1eK:-��,MTbT�:<,/.<`.�,/B1eK:-. B1e3,GFyB1eK:<)N. :��3,M*�B�T�2GD&)NB&)N2JF�6�4 BC:��KB�DC:<,/.1*�ed\�^3DCB[Ób.1DCB92Gq3B&,M)�Fy�Qe3)+*�eyqbLN2K*&ÕKD!*�2JFJB&,M)�FYB1eK:E�[2M.10,GFb0�B1eK:XF�DC:<�K^K:XFJB&)+,ML+LN�ZD&*-,GF�B1e3:5qbLN2K*&ÕKD���2M.B1eK:50b:<D&)N.&:<0��[2M.10�2M.²T8eK.1,MDC:M6]��e3)+D�T3.&2K08^3*�:<D,dD&Tb,M*�:�=B&)�\]:�BC.1,M03:-2 �Ò.&:<L+,/BC:<0ZBC2WB1eK:PqbLN2�*1Õ�D&)N;-:M6P��e3:5)+03:<,Y�9,MD�Ób.�DCB�T3.&2GT�2GDC:<0�qi� FW,GFiq�:-.,GF30��Z^�`%��eK2)�\5TbLN:X\�:XFJBC:<0Ò)NB�)�F�,GF�)�F303:��Ò*-,ML+LN:<0 � �ÐØ�{l:�-Û � � � 03:<D&)NkJFK:<0Þ��2M.PT�:-.1DC2JF3,ML�^3DC:M6à79,/:-;<,>=@?A,/BC:<DW,GF30OQ,<R/,/.&.&2 � æ f Tb.&2XRM:<0�B1e3,/B-`!qJ�c*�eK2i2GD1)�FKk ,MTbTb.&2GT3.1)+,/BC:<LN�UB1eK:Wq8LN2�*1ÕÒD&)N;-:M` B1eK:W)�F30b:��c*-,GFÒB&,/ÕM: �Káo�%ãD1Tb,M*�:,GF30Web,<RM: �Káo�%ã�,XRM:-.1,/kM:²D&:<,/.1*�edB&)�\�:�D&)�\�^3LNB&,GFK:-2J^bD&LN�M6Ë%)�Fb,ML+LN�M`�)�FdFb,/B1^K.1,ML�L+,GFKkJ^b,/kM:B1eK:�BC:��KB�)NB&D&:<LN��*-,GFWq�:�*�2J\]T3.&:<D1DC:<0W^3TyBC2yf�����= � / � 2M�')NB&D�2M.1)NkG)�F3,ML

D1)N;-:y,GFb0 DC:<,/.�*�eK:<0U0b)N.&:<*�B&LN�M`A��)NB1eK2J^KB�03:<*�2J\]Tb.&:<D&D&)N2JF�`��o,MDCBC:-.�B1e3,GF B1eK:�2M.1)NkG)�F3,ML[BC:���B-`�,MD²D�eK2X��FÝqi�FW2J^K.1,�:-B�,MLo6 � � h 6Z��e3)+D�)+03:<,�e3,MD�q�:-:XFÝ*�2J\�q8)�FK:<0Ý��)NB1eU)�FGRM:-.1BC:<0c)�F30b)+*�:<D�T�2G)�FGB&)�F3k�BC2�qbLN2K*&ÕKD]qi�OQ,<R/,/.&.&25:-B�,MLo6 � ��� 6

� ���<�����A���'�*�������� ��� �������������������� � ������!#"%$ � &'�)(*��"#� +���,(�-�� "%��+�/. �*0�132G ,4M¢C��¬�5� -�76� �8Aª94G��©+�;:�< � =�>%�@?�A�B,C9�@?EDF� < � BEGIH;� J,��K��L���M����&ONPRQ�9ST�E�*�E�U"V-�WX�Y[ZM-\"#���I(��)(*��"#� +���,(�-�� "%��+�>[���O��"#&](����"%� !#"#��+�����^�� "#-_��� ���*-��` 6� ,8a8a4M�J©�­¡¬,b�®©� -�J¨  Uc!���/�_0d6e1O< �@G�fg=Ih�> A�AEAiCFA�jE? < �@BIH�D

� A���KlkK���� � <nm �o;��(�� " < ����&pQ `qd�rL!#!#�����` 6� ,8�ªi©s5 �1¢¡¨ut]v%¢C©+�K­&© ª95 �C¨¡¤¥J�¡­&�~�i©xw\4J�&¨E¬<��«�¥J � ,5r¨ M�y& &F"V�U�E�Fz{ � ��!#��| < �@B�GE=

� j��uSyT�L!#!#��} $�� � < NP~ST�*�F-�� �����E��� < ���R&�NP m ��Z� ��(@�Y[Z-�"%� �I(M�\�F^R� ��"#�����I(*��!��U(��*"%� +p���(*-�� "#� +p�;|��/� ��W� �E-�(*���[�*� -���+���"�(*"%�E�`���� v�¢m �­�¯����~���a0��J�K¯ . £,8�ªK¯� -�P6� ,8�¦C©+�K¬<�o -¢C©�¬,5Rv�¬<�����1¢C�'1]¬X��­&�~©+�;:���6�vT1�� �����i< �e� S~o� �J�?�G�B < ^���+E� ��DF�\C H�J < J�?�?���

� D,�uSyT�L!#!#��} $�� ������&�NP m ��Z� ��(@�����-\(��E�������-\!#�'� � �p�U��(M� � �T�E�*& � ����@-�� � "V-���!���� ^R�E�U(MB�B,C9�E� < ���R�)(*"�(*}F(�_�E�U^R����&;z�NO��� +E� < rL� " � � �*��"�( ��_&F�KNO���*� ��z�!V�,z�k[��!#!\���� < � BEB�B

� =���K9��^R�I�)(*��!#"#-���_�~� �K�d|;��"V��& � "#�U(*} � �y� � ��} �;�/����&'(��*��� � �������l�L^9�E�U(��E!%"V-\�'����&��n`�_��!#"%! < � &F"%(��E�*� <T6� �8db¦&©+��¬X�� <¢C©�¬,5[0y5 :> -¢C©����E8�¨² -���� <¢m«�¨�< � �E!%}��a�M�/�iJ'� �y  0!¥¢¡£0 . � . �&¢C©��&¨�< ^R��+��@��GEDiC;BE= �o;^ �*"#� +�� �Uz�k¤���*!#��+ <�@B�GIDF

� Hi� m ;¥~����$ ��zg¦¢��(��@��e���a^���� � � &�U(��*"%� +a�U�@����-�� "#� +�T.  UcC��±�¬<¢m�\bgv�¢m¬X­���©�­¡��¬-��«�§[¨&ªG�1¢C©��&�K­§��< � BRfxA;h�>©J�DEH@CFJIH;� < �@B�GEB � G�� m R¥~��� $ �,z�¦¢�,(*� � < Y�R¥~���*�R�I��� < ���R& � `�9" � "V��� "�LªL"#��������-�� "#� ��� � "%��& "#-�� � � ���L(*�\�;(���� ���*-���"%� +R �&� c& <¢�8I¬X��©� <�

. £�¨&����8�¨�< J �Efx=;h�> jEB;H CFD ��j < � BEB�=

f �

Page 24: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

� B�� m X¥~����$ ��zg¦¢��(��@�L����&��a`����� � ��( ��� ���£��^ ^ �*�E�E-��](*�u(*�\�;( �U�@����-�� "%��+����� v%¢m �­�¯/�,�>���O0��J��¯��C����¯n0d6e16� <� c&¯! <�����&¨1�§¬<¢m­&��¬-�K«������-��5  ¡ª98I�1�i�Q©+���&� c& -¢�8E¬<�®©� -�������®¢C©����-¬,5�� . ������� � �\�i< ^���+�� � � =�G,C9�,H�D < �@B�GEB fg��& & ����&F}�� "#�'��S~N o;�U��� m �����*} � < kKRJ�A < � }��K�9�����LA < j < � B�GEB < ^���+��KH; h�

�%� ?�� m ¥~��� $ �,z�¦¢�,(*� �`����&��a ªKi���E� � ��( e�R���U(`(����;(n��� ����-�� "#� + � ������� +�} !V���`���F^ ���@����"#�����l�E����} (������(���� ��� ���*-�� "#� +�E�u(*��"#� � 2G ,4M¢C��¬�5� )c ���/�_0d6n1O< jEARfx=;h�> B �@DiC;BEA�= < � B�BE=

�%����� m ¥/����$@�,z�¦¢�,(��@�~����&��a � � � �����*��n�����U(�� �L��^ ^����i�F"#����(��_�)(*��"#� +a��,(*-���"%� +R 0y5 :~ <¢C©����I8�©�­¡¬�< J�A�fgJIh�>#�@JIH C9�iD�G <�@B�BEB

�%�@J,� m I¥~��� $ ��zg¦¢��(�� �¢����&'�a � � � �����*��n¥/!%�F-�WIz��E& &F�*� �*�U"#� +_"#��&F"V-\� � � ���~��^�^ ���i�F"#��,(��L(��\�;(/����(��*"%� � ��!g 2G ,4M¢C�K¬,5b )c���/��0y8I�1¢C©�­¡¬-� .  �­&©�����£yc& -¢A�C�@c& -¢�8E¬<�®©� -� . ­1©��&�K­¡�\< D �EfU�ih�> =�B,C;GIJ < J�?�?E?

�%� A�� m ¥/����$@�,z�¦¢�,(��@�~����&�¥� m "#�R� "%�*��z � ��(��� 15 �«X�1¢C���&� c& -¢�8E¬<�®©� -��� ����¢C©����-¬,5 [�y& &F"V�U�E�Fz { � ��!#��| < � B�BEB �%��j����KR¥/!#} ����� < Q�R¥/!#} ����� < �KRY[����� � � ��}�-��I( < qdRªy��}��*�U!#��� < ����& m lNO-@ST�E� � � !gyST�E�a^�!%��(���"#� � ����(��@&���!#� � � �E�

��ZM-\"#���I(~(��\�;(L�*�\(*��"#� � ��!`����&'������!%|F��"#� 2M �4M¢C��¬�58 )c!���/�_0d6n1�< A�jRfgAIh�> DIH,GiC D�BID < �@B�G;H;�%�@D,� m @¥/�,|�� �e����&doX,N��;���*��n� � �E�)(¤�)(*��"#� +��U�@����-�� "%��+���!#+��E��"%(�� �� 6� �8d8a4M�J©�­¡¬<�®©� -�J¨' Uc����M�T0d6n1O< J�? > H,=IJ@C HEH�J <

�@BIHEH;�%� =�� { EST�R��� +�����&a�_�NO���*� e�L^ ^ �*�i�F"%���(��~�)(*��"#� +�����(*-�� "#� +���"�(*�d!#�F-���!I��"%��"#!#����"%()|�e��� v�¢m �­�¯��<���_0��i��¯ . £,8�ªK¯ <� 6� ,8�¦C©+�K¬<�o -¢C©�¬�5`v�¬<�����1¢C�O15¬<�o­C�>©+�I: ��6�vT1�� ���,�i<X��� S~o � �GE?IH < ^R��+��@�LJ�D�BiCFJIH,A < � BEB�jR

�%�iHi� m lST�E!%�E��~"%+E�I(��R�E} ��& �y��� (�� �a-\����^ !#�\�F"%()|]� � (�� �a¥/�,|�����z)N��;���*�_�U(��*"#� +M��,(�-�� "%��+u��!#+��E��"%(�� ��L��� v%¢m �­�¯�~��«a0d6e1Ob . ��0�1 0��i��¯ . £,8�ªK¯� <���!©N¨&­1¢m�����_0y5 :> -¢C©����E8�¨� . ¡��L0O� �I���i< ^���+�� ��JEJ,j,C J�AEA < �@B�B���

�%� G�� � IST��!#}��*�U" < ��I�_��!#"#! < ����& m ;��"#����-�����!#��n�~� �L�\� �E-�(¢-\�E��^ !%���F"�()|d� � �)(*��"#� +_��,(�-�� "%��+�n��� v%¢m �­�¯��E��¨&�b�*§[§[§0��i��¯ . £,8�ªK¯� <���� ,4M�K«X¬<�®©� -�J¨� )c6� ,8�ªR4G�o�1¢ . ­1©��&�K­§��< � ��!#} ���a� < ^���+E� �_�@AED@CX��jIA < �@B�BE?

�%� B���¥�lST���������I(�$�z { ��!%(�� � ����)(*��"#� +M���(*-�� "#� +u��!%+E���*"�(*� � � �E�)(�����(*� �d� � ������+��E~��� v%¢m �­�¯��-����C�i�o¯�6� �5s5 ¯{ <�0y4G�o ,8E¬<�o¬�¤���¬-�;:�4J¬ :~�&¨�¬-��«�v%¢m *:X¢m¬,8a8�©+�;: ����6`0���v�� !�\�i<X��� S~o � 9H;� < ^���+E� �����@GiCX� AEJ < �@BIH�B

� J�?����K~ST����}������]����&#"�/� ���*����+�"#����%$y��-\�E���U(��*}�-�(*"%� + ��}FZ������*�*�i|F�a"#���\�;(�� ���R��!L�������E��|E 0y5 :~ <¢C©����I8�©�­¡¬,<AIJ fU�ih�>#��CFAED < J�?�?EJ

� JF���Np;ST�*�;-����������*� < ��;ST$ } ��& <;� F��'����"%� � "#� - < oXFQ������E�a"#� � W < �_ � � -\�*�)( <�{ *"[!V����&F�,�L��W;" < ����& { m |I(U(*���@oF^R� � &F"#� +�} ^'()�T��U(��*"%��+a���(*-�� "#� +��!#+��E��"%(�� �� 0y5 :~ <¢C©����I8�©�­¡¬�< �@J�f j)+�DEh�> J�j;H@CFJ�=;H < �@B�B�jR

� J�J,�NpRST���F-�� � �a�E���_���R& { m |I(U(�� � ¥i��¨>��0y5 :~ <¢C©����I8�¨ �$�� � �E�*&'rL� " � � �*��"%()|,"[�*� �*� < � BEB�jR� J�A��NpTST���F-�� � �a�E���'����& m ¤kO����*"%�` q�"#�*� -�(M-������U(��*}�-�(*"%�E�7� � -\�E��^���-\(�&F"#�*� -�(*� & ��-�|;-�!%"V-]�T�E�*&p+E�*��^ ��� ���

v�¢m �­�¯-�~���M0��J��4J¬�5 . £,8�ªM -¨C©s4F8  <�76� ,8�¦&©+��¬<�o -¢C©�¬�5�v'¬<�����1¢C� 15¬X��­&�~©+�;:���6�vT1�� �. ��i<X�e� S~o � `�@J�=�j < ^���+E� ��E� =,C9�@J�B < � B�B;H;

� J,j��Np9�n"V��-�� � �����R&�NP/"¤�,(�� �*�������o;(��*"%� +u����(*-�� "#� +u����&O��(�� � ��^ �*�F&F}�-�(������� v%¢m �­�¯0 ���� . ��0_1Obg0�1 . 6� �8dbª95 �*¨X©��®£ )cM6� �8Aª94G��¬X��©� <��< ^R��+��@�_���@AiC9�iJ�D E�L��� ��"V-�����NO��(�� � ��,(�"V-���!�o;�F-\"#�\()| < � B;Hij�

� J�D,� { �� ����WE� �d����& m n¥~����$ ��zg¦¢��(��@� < � & "�(*������ �C�@c& -¢�8E¬<�®©� -�1�����®¢C©����-¬,532���¬<�o¬ . ��¢�4J­��g4M¢m�C¨¬<��« 0y5 :> -¢C©����E8�¨ "¢��� �I(�"V-\�\z�ª���!%! < � BEBEJF

� J�=�����l�����@&F��"#WF������������&P�a � � � �����*��K� � � �*��+��\z���^ (�"#����!e�d} !%(�"#^ !%�M��^ ^ �*�i�F"%��,(*�d�U(��*"%��+'���(*-�� "#� +�d��� v%¢m �­�¯���G����0��J�K¯ . £,8Aª3¯[ <� 6� ,8�¦C©+�K¬<�o -¢C©�¬,5~v'¬<�����1¢C��15¬<�o­C�>©+�I:��*6�vT1�� �4�\�i<L��� S~o � [J�=;H,= < ^R��+��@�'� ?�B,C9�iJ�G <J�?�?EA

� JEHi�M��X�_��!%"#!¤����& ��/"¤����WX��L��"%��^ �*� � �@&O��!#+����*"%(�� � � ��� ��^ ^ �*�i�;"#��,(*�K�)(*��"#� +]����(*-�� "#� +Rd. ��0_1 2G ,4M¢C�K¬,5� )c6� �8Aª94G��©+�;:�< �@B�fg=Ih�> B�GEBiCFB�B�B < � BEB�?�

� J�G��M����_��!%"#!/����&7Q��oF��" � ������� � "#� � ���)CI(�"#���u�)(*��"#� + ����(*-�� "#� + }R�U"#� +��E� !#|P��� �F� &p�;} �d�R� �d� � !%�F- ��!~�)(*������+��!#�F-���(�"#����� ¥b�M�§ <¢m����©�­¡¬,5/6� ,8�ªR4G�o�&¢ . ­&©��1��­¡��< � A�> AEA �\C;A�AE= < � B�G���

� J�B�� m R��"%� +�� ��"V-��O����& oXR�_} �U(*$�~� �*��� } W;W��������'(��M�- -\�*��"#+��I(L����&��/��"#� ���@>¢� }�� " � |;"#� + � "#��� � � !%"#� �@����zg(*"%�����}FZ��M(*��� �_-������U(��*}�-\(�"#���` 0y5 :> -¢C©����E8Q©�­¡¬,< � B�fgAIh�> AEA ��CFAED�A < �@B�BIHF

f �

Page 25: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

� A�?�� m ¤��"#��+E���*"#-�� < ol��_}��U(*$ < ���R&�Q��oI(*�,|��E�Y[Z-�"%� �I(a"#��^ !%� �����I(*��(�"#��� � � !#��$�|p��}FZ��p(��*��� � ���� v%¢m �­�¯0�X¢m«�� -¢���¨¡�/ CªY <��0y5 :> -¢C©����E8 §%�I:X©+���¡�1¢C©+�I: �i�_0y§�� �4���@<R��� S~o � `�@=�=�G < ^���+E� �~A�?,CIjIJ < �@B�BEB

� A ����a����E� � ��( ����& m �¥~��� $ �,z�¦¢�,(*� � �� ¬<��«>¦m � ��] )cK0y5 :~ <¢C©����I8�¨¬-�K« ��¬<�o¬ . �®¢�4J­1�g4M¢m�&¨dt��&� v'¬�¨1­¡¬,5�¬-�K«P6 �y& &F"V�U�E�Fz { �@�U!#��| < J,��&]� &F"%(�"#��� < � BEB ��

� AEJ,��a[���E� � �\( <Tm [¥~����$ ��zg¦¢��(��@� < ����&7�_[o;� "V&F� � � ��� "%��& "#-�� � � ���a(����;( >�"¤�,(a(��*��� �a���R&7^���(��������i|F������{ [���*��W��@�a����& m ¢¥~��� $ �,z�¦¢�,(*� � < � & "�(*����� <��C� c& <¢�8I¬X��©� <� �A�1�®¢C©����-¬,5 2 0y5 :> -¢C©����E8�¨�¬<��« ��¬X��¬ . ��¢�4J­��x4M¢§�C¨�<-��R��^F(*���LD < ^R��+��@�~=�=iCFGEJ "¢��� �E(*"#-��\z�ª���!%! < � B�BIJF

� A�A���a ª�����E� � ��( "l�¤� A�%�E>¤�L�'�\ZM-\"#���I(~(����I(���� ���*-���"%� +a�U|F�U(�� � < ry�U� ��� �/����;}���!�¤r { ST���I(��*� � ���~(���� � ���$�YTq < r�� " � ������"�()|� � { �,(*���*!%�;� < �@B�G;H;

� A�j���qdR��}�� ��� !#&l 0y5 :~ <¢C©����I8�¨� -� . �®¢C©+�I:<¨¡¤[¥M¢m�¡�&¨¡¤{¬-��« . ��w�4J�&�K­§�&¨ ¢S/���K����"V&F+�� r�� " � �����U"%()|,"[�*� �*� < �@B�B;H;� AED,��ªK�ªL�@��^�� �C�@c& -¢�8E¬<�®©� -��������¢C©�����¬�532d6� ,8�ªR4G�o¬<�®©� -��¬�5�¬<��«P¥b�M�§ <¢m����©�­¡¬,5`0[¨oªG�¡­1��¨ ��y-��E&F����"V- "[�*� �*� < � B;H,G�� A�=�� m Xª������U^9�;��!� "¢�*�E-�(*"#- ��! � �E�)( ��� ����-�� "#� +M"#� �U(��*"%��+E� K.  )cC�®±�¬-¢m�av%¢m¬X­��®©�­§�¬-��«M§[¨&ªG�1¢C©��&�K­§��< �@?�fx=;h�>©D�?���CFD�?�= <

�@B�GE? � AIHi��ªKlªL|;|;����'����&��a � � � ���*���R��R���U(�� ����"�(�z�^����*��!%!#��!���^�^ ���i�F"#��,(��a�)(*��"#� +]����(*-�� "#� +R ��� v%¢§ �­�¯T�4�X����0��J�R4J¬,5

. £,8AªG �¨C©s4F8  -� 6� �8E¦&©+��¬X�� <¢C©�¬,5�v'¬<���o�&¢C�O15¬X��­&�~©+�;:���6�vT1�� �,� �i<X�e� S~o'J�A;H,A < ^���+��@�LJ�?�A,CFJEJ,j < J�?E?EJF� A�G��Q��� ����W;W,��"#� ���O����& "�9oF����&F� �*� ~oF"%��^ !#�K!#"%��� �����T�E��Wu��}FZ��O���*�*�i|u-������U(��*}�-\(�"#���`~��� �,6�0���v/< (��M��^ ^R�@��� <

J�?�?EA � A�B���qdE�_"#� < Q�IoF"%� < ª� "¤���*W < ����&�� "¤���*WX � "#� � ���Uz�(�"#����-\�E���U(��*}�-�(*"%�E�a� � �U}FZ��M���*���i|;� `��� v%¢§ �­�¯e���G���d0��J��¯

. £,8Aª3¯� -��6� �8E¦&©+��¬X�� <¢C©�¬,5`v'¬<���o�&¢C��1]¬X��­&�~©+�;: �*6�vT1�� �4�\�i<9�e� S~o � �J�=;H,= < ^���+��@�_� G�=,C9�@B�B < J�?E?�A � jE?��Q�,�_"%� ����&�Q �o;���i�/�\z��n�i|I!#���@l���E�)([�U(��*"%� +���,(�-�� "%��+y}���"#� +����Xz�+������ ��!#+��E��"%(����'erL� " � � �*��"�()| � � � �E��&F�E� <

�@B�B���� j�����qdF�_�;}F(�� < Q�;NO���*��"V� < ����&MkK)"[���,(�( ¤���E�)(/^��,(�(����*�M��,(�-�� "#� +K"#�]�U(��*"%��+E� ¢. ��0�1 2M �4M¢C��¬�53 <�p6� ,8�ªR4G�®©+�I:�<

=�> AIJ�A,C;AED�? < �@BIHEH;� jIJ,� "�e�_� ����& oXn�L!#} �*}`�oF^���-��M�\ZM-\"#���I(K!#"#� � ��� (�"#���u-\�E���)(*��}R-�(�"#���P� � ��}FZ��p���*�*�i|F� ��� v%¢m �­�¯y���G����0��J��¯

. £,8Aª3¯� -��6� �8E¦&©+��¬X�� <¢C©�¬,5`v'¬<���o�&¢C��1]¬X��­&�~©+�;: �*6�vT1�� �4�\�i<9�e� S~o � �J�=;H,= < ^���+��@�LJ�?�?,CFJ � ? < J�?E?�A � jEA���rKINO���;�R� �¢����& m I��I¥/����$@�,z�¦¢�,(��@��n�L�M��!%+E���*"�(*� � � ���/�)(*��"#� + ��,(�-�� "#� + ��"�(*�M� �U�!(I} ����-���� � &F�E��� (/-����*� � �&� c& <¢�8I¬X��©� <��v%¢m �­¡�C¨¡¨C©+�I: ���1���o�&¢¡¨�< AIH fxA;h�>#� A�A,C9�@A�= < � B�B���

� j�j���rKENO���I�9���[����&�YL { IN�|�� �*� no;} Za�����*�*�i|F� >`�_� ��� ���\(*� �F& � �E�¤���Fz�!#"%� �L�U(��*"#� + �U�@����-�� � � ¤. �*0�1 2G ,4M¢C�K¬,5 <� 6� ,8�ªR4G�®©+�I:�< JEJ fgDIh�> B�AID@C;B�jEG < � BEB�A

� jID,��rK`NO���;�9��� ����&�oX { }� � ·����AÅJÆ�à >�� (*�I�E!n(����U�@����-��O(�� �*��}�+���� �I(�"#��� ��!%���|F�)(*����� ��� v%¢m �­�¯� . §   ���¥i�¡­C�>�J©�­¡¬,5T6� -� c&�1¢m�1��­¡��< ^���+E� �LJ�AiC;AIJF;ryoFY � ��� �y�����F-\"V�,(�"#��� < ¥T� ��WE��!#��| < S/� < ryo � < { "#�I(����K� B�B�j�

� jE=���Y�nNP�NO-@ST�*��"#+��I(@�� �U^R��-\��z��@-\�E� ����"V-���![��}FZ���(��*���u-������U(��*}�-�(*"%�E�p��!#+����*"%(�� �� 2G ,4M¢C��¬�5% Uca0y5 :> -¢C©����E8�¨�<J�A�f�JEh�>©J�=IJ@C JEH�J < � B;H,=�

� j;Hi��Y�`N���} ��� < �a � � � ���*��� <9� n�9" � "#��� " < ����& m �¥~��� $ �,z�¦¢�,(*� � K���E�)(�����&������F"%� !#���T�E�*& �U�@����-�� "#� +]�E� -����az^����@����� &M(��\�;(@ 0d6e1 ¥G¢m¬<�G¨1¬X­���©� <�G¨� -���C�@c& -¢�8E¬<�®©� -� . £�¨&����8�¨�< �@G�f�JEh�>#���@AiCX� A�B < J�?E?�?�

� jEG���Y� N�|�� �*� ¤� � �E�)(�� "%(Uz � �@-�(*������!#+��E��"%(�� � � �E�L��^ ^����i�F"#����(����)(*��"#� +a����(*-�� "#� +����E�U�@&M����&F|;�����a"V-�^ �*��+������az��"#� +� 2G ,4M¢C�K¬,5� Uc!���/�y0d6n1O< jI=�fgAIh�> A�BID@C;j��@D < � BEB�B�

� jEB���Y�`N�|�� �*� ����& { �NO"%!#!%� � ��^ ^ �*�i�;"#��,(*�d��,(�-�� "#� +�� � �*��+E} !V�����\�F^ �*� �*�U"#����� �� 4F5s5 ����©+�� )cd15¬<���/��8I¬X��©�­¡¬�5� ©� ,5Р�:X£,< D �EfU�ih�>©D@CFAIH < �@B�G�B�

� D�?���Y� { ¤N�|�� �*� '� � ��} �d��}��*��"#����� ��!#+��E��"%(�� � � ���d��� +�} !V��� ���;^����@����"%�E�P^��,(�(����*�p��,(�-�� "%��+� 2M �4M¢C��¬�5% )c���M�0d6n1O< AEB�fgJIh�> jEAE?iCIjEjEG < � BEBEJF

� DF����a � � � �����*��n��+�}�"#&F�@&�(��E} �[(*�d��^ ^ �*�i�;"#��,(*���)(*��"#� +����(*-�� "#� +� 0d6n1 6� ,8�ªR4G�®©+�I: . 4M¢ �-�&£�¨�< A�ARf)�ih�> A���CFG�G <J�?�?���

f��

Page 26: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

� D�J,��a � � � ���*�*�� � ��z�+E��� ^`>T� � ���U(y���R& ���\�F"#� !#��^��,(�(�� ��� ���(*-�� "#� +(*�I�E!g_.  )cC�®±�¬-¢m��v�¢m¬X­���©�­¡��¬<��«§¤¨1ªG�&¢C©��1��­¡��<A���>#�@J�=ED@CX� A��@J < J�?�?���

� D�A���a � � � �����*�����^ ^ �*�i�F"%��,(*�M�*��+�}�!#���K�\�F^ �*� �*��"%�E� �U�@����-�� "%��+ ��"�(*�7���*� "%(������*| "#�I(�� +����d�T� "%+E�I(*� �e� -�� � "V-���!m ��^9����(�� m +,q S�S¢z�J�?�?EJ,z�= < qy��^R����(������I(�� � ST����^ }F(*����oF-�"%� ��-\� < rL��" � �����U"%()|� � ST� "#!%� < Q�}�!%|]J�?�?IJF

� D,j���a � � � ���*��������& m ¥~��� $ ��zg¦¢��(�� � `�p�;|;� �*"#&�"#��&F�\�F"#� +����\(*� �F& � ������^ ^ �*�i�F"%��,(*�¤�)(*��"#� +���,(�-�� "%��+� 2G ,4M¢C�K¬,5 Uc0� ©N¨1­1¢m�����_0y5 :> -¢C©����E8�¨�< �Ef)�,h�>©J�?ID@CFJ�A�B < J�?E?�?�

� D�D,��a � � � �����*� < Y�9N��E} ��� < NP � ��} �9����( <l� l�9" � "#��� " < ����& m X¥/����$@�,z�¦¢�,(��@��L�y& &F"#� +]-�����^ �*� �*�U"#���'(*�u� !#�F-�W�E& &F�*� �*�U"#� +a"%� � ����(�� &u"%�R&F�\�F� � �C�@c& -¢�8E¬<�®©� -��������¢C©����-¬,5 < ARf)�,h�> jEBiC�H�H < J�?�?�?�

� D�=���a � � � �����*�M����&�NP m �,Z� ��( _�����U(y�*��+E} !V�������F^ ���@����"#��� ��� ����-��`y��� v%¢m �­�¯ �<¢§« �� <¢���¨¡�/ Cª� -� 0y5 :~ <¢C©����I8§��I:X©+���¡�&¢C©+�;: �i� 0�§�� � �\�i<R�e� S~o � l� =�=EG < ^���+�� ���@B�BiC JF�@A < � B�BEB

� DEHi��a � � � �����*� ����& Np m �,Z� ��(@����E�)(�����& ���\�F"#� !%�'�)(*��"#� + ���(*-�� "#� +��;|P-\�E�K� "#� "#� +�� "%(Uz�^����*��!%!#��!#"#��� ����&��}FZ��]��}F(��E����(*�� 0d6n132G ,4M¢C�K¬,5� Uc�§¤¨1ªM�1¢C©s8I�1�i�o¬,5l0y5 :> -¢C©����E8Q©�­C¨�< D�f jFh < J�?E?�?�

� D�G���a � � � �����*�M���R& NP m ��Z�����( �¢5 �*¨~©®¦�5 �av'¬<���o�&¢C��15¬<�o­C�>©+�I:]©+� . �®¢C©+�I:<¨dtuv%¢m¬~­1�®©�­¡¬,5� -�Rb�5v©+���I¨&�¡¬<¢m­C�y¬,5 :> ,b¢C©����E8�¨[c& -¢!�o��¨>��¨ ¬<��«²¦C©� �5  �:X©�­¡¬,5�¨1�*w�4J�1��­¡�C¨ TS/���K� �*"#& +��_rL� " � � �*��"�()| "[�*� �*� < J�?E?EJ

� D�B���a � � � �����*� < Y�loF}F(�"#� ��� < Q�X�n����� "%����� < ����& Q�`�n���*� "%�R ����&F���;"#� +](����I( ��"%(��p��^�^ ���i�F"#��,(�� � z�+E�*����� ���v�¢m �­�¯_���X��� 0��J��4J¬�5 . £,8�ªM -¨¡©s4F8  -� 6� �8E¦&©+��¬X�� <¢C©�¬,5~v�¬<�����1¢C��15¬<�o­C�>©+�I: ��6`v/1�� �;���E���i<���� S~o � ��@G�jIG <^R��+��@�~AED�?,C;AE=�A < J�?E?�?

� =�?�� m "["#�I(�� � �Y¤ZM-\"#���I(T�U(��*"#� + ��,(*-���"%� +K��"�(*�M&F����� (Uz�-�������^R�,(U(*���*��� e���M�KI��^R�I�)(*��!#"#-�������&u�n;�_��!#"%! < � &F"%(��E�*� <6� �8E¦&©+��¬X�� <¢C©�¬,5E0y5 :> -¢C©����E8�¨� <�p�� <¢m«�¨�< � �E!%} ���¢�/�iJ~� �R  0�¥[¡ 0 . � . �1¢C©��&¨�< ^R��+��@�¤���\CFJ�B �o;^ �*"#� +�� �Uz�k¤���*!#��+ <�@B�GIDF

� = ��� "�Xo;��!#!#��������~����(��������*|�����&O-�����^ }F(��,(�"#����� � � � ��!#}F(�"#���R���*|]&F"V�)(�����-�� � >�"¤��(U(*���*�O���@-\��+E� "%(�"#���` 2G ,4M¢C�K¬,5� )c0y5 :~ <¢C©����I8�¨�< �E> AID�BiCFAIH�A < �@B�GE?

� =EJ,��qd�o;} �R& �i|�� � � ��| � �E�)(���} ���U(��*"%� +O��� ���*-�����!#+����*"%(�� �� 6� �8d8a4M�J©�­¡¬<�®©� -�J¨ )cE���/�d0d6n1O< AEA�fxG;h�>#� AIJ@C9� jIJ <�@B�BE?

� =�A���Y�XoF}F(�"#� ��������&�Q X�n���*� "%�R��n"#!�(*�*��(�"#��� ��"�(*� � z������a^�!%�@�L"#� ��^�^ ���i�F"#��,(��d�)(*��"#� +u���(*-�� "#� +�_��� v%¢m �­�¯0 ����0��i��4J¬�5 . £,8AªG �¨C©s4F8× <� 6� ,8�¦C©+�K¬<�o -¢C©�¬�5�v'¬X�®�o�1¢C��1]¬X��­&�~©+�;:���6�vT1�� � ���i<���� S~o � L�@?IH�D < ^���+�� �D�?iC;=�� <�@B�BE=

� =�j��Q�F�e������"%�a����&]ª�)"���!%(��E!#���oI(*��"#� +a��,(*-���"%� +a"#�M(����_q � � ��!%^ �R���9�\( /.  )cC�®±�¬-¢m��v%¢m¬X­��®©�­§�Q¬-�K«K§¤¨1ªG�&¢C©��1��­¡��<JIHFf�H�h�> GED ��CFG�= � < � BEBIHF

� =ED,����[�~������^������` m � +�} !V�����\�F^ �*� �*��"%�E����� ����-�����!#+����*"%(�� �� 6� �8d8a4M�J©�­¡¬X��©� <�G¨5 )c����/��0d6e1O< �E��> j��@BiCIj;J�J <�@B�=EG

� =�=���Y�Er�WIWE��� � �`��e"#��&F"#� +a��^ ^ �*�i�F"%���(���^���(U(�� ���R�¢"#�u�U(��*"%� +I�� 2G ,4M¢C��¬�5K Uc~0y5 :~ <¢C©����I8�¨�< =�fU��CFAIh�>#� AIJ@CX� AIH < �@B�GIDF� =IHi��Y�9r�W;W��������`KST���R�)(*��}�-\(�"#� +]��}FZ��O(��*���@�����Fz�!%"#� �d"%� !%"#� � ����(*"%���E���� v%¢§ �­�¯T���~���²����*v �� -¢�5ЫP6� ,8�ªR4G�o�&¢

6� <�I:X¢m�C¨¡¨�������v� �����i< ^���+E� �~jEG�j,C;jEBEJ � ����(��Fz�ªL�E!%!V����& < � B�BIJF� =�G���Y��rLW;WE��� � �`O�L^ ^ �*�i�F"%���(��u�U(��*"%��+O����(*-�� "#� + � � ���K��}FZ���(��*��� � ���� v%¢m �­�¯ �G��� 0��i��4J¬�5 . £,8�ªM -¨C©s4F8  <�

6� �8E¦&©+��¬X�� <¢C©�¬,5`v'¬<�����1¢C�O15¬<�o­&�~©+�I:���6�vT1�� �4���i<9�e� S~o � �D�J�? < ^���+E� �LJ�J�GiC J,jIJ < �@B�B�A�� =�B��Q�Rr�!%!#����`��£��"%������| Xz�+������ (*� -�� ��" (I} � � ���_��}F(*����,(*"#-�-����*���@-�(*"%�E�'� � �U}����)(*"�(*}F(�"#��� < &F��!#�\(*"%�E� < "#��������(�"#���

����&]��� � �����*��!9���*���E�*�/"#�'�/����& � ¥b�M�u6� �8Aª94G���1¢ 2G ,4M¢C��¬�5 < �@? >#��j��\C9� j;H < � BIHEH;�©H,?�� "� { ��"#� ���@ � "#� � ���e^���(U(*���*�d��,(�-�� "#� +���!%+E���*"�(*� ��`��� v%¢m �­�¯l���G��� 0��J�R4J¬,5X�*§[§[§ . £,8AªG �¨C©s4F8� <� . ±�©���­&�~©+�;:¬<��«a0y4G�� �8I¬X��¬5¥b�M�§ <¢C£,< ^���+��@�_��C9�E� < � B;H,A�

�©H;���a�� { "%(U(*��� < �K�N����l�,( < ����&'�_ ¥/��!#!g 15¬-�K¬�:X©+�I: ��©�:~¬>¦C£<�o�C¨ [k[��� � �E�U(�������& m ��"#� � �E!#& < J,��&u� &F"%(�"#��� < �@B�BEB �©H�J,�ol { }M����&drKENO���I�9���@e��+��*��^KCK� � �E�)(¢��^ ^ �*�i�F"%��,(*�T^R�,(U(*���*�Fz�����(*-�� "#� +y(��;��!�n��� v�¢m �­�¯ � . §   � � �²©+�i�o�&¢

�4�4���Y¥i�¡­C�>�J©�­¡¬,5T6� <� c&�1¢m�1��­¡�\< ^���+E� ���@D�AiCX� =EJ < �@B�BIJF

f �

Page 27: Text Searching: Theory and Practice Ricardo A. Baeza-Yates and

�©H,A��ol { }]����&urK NO���;�9���@��R���U(¢(*�\�;(L�U�@����-�� "%��+K��!#!%�,��"#� +�� ���*����� 6� ,8a8d4M�i©�­¡¬<�®©� -�G¨! )c9���/��0d6n1O< AED > GEAiCFB � <�@B�BIJF

�©Hij��ol { }u���R&Mr�FNO���;�9���@¤� � ���U(/��!%+E���*"�(*� � � ���¢�d} !%(�"%z�^���(U(*���*�u�U�@����-�� "#� +� m ��^9����(T� m z�B�j�z*�,H < qy��^R����(������I(� � ST�E�a^�}F(�� ��oF-\"#����-�� < r�� " � ������"�()|M� � ����"#$��E��� < �@B�B�jR

�©H�D,�ol { } < r�¤NO���I�9��� < ���R&pYL¤N�|�� �*� � ��} �/(E}R��&F���,(*"#-]��!#+����*"%(�� � � ������^ ^ �*�i�F"%���(���*��+�}�!#�����\�F^ �*� �*�U"#������(*-�� "#� +� 2G ,4M¢C�K¬,58 Ucy0y5 :> -¢C©����E8�¨�< � BRfxAIh�> A�jE=,C;A�=E? < �@B�BIDF

�©H,=����Kl¦¢���RM�~� �M-\�E��^ !%���F"�()| � � ^R�,(U(*���*� ���(*-�� "#� + � �����������R&F��� �U(��*"#� +�'. �*0�1 2G ,4M¢C�K¬,5� -� 6� ,8�ªR4G�®©+�I:�<G�> AE=�G,C;A�G;H < �@BIH�B

fGh