<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Быстрая сортировка на Java (Quick Sort)</title>
	<link>http://www.javenue.info/post/45</link>
	<description>Блог разработчика о Java и родственных технологиях</description>
	<pubDate>Thu, 28 Aug 2008 12:33:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>

	<item>
		<title>By: c0nst</title>
		<link>http://www.javenue.info/post/45#comment-20936</link>
		<author>c0nst</author>
		<pubDate>Mon, 28 Jan 2008 17:15:30 +0000</pubDate>
		<guid>http://www.javenue.info/post/45#comment-20936</guid>
		<description>Привет.
i - (i - j)/2 = i - i/2 + j/2 = i/2 + j/2 = (i + j)/2
Смысл в том, что для большИх i и j может быть overflow, если их сумма больше Integer.MAX_VALUE.
Соответственно среднее арифметическое может быть посчитано неправильно. А нам это ну никак не надо :).</description>
		<content:encoded><![CDATA[<p>Привет.<br />
i - (i - j)/2 = i - i/2 + j/2 = i/2 + j/2 = (i + j)/2<br />
Смысл в том, что для большИх i и j может быть overflow, если их сумма больше Integer.MAX_VALUE.<br />
Соответственно среднее арифметическое может быть посчитано неправильно. А нам это ну никак не надо :).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stas</title>
		<link>http://www.javenue.info/post/45#comment-20934</link>
		<author>Stas</author>
		<pubDate>Mon, 28 Jan 2008 17:02:44 +0000</pubDate>
		<guid>http://www.javenue.info/post/45#comment-20934</guid>
		<description>Чтото я непонял смысл строки

int cur = i - (i - j) / 2;

Если j&#62;i то в скобке будет -, следно все это эквивалентно:

int cur =i+(j-i)/2;

не так ли? Или в этом есть своя хитрость?</description>
		<content:encoded><![CDATA[<p>Чтото я непонял смысл строки</p>
<p>int cur = i - (i - j) / 2;</p>
<p>Если j&gt;i то в скобке будет -, следно все это эквивалентно:</p>
<p>int cur =i+(j-i)/2;</p>
<p>не так ли? Или в этом есть своя хитрость?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jonie</title>
		<link>http://www.javenue.info/post/45#comment-2319</link>
		<author>jonie</author>
		<pubDate>Wed, 13 Dec 2006 21:09:39 +0000</pubDate>
		<guid>http://www.javenue.info/post/45#comment-2319</guid>
		<description>гы) на j минус-минус. Чет парсер сайта глюкавит?</description>
		<content:encoded><![CDATA[<p>гы) на j минус-минус. Чет парсер сайта глюкавит?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jonie</title>
		<link>http://www.javenue.info/post/45#comment-2318</link>
		<author>jonie</author>
		<pubDate>Wed, 13 Dec 2006 21:08:50 +0000</pubDate>
		<guid>http://www.javenue.info/post/45#comment-2318</guid>
		<description>Мужики, j- замените на j--
А так вроде должно работать)</description>
		<content:encoded><![CDATA[<p>Мужики, j- замените на j&#8211;<br />
А так вроде должно работать)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: c0nst</title>
		<link>http://www.javenue.info/post/45#comment-573</link>
		<author>c0nst</author>
		<pubDate>Fri, 09 Jun 2006 13:51:19 +0000</pubDate>
		<guid>http://www.javenue.info/post/45#comment-573</guid>
		<description>2kontiky: Ну так у меня это учитывается...
2Asf: спасибо большое за информацию. Я этого не знал.</description>
		<content:encoded><![CDATA[<p>2kontiky: Ну так у меня это учитывается&#8230;<br />
2Asf: спасибо большое за информацию. Я этого не знал.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Asf</title>
		<link>http://www.javenue.info/post/45#comment-571</link>
		<author>Asf</author>
		<pubDate>Fri, 09 Jun 2006 10:49:16 +0000</pubDate>
		<guid>http://www.javenue.info/post/45#comment-571</guid>
		<description>В качестве учебного примера неплохо.
Единственное замечание - на последних эатапх, когда длина последовательносьти становиться меньше определнного числа (обычно принимают или 8 или 16 элементов), переход с quicksort на другой алгоритм (пусть даже на пузырек) дает существенный выигрышь с скорости.
Это описано в Лорин "Сортировка и алгоритмы сортировки". Есть ли это в Кнуте - не помню.</description>
		<content:encoded><![CDATA[<p>В качестве учебного примера неплохо.<br />
Единственное замечание - на последних эатапх, когда длина последовательносьти становиться меньше определнного числа (обычно принимают или 8 или 16 элементов), переход с quicksort на другой алгоритм (пусть даже на пузырек) дает существенный выигрышь с скорости.<br />
Это описано в Лорин &#8220;Сортировка и алгоритмы сортировки&#8221;. Есть ли это в Кнуте - не помню.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kontiky</title>
		<link>http://www.javenue.info/post/45#comment-570</link>
		<author>kontiky</author>
		<pubDate>Thu, 08 Jun 2006 19:54:14 +0000</pubDate>
		<guid>http://www.javenue.info/post/45#comment-570</guid>
		<description>Joshua Bloch открывает нам глаза на binarysearch алгоритм.
&lt;a href="http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html"&gt;Look here&lt;/a&gt;
Есть ошибки даже там</description>
		<content:encoded><![CDATA[<p>Joshua Bloch открывает нам глаза на binarysearch алгоритм.<br />
<a href="http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html">Look here</a><br />
Есть ошибки даже там</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: c0nst</title>
		<link>http://www.javenue.info/post/45#comment-60</link>
		<author>c0nst</author>
		<pubDate>Thu, 16 Mar 2006 12:24:08 +0000</pubDate>
		<guid>http://www.javenue.info/post/45#comment-60</guid>
		<description>Олег, ты хоть книгу Кнута "Сортировка и Поиск" так не комментируй :).
Если уж на то пошло, то и для класса Array этот алгоритм реализован.
Назначение статьи - объяснить тем, кто не знаком с алгоритмом, как он работает и как его можно реализовать.</description>
		<content:encoded><![CDATA[<p>Олег, ты хоть книгу Кнута &#8220;Сортировка и Поиск&#8221; так не комментируй :).<br />
Если уж на то пошло, то и для класса Array этот алгоритм реализован.<br />
Назначение статьи - объяснить тем, кто не знаком с алгоритмом, как он работает и как его можно реализовать.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Oleg Marchuk</title>
		<link>http://www.javenue.info/post/45#comment-59</link>
		<author>Oleg Marchuk</author>
		<pubDate>Thu, 16 Mar 2006 11:02:56 +0000</pubDate>
		<guid>http://www.javenue.info/post/45#comment-59</guid>
		<description>Зачем оно тебе надо?

java.util
Class Collections

java.lang.Object
  extended by java.util.Collection

public class Collections
extends Object

This class is a member of the &lt;a href="///home/mn/jdk-1_5_0-doc/guide/collections/index.html" rel="nofollow"&gt;Java Collections Framework&lt;/a&gt;. 

sort(List) - Sorts a list using a merge sort algorithm, which provides average-case performance comparable to a high-quality quicksort, guaranteed O(n*log n) performance (unlike quicksort), and stability (unlike quicksort). (A stable sort is one that does not reorder equal elements.)

public static &#62; void sort(List list)

    Parameters:
        list - the list to be sorted. 
    Throws:
        ClassCastException - if the list contains elements that are not mutually comparable (for example, strings and integers). 
        UnsupportedOperationException - if the specified list's list-iterator does not support the set operation.</description>
		<content:encoded><![CDATA[<p>Зачем оно тебе надо?</p>
<p>java.util<br />
Class Collections</p>
<p>java.lang.Object<br />
  extended by java.util.Collection</p>
<p>public class Collections<br />
extends Object</p>
<p>This class is a member of the <a href="///home/mn/jdk-1_5_0-doc/guide/collections/index.html" rel="nofollow">Java Collections Framework</a>. </p>
<p>sort(List) - Sorts a list using a merge sort algorithm, which provides average-case performance comparable to a high-quality quicksort, guaranteed O(n*log n) performance (unlike quicksort), and stability (unlike quicksort). (A stable sort is one that does not reorder equal elements.)</p>
<p>public static &gt; void sort(List list)</p>
<p>    Parameters:<br />
        list - the list to be sorted.<br />
    Throws:<br />
        ClassCastException - if the list contains elements that are not mutually comparable (for example, strings and integers).<br />
        UnsupportedOperationException - if the specified list&#8217;s list-iterator does not support the set operation.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
