<?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>baseplane - technology platforms &#187; mathematics</title>
	<atom:link href="http://baseplane.com/tag/mathematics/feed/" rel="self" type="application/rss+xml" />
	<link>http://baseplane.com</link>
	<description>Technology Platforms, Architecture and Kits for all your codes by Ryan Christensen</description>
	<lastBuildDate>Thu, 12 Nov 2009 05:10:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Big O Notation in Design Theory</title>
		<link>http://baseplane.com/2008/03/22/big-o-notation-in-design-theory/</link>
		<comments>http://baseplane.com/2008/03/22/big-o-notation-in-design-theory/#comments</comments>
		<pubDate>Sun, 23 Mar 2008 02:01:26 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[formal]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[chaos]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[mathematics]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[theory]]></category>

		<guid isPermaLink="false">http://baseplane.com/2008/03/22/big-o-notation-in-design-theory/</guid>
		<description><![CDATA[Big O Notation is based on complexity theory and is something engineers and architects should know about do determine complexity and orders of magnitude in their data and scalability formal blueprints. Whenever you use any algorithm or port a formal function into code, math and reducing the orders of magnitude is what separates the fast [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Big_O_notation" target="_blank">Big O Notation is based on complexity theory</a> and is something engineers and architects should know about do determine complexity and orders of magnitude in their data and scalability formal blueprints. Whenever you use any algorithm or port a formal function into code, math and reducing the orders of magnitude is what separates the fast from really fast.</p>
<p>Optimization can be evil, but solid base starting points are desired.  Many times formal knowledge can be as needed as logical or physical separation and understanding service and standards format layering in your applications for the best evolution and versioning as well as performance. Formal engineering is what is separating companies like Google from the pack.  Do you do formal?</p>
<blockquote>
<h2><span class="mw-headline">Orders of common functions</span></h2>
<p>Here is a list of classes of functions that are commonly encountered when analyzing algorithms. All of these are as <em>n</em> increases to infinity. The slower-growing functions are listed first. <em>c</em> is an arbitrary constant.</p></blockquote>
<blockquote>
<table class="wikitable">
<tr>
<th>Notation</th>
<th>Name</th>
<th>Example</th>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/8/8/8/888824f927e3941162481ec1e6a80a4d.png" class="tex" alt="\mathcal{O}\left(1\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Constant" title="Constant">constant</a></td>
<td>Determining if a number is even or odd</td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/3/7/9/379f15e10978c0cc0c0496a3c9393435.png" class="tex" alt="\mathcal{O}\left(\alpha(n)\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Ackermann_function" title="Ackermann function">inverse Ackermann</a></td>
<td><a href="http://en.wikipedia.org/wiki/Amortized" class="mw-redirect" title="Amortized">Amortized</a> time per operation when using a <a href="http://en.wikipedia.org/wiki/Disjoint-set_data_structure" title="Disjoint-set data structure">disjoint-set (union-find) data structure</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/d/f/f/dffc45a5565208e34bba3fbc0733d2c3.png" class="tex" alt="\mathcal{O}\left(\log^* n\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Iterated_logarithm" title="Iterated logarithm">iterated logarithmic</a></td>
<td>The <tt>find</tt> algorithm of <a href="http://en.wikipedia.org/wiki/John_Hopcroft" title="John Hopcroft">Hopcroft</a> and <a href="http://en.wikipedia.org/wiki/Jeffrey_Ullman" title="Jeffrey Ullman">Ullman</a> on a <a href="http://en.wikipedia.org/wiki/Disjoint_set_data_structure" class="mw-redirect" title="Disjoint set data structure">disjoint set</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/e/9/7/e97bac4d94b3b4762ebc061cb65c3a09.png" class="tex" alt="\mathcal{O}\left(\log n\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Logarithm" title="Logarithm">logarithmic</a></td>
<td>Finding an item in a sorted list with the <a href="http://en.wikipedia.org/wiki/Binary_search_algorithm" title="Binary search algorithm">binary search algorithm</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/4/1/b/41be8765d7c54f6de4119838182a958d.png" class="tex" alt="\mathcal{O}\left(\left(\log n\right)^c\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Polylogarithmic" title="Polylogarithmic">polylogarithmic</a></td>
<td>Deciding if <em>n</em> is prime with the <a href="http://en.wikipedia.org/wiki/AKS_primality_test" title="AKS primality test">AKS primality test</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/1/1/a/11a23e0d7b520ccb078ffdc68abf019e.png" class="tex" alt="\mathcal{O}\left({n^c}\right), 0&lt;c&lt;1" /></td>
<td>fractional power</td>
<td>searching in a <a href="http://en.wikipedia.org/wiki/Kd-tree" title="Kd-tree">kd-tree</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/4/f/f/4ffb6f36df8528cc63aa62b32c85ff7c.png" class="tex" alt="\mathcal{O}\left(n\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Linear" title="Linear">linear</a></td>
<td>Finding an item in an unsorted list</td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/0/6/b/06b794d6fc33d5aaae41ee7658a09898.png" class="tex" alt="\mathcal{O}\left(n\log n\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Linearithmic_function" title="Linearithmic function">linearithmic</a>, loglinear, or quasilinear</td>
<td>Sorting a list with <a href="http://en.wikipedia.org/wiki/Heapsort" title="Heapsort">heapsort</a>, computing a <a href="http://en.wikipedia.org/wiki/Fast_Fourier_transform" title="Fast Fourier transform">FFT</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/9/e/9/9e90bf6de369140a3f217b76a787a854.png" class="tex" alt="\mathcal{O}\left({n^2}\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Quadratic_function" title="Quadratic function">quadratic</a></td>
<td>Sorting a list with <a href="http://en.wikipedia.org/wiki/Insertion_sort" title="Insertion sort">insertion sort</a>, computing a <a href="http://en.wikipedia.org/wiki/Discrete_Fourier_transform" title="Discrete Fourier transform">DFT</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/8/5/1/851ab6e4b5df90b53198ca4965aee204.png" class="tex" alt="\mathcal{O}\left({n^c}\right), c&gt;1" /></td>
<td><a href="http://en.wikipedia.org/wiki/Polynomial" title="Polynomial">polynomial</a>, sometimes called algebraic</td>
<td>Finding the shortest path on a weighted digraph with the <a href="http://en.wikipedia.org/wiki/Floyd-Warshall_algorithm" class="mw-redirect" title="Floyd-Warshall algorithm">Floyd-Warshall algorithm</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/6/9/c/69c1a2ea49668b91f25d3b008a688865.png" class="tex" alt="\mathcal{O}\left({c^n}\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Exponential_function" title="Exponential function">exponential</a>, sometimes called <a href="http://en.wikipedia.org/wiki/Geometric_progression" title="Geometric progression">geometric</a></td>
<td>Finding the (exact) solution to the <a href="http://en.wikipedia.org/wiki/Traveling_salesman_problem" class="mw-redirect" title="Traveling salesman problem">traveling salesman problem</a> (under the assumption that <a href="http://en.wikipedia.org/wiki/P_%3D_NP_problem" title="P = NP problem">P ≠ NP</a>)</td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/0/0/3/0036a08882d5bc4bc7609acbb0825be9.png" class="tex" alt="\mathcal{O}\left(n!\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Factorial" title="Factorial">factorial</a>, sometimes called combinatorial</td>
<td>Determining if two logical statements are equivalent<sup id="cite_ref-0" class="reference"><a href="http://en.wikipedia.org/wiki/Big_O_notation#cite_note-0">[1]</a></sup>, <a href="http://en.wikipedia.org/wiki/Traveling_salesman_problem" class="mw-redirect" title="Traveling salesman problem">traveling salesman problem</a>, or any other <a href="http://en.wikipedia.org/wiki/NP-complete" title="NP-complete">NP-complete</a> problem via <a href="http://en.wikipedia.org/wiki/Brute-force_search" title="Brute-force search">brute-force search</a>, finding the <a href="http://en.wikipedia.org/wiki/Determinant" title="Determinant">determinant</a> of a <a href="http://en.wikipedia.org/wiki/Matrix" title="Matrix">matrix</a> with <a href="http://en.wikipedia.org/wiki/Expansion_by_minors" class="mw-redirect" title="Expansion by minors">expansion by minors</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/9/d/4/9d45984ac8901e89779a1d1dfe805142.png" class="tex" alt="\mathcal{O}\left({n^n}\right)" /></td>
<td>n to the n</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/0/6/7/0672d9675d512bd7e975d3b79c31b874.png" class="tex" alt="\mathcal{O}\left(c_1^{c_2^n}\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Double_exponential_function" title="Double exponential function">double exponential</a></td>
<td>Finding a complete set of associative-commutative unifiers<sup id="cite_ref-1" class="reference"><a href="http://en.wikipedia.org/wiki/Big_O_notation#cite_note-1">[2]</a></sup></td>
</tr>
</table>
<p>Not as common, but even larger growth is possible, such as the single-valued version of the <a href="http://en.wikipedia.org/wiki/Ackermann_function" title="Ackermann function">Ackermann function</a>, A(<em>n</em>,<em>n</em>). Conversely, extremely slowly-growing functions such as the inverse of this function, often denoted α(<em>n</em>), are possible. Although unbounded, these functions are often regarded as being constant factors for all practical purposes.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/03/22/big-o-notation-in-design-theory/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
