<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>fxposter&#039;s wave &#187; search</title>
	<atom:link href="http://blog.fxposter.org/tag/search/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fxposter.org</link>
	<description>Stories about Ruby, JavaScript, Objective-C and other cool tools</description>
	<lastBuildDate>Sun, 30 Oct 2011 20:00:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>C++: substring search</title>
		<link>http://blog.fxposter.org/2007/06/07/c-substring-search/</link>
		<comments>http://blog.fxposter.org/2007/06/07/c-substring-search/#comments</comments>
		<pubDate>Thu, 07 Jun 2007 20:47:57 +0000</pubDate>
		<dc:creator>fxposter</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Универ]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[Алгоритмы]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/2007/06/07/c-substring-search/</guid>
		<description><![CDATA[Последняя лабораторная, которую я делал достаточно долго и до сих пор не уверен в 100%-й правильности ее работы, потому прошу всех протестировать эту лабу. Как я раньше писал, по Компьютерным Информационным Технологиям у нас 3 лабораторные работы + экзамен, но те, кто сделал эти 3 работы раньше чем нужно, могут попросить препода дать им 4-ую [...]]]></description>
			<content:encoded><![CDATA[<p>Последняя лабораторная, которую я делал достаточно долго и до сих пор не уверен в 100%-й правильности ее работы, потому прошу всех протестировать эту лабу.</p>
<p>Как я раньше писал, по Компьютерным Информационным Технологиям у нас 3 лабораторные работы + экзамен, но те, кто сделал эти 3 работы раньше чем нужно, могут попросить препода дать им 4-ую лабу, сделав которую можно не идти на экзамен. Моя 4-ая лаба - реализация одного из алгоритмов поиска всех вхождений подстроки в строке, а именно - реализация алгоритма Бойера-Мура (Boyer-Moore). В этом алгоритме поиск в лучшем случае (при удачной реализации) выполняется за сублинейное время (т.е., за O(k*n), где k = const, k &lt; 1). Проблема реализации заключалась в том, что:</p>
<ul>
<li>алгоритм нам объясняли с использованием строк с символами [1...n] (т.е. первый символ строки находится на [1]-й позиции), а мне пришлось делать с обычными c&#8217;шными строками [0...n-1]; на первый взгляд кажется - ну и в чем тут проблема&#8230; проблема в сложности алгоритма&#8230; его и просто по книжке нелегко реализовать, а тут еще и добавляются всякие проблемы - там единицу не добавил, там - не отнял и т.д.</li>
<li>алгоритм нам объяснили не полностью, а где-то на 2/3&#8230; оставшуюся часть пришлось выводить самому&#8230; над алгоритмом, который в итоге был реализован функцией в 20 строчек, я сидел часа 4&#8230; вроде заработало&#8230;</li>
<li>ну и все остальное по мелочи :)</li>
</ul>
<p>Сейчас я выложу чисто исходники самого алгоритма (а также еще одного алгоритма, который было легко реализовать на основе уже сделанных функций), а завтра - сделаю какую-нибудь консольную программу для того, чтобы сам алгоритм можно было удобно тестировать.</p>
<p>Файлы: <a href="http://blog.fxposter.org/wp-content/uploads/2007/06/string.rar">source</a> (string.h + string.cpp).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2007/06/07/c-substring-search/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

Served from: blog.fxposter.org @ 2012-02-10 05:37:09 -->
