С. М. Окулов АБСТРАКТНЫЕ ТИПЫ ДАННЫХ Москва БИНОМ. Лаборатория знаний 2009 ÓÄÊ 519.85(023) ÁÁÊ 22.18 Î52 Î52 Îêóëîâ Ñ. Ì. Àëãîðèòìû îáðàáîòêè ñòðîê / Ñ. Ì. Îêóëîâ. — Ì. : ÁÈÍÎÌ. Ëàáîðàòîðèÿ çíàíèé, 2009. — 255 ñ. : èë. (Ðàçâèòèå èíòåëëåêòà øêîëüíèêîâ) ISBN 978-5-9963-0162-1 Íà ìàòåðèàëå çàäà÷è ïîèñêà ïîäñòðîêè â ñòðîêå, ðåøåíèþ êîòîðîé ïîñâÿùåíû ðàáîòû ìíîãèõ ïðîôåññèîíàëîâ çà ïîñëåäíèå 20–30 ëåò, ïîêàçàíî, êàê ïîñòðîèòü çàíÿòèÿ ïî èíôîðìàòèêå, ÷òîáû ïîáóäèòü øêîëüíèêà ê òâîð÷åñòâó, ðàçâèòü ó íåãî âêóñ ê ðåøåíèþ èññëåäîâàòåëüñêèõ ïðîáëåì. Äëÿ øêîëüíèêîâ, ïðåïîäàâàòåëåé èíôîðìàòèêè, à òàêæå äëÿ ñòóäåíòîâ, âûáðàâøèõ èíôîðìàòèêó â êà÷åñòâå îñíîâíîé ñïåöèàëüíîñòè. Êíèãà ìîæåò áûòü èñïîëüçîâàíà êàê â îáû÷íûõ øêîëàõ ïðè ïðîâåäåíèè ôàêóëüòàòèâíûõ çàíÿòèé, òàê è â îáðàçîâàòåëüíûõ ó÷ðåæäåíèÿõ ñ óãëóáëåííûì èçó÷åíèåì èíôîðìàòèêè è ìàòåìàòèêè. ÓÄÊ 519.85(023) ÁÁÊ 22.18 Ïî âîïðîñàì ïðèîáðåòåíèÿ îáðàùàòüñÿ: (499) 157-52-72, e-mail: binom@Lbz.ru http://www.Lbz.ru ISBN 978-5-9963-0162-1 © ÁÈÍÎÌ. Ëàáîðàòîðèÿ çíàíèé, 2009 Îãëàâëåíèå Ïðåäèñëîâèå . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Ãëàâà 1. Ñòðîêè . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.1. Îñíîâíûå ïîíÿòèÿ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2. Ìåòîäû ïðåäâàðèòåëüíîãî àíàëèçà ñòðîê . . . . . . . . . 13 Ãëàâà 2. Êëàññè÷åñêèå àëãîðèòìû ðåøåíèÿ çàäà÷ îáðàáîòêè ñòðîê . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.1. Àëãîðèòì Ä. Êíóòà – Äæ. Ìîððèñà – Â. Ïðàòòà . . . . 28 2.2. Àëãîðèòì Ð. Áîéåðà – Äæ. Ìóðà . . . . . . . . . . . . . . . . . 36 2.3. Àëãîðèòì Ð. Êàðïà – Ì. Ðàáèíà. . . . . . . . . . . . . . . . . . 52 2.4. Àëãîðèòì Shift-And . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.5. Èñïîëüçîâàíèå ýëåìåíòîâ òåîðèè àâòîìàòîâ â ðåøåíèè çàäà÷ îáðàáîòêè ñòðîê . . . . . . . . . . . . . . . . 73 2.6. Àëãîðèòì Ì. Êðî÷åìîðà . . . . . . . . . . . . . . . . . . . . . . . . 81 2.7. Àëãîðèòì Ì. Ìåéíà – Ð. Ëîðåíöà . . . . . . . . . . . . . . . . 88 Ãëàâà 3. Äåðåâüÿ ñóôôèêñîâ. . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.1. Îñíîâíûå ïîíÿòèÿ. Ïðîñòûå àëãîðèòìû ïîñòðîåíèÿ äåðåâà ñóôôèêñîâ . . . . . . . . . . . . . . . . . . 103 3.2. Àëãîðèòì Ý. Óêêîíåíà . . . . . . . . . . . . . . . . . . . . . . . . 118 3.3. Àëãîðèòì Å. Ìàê-Êðåéãà . . . . . . . . . . . . . . . . . . . . . . 127 3.4. Ñóôôèêñíûå ìàññèâû . . . . . . . . . . . . . . . . . . . . . . . . . 136 3.5. Àëãîðèòì À. Àõî – Ì. Êîðàñèê . . . . . . . . . . . . . . . . . 147 Ãëàâà 4. Âû÷èñëåíèå ðàññòîÿíèÿ ìåæäó ñòðîêàìè . . . . . . 155 4.1. Îñíîâíîé àëãîðèòì . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 4.2. Àëãîðèòì Ý. Óêêîíåíà – Þ. Ìàéåðñà . . . . . . . . . . . . 165 4.3. Çàäà÷à î íàèáîëüøåé îáùåé ïîäïîñëåäîâàòåëüíîñòè äâóõ ñòðîê . . . . . . . . . . . . . 174 4 Îãëàâëåíèå Ãëàâà 5. Àëãîðèòìû ïðèáëèæåííîãî ïîèñêà ïîäñòðîê . . 198 5.1. Ïðîñòîé àëãîðèòì . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 5.2. Àëãîðèòì Ñ. Âó – Þ. Ìåíáåðà . . . . . . . . . . . . . . . . . . 201 5.3. Çàäà÷à î k-íåñîâïàäåíèÿõ . . . . . . . . . . . . . . . . . . . . . . 205 5.4. Àëãîðèòì Þ. Ìàéåðñà . . . . . . . . . . . . . . . . . . . . . . . . . 215 Âìåñòî çàêëþ÷åíèÿ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Ïðèëîæåíèÿ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234