<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: 数学之美番外篇：快排为什么那样快</title>
	<atom:link href="http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/feed/" rel="self" type="application/rss+xml" />
	<link>http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/</link>
	<description>思维改变生活</description>
	<lastBuildDate>Mon, 30 Jan 2012 11:13:22 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: 罗青-技术博客 &#124; [re]趣谈二分法</title>
		<link>http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/comment-page-1/#comment-18987</link>
		<dc:creator>罗青-技术博客 &#124; [re]趣谈二分法</dc:creator>
		<pubDate>Wed, 04 Jan 2012 01:53:03 +0000</pubDate>
		<guid isPermaLink="false">http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/#comment-18987</guid>
		<description>[...]     显然，连小孩子都会采取这样一种策略：先猜50，如果得到“大”的结果，就猜25…, 如此继续下去，肯定能在log2(n)的复杂度内猜中结果。 没错，这就是“二分”的思想，我们先来考虑一个比较本质问题：“为什么这种二分策略是最优的呢？” 刘伟鹏的博客上曾经有一篇文章讨论这个问题，给出了一个比较精彩的答案，那就是这种策略是平衡的，在二分策略中，正确答案在我们所给出的分支中的概率是总是相等，“这种策略让未知世界无机可乘”。反之，如果一个分支中的可能比较大，当正确答案恰好出现在这个分支中，我们就郁闷了。比如我们用最糟糕方法去猜刚才的问题，是1吗？是2吗？…那么最糟糕的情况可能要猜O(n)次才能猜中。 再看一个稍微复杂的问题： 12个外观一样的球，其中有一个坏球，重量和其他球不等，只有一架天平可以利用，请用最少的次数找到坏球。 [...]</description>
		<content:encoded><![CDATA[<p>[...]     显然，连小孩子都会采取这样一种策略：先猜50，如果得到“大”的结果，就猜25…, 如此继续下去，肯定能在log2(n)的复杂度内猜中结果。 没错，这就是“二分”的思想，我们先来考虑一个比较本质问题：“为什么这种二分策略是最优的呢？” 刘伟鹏的博客上曾经有一篇文章讨论这个问题，给出了一个比较精彩的答案，那就是这种策略是平衡的，在二分策略中，正确答案在我们所给出的分支中的概率是总是相等，“这种策略让未知世界无机可乘”。反之，如果一个分支中的可能比较大，当正确答案恰好出现在这个分支中，我们就郁闷了。比如我们用最糟糕方法去猜刚才的问题，是1吗？是2吗？…那么最糟糕的情况可能要猜O(n)次才能猜中。 再看一个稍微复杂的问题： 12个外观一样的球，其中有一个坏球，重量和其他球不等，只有一架天平可以利用，请用最少的次数找到坏球。 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: yeasy</title>
		<link>http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/comment-page-1/#comment-18653</link>
		<dc:creator>yeasy</dc:creator>
		<pubDate>Thu, 15 Dec 2011 08:23:55 +0000</pubDate>
		<guid isPermaLink="false">http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/#comment-18653</guid>
		<description>更为本质一些，我觉得跟最大熵原理有些关系。
参考http://yeasy.blogspot.com/2011/11/blog-post.html</description>
		<content:encoded><![CDATA[<p>更为本质一些，我觉得跟最大熵原理有些关系。<br />
参考http://yeasy.blogspot.com/2011/11/blog-post.html</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ted</title>
		<link>http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/comment-page-1/#comment-18264</link>
		<dc:creator>Ted</dc:creator>
		<pubDate>Sun, 27 Nov 2011 19:30:57 +0000</pubDate>
		<guid isPermaLink="false">http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/#comment-18264</guid>
		<description>晕，你都说了“然后只能说明1、 2较重或5较轻”，这还不明显，再把1，2分别放2边，哪个重，哪个就是，否则就是平衡，那5就是目标。</description>
		<content:encoded><![CDATA[<p>晕，你都说了“然后只能说明1、 2较重或5较轻”，这还不明显，再把1，2分别放2边，哪个重，哪个就是，否则就是平衡，那5就是目标。</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wosunziwuwan</title>
		<link>http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/comment-page-1/#comment-18259</link>
		<dc:creator>wosunziwuwan</dc:creator>
		<pubDate>Sun, 27 Nov 2011 13:55:53 +0000</pubDate>
		<guid isPermaLink="false">http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/#comment-18259</guid>
		<description>&quot;那么可以证明第二次比较a2也小于pivot的可能性是2/3&quot;这句话有问题吧，可能性应该还是1/2吧？因为只是a2和pivot相对次序的比较，和a1无关，是一次独立的比较。这和取排问题不同，确定了2张牌后，第3张牌只有从剩下的牌中去取</description>
		<content:encoded><![CDATA[<p>&#8220;那么可以证明第二次比较a2也小于pivot的可能性是2/3&#8243;这句话有问题吧，可能性应该还是1/2吧？因为只是a2和pivot相对次序的比较，和a1无关，是一次独立的比较。这和取排问题不同，确定了2张牌后，第3张牌只有从剩下的牌中去取</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 知其所以然（三）：为什么算法这么难？ &#124; 风的天地</title>
		<link>http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/comment-page-1/#comment-17453</link>
		<dc:creator>知其所以然（三）：为什么算法这么难？ &#124; 风的天地</dc:creator>
		<pubDate>Tue, 25 Oct 2011 04:02:48 +0000</pubDate>
		<guid isPermaLink="false">http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/#comment-17453</guid>
		<description>[...] 对于一个算法，多寻找各种来源的资料，也许能够找到一个讲的比较深刻的。我在《数学之美番外篇：快排为什么那么快》和《知其所以然（一）》里面都举到了这样的例子。 [...]</description>
		<content:encoded><![CDATA[<p>[...] 对于一个算法，多寻找各种来源的资料，也许能够找到一个讲的比较深刻的。我在《数学之美番外篇：快排为什么那么快》和《知其所以然（一）》里面都举到了这样的例子。 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 知其所以然（续） &#124; 风的天地</title>
		<link>http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/comment-page-1/#comment-17365</link>
		<dc:creator>知其所以然（续） &#124; 风的天地</dc:creator>
		<pubDate>Tue, 25 Oct 2011 03:17:24 +0000</pubDate>
		<guid isPermaLink="false">http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/#comment-17365</guid>
		<description>[...] 弄清解空间的是第一步，例如排序算法，其解空间可以看做是所有可能的下标排列组合，其中有且仅有一个排列是正确的排序排列（简单起见假设元素各不相同）。那么一个算法在探索这个解空间方面的行为就决定了它的效率高低，最简单的，如果一个算法每次只能检查解空间中的一个点，那么这个算法的复杂度就是解空间的大小。对排序算法而言也就是n!。从这个角度来看，我们就会很容易的发现，所有基于比较的排序算法，其复杂度为什么是以O(nlogn)为下界的，因为一次比较操作最多有两个结果，a&gt;b或a&lt;b，既然只有两种结果，那么最多只能将解空间进行2分，如果每次都能完美的2分，那么找到那个唯一点最终需要的步骤就是log(n!) = O(nlogn)。如此就不难理解什么基于比较的排序算法的复杂度最好不过如此了。 [...]</description>
		<content:encoded><![CDATA[<p>[...] 弄清解空间的是第一步，例如排序算法，其解空间可以看做是所有可能的下标排列组合，其中有且仅有一个排列是正确的排序排列（简单起见假设元素各不相同）。那么一个算法在探索这个解空间方面的行为就决定了它的效率高低，最简单的，如果一个算法每次只能检查解空间中的一个点，那么这个算法的复杂度就是解空间的大小。对排序算法而言也就是n!。从这个角度来看，我们就会很容易的发现，所有基于比较的排序算法，其复杂度为什么是以O(nlogn)为下界的，因为一次比较操作最多有两个结果，a&gt;b或a&lt;b，既然只有两种结果，那么最多只能将解空间进行2分，如果每次都能完美的2分，那么找到那个唯一点最终需要的步骤就是log(n!) = O(nlogn)。如此就不难理解什么基于比较的排序算法的复杂度最好不过如此了。 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 转：为什么算法这么难？ &#124; South♂楠个人博客</title>
		<link>http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/comment-page-1/#comment-15441</link>
		<dc:creator>转：为什么算法这么难？ &#124; South♂楠个人博客</dc:creator>
		<pubDate>Mon, 01 Aug 2011 14:14:19 +0000</pubDate>
		<guid isPermaLink="false">http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/#comment-15441</guid>
		<description>[...] 对于一个算法，多寻找各种来源的资料，也许能够找到一个讲的比较深刻的。我在《数学之美番外篇：快排为什么那么快》和《知其所以然（一）》里面都举到了这样的例子。 [...]</description>
		<content:encoded><![CDATA[<p>[...] 对于一个算法，多寻找各种来源的资料，也许能够找到一个讲的比较深刻的。我在《数学之美番外篇：快排为什么那么快》和《知其所以然（一）》里面都举到了这样的例子。 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 推荐读书《暗时间》</title>
		<link>http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/comment-page-1/#comment-15409</link>
		<dc:creator>推荐读书《暗时间》</dc:creator>
		<pubDate>Sat, 30 Jul 2011 18:25:04 +0000</pubDate>
		<guid isPermaLink="false">http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/#comment-15409</guid>
		<description>[...] 23、数学之美番外篇：快排为什么那样快 http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/ 24、数学之美番外篇：平凡而又神奇的贝叶斯方法 [...]</description>
		<content:encoded><![CDATA[<p>[...] 23、数学之美番外篇：快排为什么那样快 <a href="http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/" rel="nofollow">http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/</a> 24、数学之美番外篇：平凡而又神奇的贝叶斯方法 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 知其所以然（三）&#8212;&#8212;为什么算法这么难？</title>
		<link>http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/comment-page-1/#comment-15116</link>
		<dc:creator>知其所以然（三）&#8212;&#8212;为什么算法这么难？</dc:creator>
		<pubDate>Sat, 09 Jul 2011 16:25:17 +0000</pubDate>
		<guid isPermaLink="false">http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/#comment-15116</guid>
		<description>[...] 对于一个算法，多寻找各种来源的资料，也许能够找到一个讲的比较深刻的。我在《数学之美番外篇：快排为什么那么快》和《知其所以然（一）》里面都举到了这样的例子。 [...]</description>
		<content:encoded><![CDATA[<p>[...] 对于一个算法，多寻找各种来源的资料，也许能够找到一个讲的比较深刻的。我在《数学之美番外篇：快排为什么那么快》和《知其所以然（一）》里面都举到了这样的例子。 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 知其所以然（续） &#124; w3er</title>
		<link>http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/comment-page-1/#comment-14206</link>
		<dc:creator>知其所以然（续） &#124; w3er</dc:creator>
		<pubDate>Sun, 15 May 2011 04:40:01 +0000</pubDate>
		<guid isPermaLink="false">http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/#comment-14206</guid>
		<description>[...] 弄清解空间的是第一步，例如排序算法，其解空间可以看做是所有可能的下标排列组合，其中有且仅有一个排列是正确的排序排列（简单起见假设元素各不相同）。那么一个算法在探索这个解空间方面的行为就决定了它的效率高低，最简单的，如果一个算法每次只能检查解空间中的一个点，那么这个算法的复杂度就是解空间的大小。对排序算法而言也就是n!。从这个角度来看，我们就会很容易的发现，所有基于比较的排序算法，其复杂度为什么是以O(nlogn)为下界的，因为一次比较操作最多有两个结果，a&gt;b或a&lt;b，既然只有两种结果，那么最多只能将解空间进行2分，如果每次都能完美的2分，那么找到那个唯一点最终需要的步骤就是log(n!) = O(nlogn)。如此就不难理解什么基于比较的排序算法的复杂度最好不过如此了。 [...]</description>
		<content:encoded><![CDATA[<p>[...] 弄清解空间的是第一步，例如排序算法，其解空间可以看做是所有可能的下标排列组合，其中有且仅有一个排列是正确的排序排列（简单起见假设元素各不相同）。那么一个算法在探索这个解空间方面的行为就决定了它的效率高低，最简单的，如果一个算法每次只能检查解空间中的一个点，那么这个算法的复杂度就是解空间的大小。对排序算法而言也就是n!。从这个角度来看，我们就会很容易的发现，所有基于比较的排序算法，其复杂度为什么是以O(nlogn)为下界的，因为一次比较操作最多有两个结果，a&gt;b或a&lt;b，既然只有两种结果，那么最多只能将解空间进行2分，如果每次都能完美的2分，那么找到那个唯一点最终需要的步骤就是log(n!) = O(nlogn)。如此就不难理解什么基于比较的排序算法的复杂度最好不过如此了。 [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

