С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 17.10.2013
Сообщений: 17

Неправильно понял сортировки Шелла с последовательностью Кнута

20.04.2014, 15:03. Показов 885. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
program Alg_lab2;
uses crt;
const
n=100;
type
mas=array[1..n] of integer;
mas2=array[1..9] of integer;
var
i,j:longint;
y,m,h:integer;
sum,b_sum:longint;
mass:mas;
procedure hell(mass:mas;i,j:longint;sum:longint);
var
knu,k,p,t:integer;
mk:mas2;
 
begin
knu:=round(ln(n)/ln(2))-1;
mk[1]:=1; //Вот тут скорее всего 
  for i:=2 to knu do
      mk[i]:=2*mk[i-1]+1; //"мамудрил"
    for p:=knu downto 1 do
          for  i:=mk[p]+1 to n do begin
          t:=mass[i]; j:=i-k;
          while (j>0) and (t<mass[j]) do
          begin
          mass[j+k]:=mass[j];
          j:=j-k;
          end;
          mass[j+k]:=t;
                          end;
for i:=1 to n do
        sum:=sum+mass[i];
       // end;
j:=1;
for i:=1 to n-1 do
        if mass[i]>mass[i+1] then j:=0;
 
if j=1 then writeln('В массиве только 1 серия')
                            else writeln('Массив отсортирован неправильно!');
for i:=1 to n do 
    if (i mod 10 = 0) then
                           writeln(mass[i],' ')
                else       write(mass[i],' ');
writeln('Сумма:',sum);       
end;
 
BEGIN
randomize;
for i:=1 to n do
        begin
        mass[i]:=random(100);
        b_sum:=b_sum+mass[i];
        end;
writeln('Сумма до сортировки:',b_sum);
hell(mass,i,j,sum);
END.
Далее теория

DO (k=hm, hm-1, … 1)

DO (i=k+1, k+2, … n)

t: = ai, j: =i-k

DO (j>0 и t < aj)

aj+k: = aj

j: = j-k

OD

aj+k: = t

OD

OD

Эффективность метода зависит от выбора значений шагов. Последовательность значений шагов, которая дает наилучшую трудоемкость, пока неизвестна, метод продолжает исследоваться, но существует и часто используется следующая последовательность шагов, предложенная Кнутом.

h1=1, hi=2hi-1+1, i=2,… m, m=log2n-1
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2014, 15:03
Ответы с готовыми решениями:

Собирался покупать gtx 580, но по разным статьям в инете понял, что GTX 760 мощнее? Или я неправильно понял?
Привет всем. Сегодня решил собрать новый системный блок. ПРоц уже есть - Core i5-2380P, ОЗУ 8 гб CorsAir 1333 Собирался покупать gtx...

Составить блок – схемы для шейкер- сортировки и сортировки Шелла
Доброго времени суток, очень нужна ваша помощь в решении данной проблемы, буду бесконечно благодарен. Составить блок – схемы для шейкер-...

Создать программу реализующую два алгоритма сортировки одномерного массива: методом Шелла и быстрой сортировки
ЗАДАЧА. Создать программу реализующую два алгоритма сортировки одномерного массива: сортировка методом Шелла и быстрой сортировки (Хоара)....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.04.2014, 15:03
Помогаю со студенческими работами здесь

не могу найти или неправильно понял
имеется ввиду 1,2 или не одно из них? 1) std::max(int); или std::max(1); 2) std::max(1,2) или std::max(3, 5.5)

Ошибка в учебнике или я неправильно понял?
Учу с++ по самоучителю. Анализируя очередной код наткнулся на фразу (на фото). Ошибка ли это или я не правильно понял? Переменная n...

Алгоритм сортировки Шелла
http://lord-n.narod.ru/download/books/walla/programming/Spr_po_C/21/2107.htm здесь сказано, что существует, некая последовательность...

Переделка сортировки Шелла
Товарищи и друзья! Только не закидывайте меня тухлыми яйцами и не понижайте карму!:) Я нашел такую вещь, что здесь на форуме неправильно...

Метод сортировки Шелла
Пожалуйста, киньте кто - нибудь пример задачи с этим методом сортировки, а то я не могу разобраться.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru