Алгоритм на псевдокоде


Построение (L,R)-пирамиды

aL+1,…,a R – на входе пирамида (L+1,R)

aL –новый элемент

x:= aL, i:=L

DO

j:=2i

IF (j>R) OD

IF((j<R) и (aj+1£ aj)) j=j+1 FI

IF (x£aj) OD

ai= aj

i:=j

OD

ai:=x

Величины М и С в процессе построения (L, R)-пирамиды имеют следующие оценки Mпир≤log (R/L)+2, Cпир≤2 log (R/L)

Пирамидальная сортировка производится в два этапа. Сначала строится пирамида из элементов массива. По свойству (3) правая часть массива является (n/2+1, n)-пирамидой. Будем добавлять по одному элементу слева, расширяя пирамиду, пока в неё не войдут все элементы массива. Тогда по свойству (2) первый элемент последовательности – минимальный.

Произведём двустороннее усечение: уберём элементы a1,an. По свойству (1) оставшаяся последовательность является (2, n-1)-пирамидой. Элемент a1 поставим на последнее место, а элемент an добавим к пирамиде a2,…,an-1 слева. Получим новую (1, n-1)-пирамиду. В ней первый элемент является минимальным. Поставим первый элемент пирамиды на позицию n-1, а элемент an-1 добавим к пирамиде a2,…,an-1, и т.д. В результате получим обратно отсортированный массив.

Пример. Отсортировать слово методом пирамидальной сортировки.


Построение (1, 8)-пирамиды

 
К У Р А П О В А  
        П О В А пирамида
      А П О В А пирамида
  Р А П О В А  
                 
    В А П О Р А пирамида
  У В А П О Р А  
                 
  А В У П О Р А  
                 
  А В А П О Р У пирамида
К А В А П О Р У  
               
А К В А П О Р У  
                 
А А В К П О Р У пирамида

Сортировка

 
А А В К П О Р У  
               
У А В К П О Р А  
                 
А У В К П О Р    
                 
А К В У П О Р   пирамида
                 
Р В К У П О А    
               
В Р К У П О      
               
В П К У Р О     пирамида
               
О П К У Р В      
                 
К П О У Р       пирамида
                 
Р П О У К        
               
О П Р У         пирамида
                 
У П Р О          
                 
П У Р           пирамида
               
Р У П           пирамида
                 
У Р             пирамида
                 
                 
У Р П О К В А А  

Рисунок 8 Пирамидальная сортировка




Дата добавления: 2022-02-05; просмотров: 281;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.