Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.11;
Скачать: 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 вся ветка

Текущий архив: 2006.06.11;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.043 c
15-1147779662
dewas23
2006-05-16 15:41
2006.06.11
Какой прогой просмотреть путь пакета?


15-1147861589
ANB
2006-05-17 14:26
2006.06.11
Посоветуйте надежную библиотеку для шифрования


15-1147855328
boriskb
2006-05-17 12:42
2006.06.11
С праздником :)


15-1148126613
wirg
2006-05-20 16:03
2006.06.11
Нужна блок схема


9-1131305633
DK2DK2DK2
2005-11-06 22:33
2006.06.11
ландшафт,Объясните