Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2018, 16:04   #31
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

kvitaliy, знаете люди особого склада ума зачастую очень уверены, что все, что они делают, очень важно и все за этим или наблюдают, или кидаются заниматься...
Вот и тут, мало того человек сам пришел пиарить свою гиниальную идею, так не дал ни внятного описания, ни алгоритма, ... более того после того, как дал свою реализацию "единомышленнику", а после нашел ошибку - не сообщил, не исправил "что бы тот не повторил ее".
p51x вне форума Ответить с цитированием
Старый 11.09.2018, 16:09   #32
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

p51x, да я вроде бы въехал. надо только взяться и попробовать.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 11.09.2018, 16:10   #33
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Раз у вас много свободного времени, сгоняете мне за обедом?..
p51x вне форума Ответить с цитированием
Старый 11.09.2018, 16:13   #34
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

p51x, может и так.
kvitaliy вне форума Ответить с цитированием
Старый 11.09.2018, 16:57   #35
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

вроде бы въехавший понял правильно
и рекомендую самому скопировать на эту страницу
понятые пункты

насчёт ошибки единомышленника правильнее:
я не сообщил об ошибке на сей час

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

неправильно: "нашел ошибку - не сообщил,
не исправил "что бы тот не повторил ее"

правильно: не сообщаю про ошибку никому
чтобы именно все повторили бы ту же ошибку

вообще хорошая олимпийская задача по информатике

в свете вышесказанного новая идея:
? смогут ли школьники понять только из визуализации ?
вдруг школьники придумают нечто своё

https://www.youtube.com/watch?v=TcwY8Ue0DKw

преимущество моего алгоритма:
понятная даже школьникам человеческая сортировка быстрее в 4 раза

формула была: = N*(N-1)/2
формула стала: = 4*(N/4*(N/4-1)/2+2*N/4)
причём длинная формула в общем виде включает логарифм
и массив 1'000'000 элементов сортируется в 40 раз быстрее

и в excel каждый может проверить для любого N
особенно построив без анимации визуализацию из пирамид
и то речь только об одной из возможностей самой простейшей

чтобы тема стала ещё полезнее дарю ссылку
на многие алгоритмы сортировки на многих языках
rosettacode.org/wiki/Category:Sorting_Algorithms
и там легко выйти на алгоритмы для искомых языков

напоминаю: понявший пусть повторит что понял на данной странице
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 11.09.2018 в 17:48.
сфинкс вне форума Ответить с цитированием
Старый 11.09.2018, 18:33   #36
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

так, массив в 10.000 неповторяющихся элементов, разбросанных случайным образом, сформировал. счас буду думать над сортировкой и подсчётом времени.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 11.09.2018 в 18:45.
NetSpace вне форума Ответить с цитированием
Старый 11.09.2018, 19:43   #37
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
а если разделю массив на 4 части, то получу времена Т1, Т2, Т3 и Т4 такие, что
Т1+Т2+Т3+Т4 будут даже меньше Т1+Т2
Допустим так, если каждый массив сортировать параллельно, а не последовательно.
Ну а дальше? Как 4 разных быстро отсортированных массива мы мгновенно превратим в один правильно отсортированный?
kvitaliy вне форума Ответить с цитированием
Старый 11.09.2018, 19:54   #38
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

вот код на Delphi.
Код:
var i,j,tmp,M:Integer;
    s:array[1..N]of Integer;
    Fr,t1,t2:Int64;
    Dt:Extended;
begin
   QueryPerformanceFrequency(Fr);
   M:=10000;
   for i:=1 to M do s[i]:=a[i];
   QueryPerformanceCounter(t1);
   for i:=1 to M do
   begin
      for j:=1 to M do
      begin
         if(s[i]<s[j])then
         begin
            tmp:=s[i];
            s[i]:=s[j];
            s[j]:=tmp;
         end;
      end;
   end;
   //for i:=1 to M do Memo1.Lines.Add(IntToStr(s[i]));
   QueryPerformanceCounter(t2);
   Dt:=(t2-t1)/Fr;
   Memo1.Lines.Add(FloatToStr(Dt)+'сек.');
выдаёт 0,078 секунды.
а если раскомментировать строку //for i:=1 to M do Memo1.Lines.Add(IntToStr(s[i])); и поглядеть результат - отсортированный массив, то 15 секунд будет. вывод в окно memo долгий....
а вот если 100.000 или даже 1.000.000 элементов сколько будет сортировать - не знаю даже...
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 11.09.2018, 20:18   #39
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
   for i:=1 to M-1 do
   begin
      for j:=i+1 to M do ...
самая простая )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 11.09.2018 в 20:21.
Аватар вне форума Ответить с цитированием
Старый 11.09.2018, 21:47   #40
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

500.000 чисел. массив формирует за 0,0087сек.
а вот сортирует за 413сек.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 11.09.2018 в 21:55.
NetSpace вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрая сортировка(сортировка Хоара). Сортировка фрагмента массива [C++] druger Помощь студентам 0 20.04.2012 15:49
Быстрая сортировка(сортировка хаора) с++ LustHunter Помощь студентам 3 07.10.2011 19:37
quickSort, Быстрая сортировка массива kzht91 Помощь студентам 1 17.04.2010 00:30
быстрая сортировка настолько быстрая Serg12 Помощь студентам 8 28.03.2010 21:31