Вниз
Скачать: CL | DM;

Алгоритм сортировки 3 чисел...   Найти похожие ветки 

← →
ArtemESC ©   (2006-05-16 12:30) [0]

Помогите найти самый простейший сабж...


← →
Megabyte ©   (2006-05-16 12:41) [1]

Ну ппц. Если эта задача представляет для вас сложность, то лучше не идти в программисты.
Никаких супер современных технологий знать не надо, элементарная логика.


← →
Jeer ©   (2006-05-16 12:42) [2]

ArtemESC ©   (16.05.06 12:30)

каких чисел (тип)


← →
Игорь Шевченко ©   (2006-05-16 12:42) [3]


> Помогите найти самый простейший сабж...


Сравнением ?


← →
TUser ©   (2006-05-16 12:49) [4]

Что значит простейший? Поменьше текста, побыстрее, in place, поменьше сравнений, поменьше перестановок, - какой конкретно праметр должен быть оптимизирован?


← →
ArtemESC ©   (2006-05-16 15:06) [5]

TUser ©   (16.05.06 12:49) [4]
поменьше сравнений


← →
MBo ©   (2006-05-16 15:11) [6]

Для сортировки трех чисел нужно 258 сантибит информации, так что нужно придумать метод, использующий в худшем случае три, в лучшем - два сравнения.
Для тренировки попробуй начать с сортировки двух чисел.


← →
Чапаев ©   (2006-05-16 16:10) [7]


> Для тренировки попробуй начать с сортировки двух чисел.

А дальше рекурсией? ;-)


← →
Marser ©   (2006-05-16 16:27) [8]

Необходимо минимум два сравнения, достаточно трёх.


← →
Slym ©   (2006-05-16 16:43) [9]

следующий вопрос: как сравнить 2 числа :)


← →
Сергей М. ©   (2006-05-16 16:48) [10]


> ArtemESC ©   (16.05.06 12:30)


Мешочек с бочонками а-ля "Русское лото" - лучший друг и помошник тех кто не желает изучать теорию.


← →
oldman ©   (2006-05-16 18:38) [11]

пишешь их в базу dbf
потом досовской СУБД пишешь "sort on"
потом... идешь грузить дрова... поскольку вопросики у тебя...


← →
icWasya ©   (2006-05-17 12:32) [12]

>Slym ©   (16.05.06 16:43) [9]
>следующий вопрос: как сравнить 2 числа :)

procedure Sort_2(const A,B:Double;Var Max,Min:Double);
var
 AB:Double;
begin
 AB:=A+B;
 Max:=(AB+Abs(A-B))/2;
 Min:=AB-Max;
end;

и ни одного сравнения!


← →
Gero ©   (2006-05-17 12:50) [13]

Не пойму: ты под пазитрона косишь?


← →
icWasya ©   (2006-05-17 13:37) [14]

Извиняюсь

procedure Sort_2(const A,B:Double;Var Max,Min:Double);
var
AB:Double;
begin
AB:=A+B;
Max:=(AB  -  Abs(A-B))/2;
Min:=AB-Max;
end;


← →
KSergey ©   (2006-05-17 18:01) [15]

> Abs(A-B)

Вот оно - скрытое сравнение. Или можно без сравнения реализовать Abs()?


← →
MBo ©   (2006-05-17 18:07) [16]

>KSergey ©   (17.05.06 18:01) [15]
Для вещественных - можно, старший бит обнулить.


← →
Gero ©   (2006-05-17 18:07) [17]

Sqrt(Sqr(X));


← →
MBo ©   (2006-05-17 18:16) [18]

а для целых, если не ошибся - ((I sar 31) xor a) + I shr 31
sar - сдвиг с распространением знака


← →
MBo ©   (2006-05-17 18:24) [19]

пардон, xor I в скобке


← →
ArtemESC ©   (2006-05-17 21:58) [20]

MBo ©   (17.05.06 18:24) [19]
Да я вообщем разобрался -
сам нашел самый эффективный алгоритм (если кому надо):
      1) Сортируем второе и первое...
      2) Сортируем второе и третье ...
      3) Опять сортируем второе и первое...
 Проще не найдете!!!

Вопрос вообще для ленивых, а я стал настолько ленивым, что
 чуть что, так сразу к знатокам, а мастера правильно делают, что
сразу не делятся - убиваете в людях лень...АХ... Чтобы все люди стали
 трудягами - и работали как кони...


← →
Marser ©   (2006-05-17 23:37) [21]

Странный ты... Разве ж это тема для обсуждения?


← →
Kolan ©   (2006-05-17 23:53) [22]

Двух дней работы эта задача не стоила, потерял ты больше чем выиграл ИМХО.


← →
Сумчатое   (2006-05-18 01:39) [23]


> icWasya ©   (17.05.06 12:32) [12]
>
> >Slym ©   (16.05.06 16:43) [9]
> >следующий вопрос: как сравнить 2 числа :)
>
> procedure Sort_2(const A,B:Double;Var Max,Min:Double);
> var
>  AB:Double;
> begin
>  AB:=A+B;
>  Max:=(AB+Abs(A-B))/2;
>  Min:=AB-Max;
> end;
>
> и ни одного сравнения!
>


Если A и B равны MaxDouble, то получишь ошибку.


← →
MBo ©   (2006-05-18 06:33) [24]

>ArtemESC ©   (17.05.06 21:58) [20]
третье сравнение не всегда нужно.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.5 MB
Время: 0.033 c
6-1131706926
Volf_555
2005-11-11 14:02
2006.06.11
Как о


2-1148270925
Roman_ln
2006-05-22 08:08
2006.06.11
Вставить таблицу 9х2 в форму?


2-1148273168
petvv
2006-05-22 08:46
2006.06.11
Пустые поля после выполнения запроса


2-1148538756
VitV
2006-05-25 10:32
2006.06.11
Разработка компонент.


15-1147658354
Arazel
2006-05-15 05:59
2006.06.11
Пойск похожех слов по файлу (Как в DELPHI по CTRL+SPACE)




   Наверх