Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Artur Mogozov                        2:5002/7.6     24 Dec 2002  23:06:06
 To : Alexx Ovodov
 Subject : Re: быстpая соpтиpовка
 -------------------------------------------------------------------------------- 
 
 
 23 Дек 02 22:20, Alexx Ovodov писал All:
  AO> помогите плиз, а то вpемени мало. нyжно пpосто-напpосто отсоpтиpовать
  AO> массив двyхбайтных чисел, но вpемя соpтиpовки кpитично
  AO> (микpоконтpоллеpная система). я щас юзаю пyзыpьковый метод соpтиpовки,
  AO> но пpи yвеличении pазмеpа массива этот метод не покатит (не хватит
  AO> пpоцессоpного вpемени). есть ли более быстpые методы соpтиpовки? можно
  AO> ссылки в инет, или хотя бы пpивести названия методов, дyмаю в инете
  AO> отыщy инфоpмацию. хотя если комy не лень, может и так pассказать :)
 
  Быстрая сортировка.
 
  Данный метод был предложен Хоаром в 1962 году. В общем случае его
 эффективность довольно высока ( O(n*log n) ), поэтому автор назвал его "быстрой
 сортировкой". Такая эффективность достигается за счет отсечения ненужных
 перестановок для уже отсортированного массива.
 
  Алгоритм.
 
  В исходном массиве А выбирается некоторый элемент Х ("барьерный"). Целью я
 вляется запись Х на "свое место" в массиве, пусть это будет место k, такое,
 чтобы слева от Х были элементы меньше, либо равные, а справа большие Х. То есть
 A[1], A[2], ..., A[K-1], A[K]=X, A[K+1], ..., A[N].
 В результате массив А разделен на две неупорядоченные части, барьером между
 которыми является A[k]. Далее требуется сортировать полученные части таким же
 образом до тех пор, пока в каждой части не останется по одному элементу, то есть
 пока не будет отсортирован весь массив.
 
  Программа.
 
  Procedure QuickSort(m,t:Integer); {Первый вызов QuickSort(1,N)}
  Var
   i,j,x,w:Integer;
  Begin
   i:=m;
   j:=t;
   x:=a[ (m+t) div 2 ]; {}
   Repeat
    While a[i] < x do Inc(i);
    While a[j] > x do Dec(j);
    If i <= j Then
     Begin
      w:=a[i];
      a[i]:=a[j];
      a[j]:=w;
      Inc(i);
      Dec(j);
     End;
   Until i > j;
   If m<j Then QuickSort(m,j);
   If i<t then QuickSort(i,t);
  End;
 
  Вот и все.
 
  AO> и еще. сyществyет ли метод опpеделения медианы без соpтиpовки массива?
 
  Извини, чего не знаю, того не знаю...
 
 Best regards, Artur. CU, Alexx!
 ... Мyжчина гоняется за женщиной, пока она его не поймает
 --- GoldED+/W32 1.1.5-20011123
  * Origin: ки озадачены - есть ли жизнь в офф-лайне? (2:5002/7.6)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 быстpая соpтиpовка   Alexx Ovodov   23 Dec 2002 23:20:59 
 быстpая соpтиpовка   Alexander Shashkevich   24 Dec 2002 11:19:50 
 быстpая соpтиpовка   Alexx Ovodov   25 Dec 2002 09:05:42 
 Re: быстpая соpтиpовка   Nick Kovaliov   25 Dec 2002 11:29:25 
 Re: быстpая соpтиpовка   Andrew Ezhguroff   24 Dec 2002 15:02:51 
 Re: быстpая соpтиpовка   Oleg   24 Dec 2002 15:10:58 
 Re: быстpая соpтиpовка   Andrew Ezhguroff   25 Dec 2002 04:03:51 
 Re: быстpая соpтиpовка   Sergey Andrianov   26 Dec 2002 23:58:08 
 быстpая соpтиpовка   Alexx Ovodov   25 Dec 2002 09:11:37 
 Re: быстpая соpтиpовка   Oleg Khovayko   26 Dec 2002 09:04:23 
 Re: быстpая соpтиpовка   Oleg Khovayko   26 Dec 2002 09:47:31 
 Re: быстpая соpтиpовка   Nick Kovaliov   26 Dec 2002 11:07:56 
 Re: быстpая соpтиpовка   Oleg I. Khovayko   26 Dec 2002 18:28:16 
 Re: быстpая соpтиpовка   Nick Kovaliov   30 Dec 2002 13:07:49 
 Re: быстpая соpтиpовка   Andrew Ezhguroff   27 Dec 2002 05:46:39 
 Re: быстpая соpтиpовка   Oleg Khovayko   27 Dec 2002 07:07:41 
 Re: быстpая соpтиpовка   Sergey Andrianov   26 Dec 2002 23:57:26 
 Re: быстpая соpтиpовка   Kommander Bomber   24 Dec 2002 20:46:10 
 быстpая соpтиpовка   Maxim Lanovoy   25 Dec 2002 09:52:46 
 Re: быстpая соpтиpовка   Artur Mogozov   24 Dec 2002 23:06:06 
 Re: быстpая соpтиpовка   Protopopov Michael   25 Dec 2002 11:11:20 
 Re: быстpая соpтиpовка   Protopopov Michael   25 Dec 2002 11:11:21 
Архивное /ru.algorithms/22713e08780c.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional