Re: Алгоритм
- From
- Alexey Desyatnik ()
- To
- Pavel P
- Date
- 2002-10-10T15:12:34Z
- Area
- RU.ALGORITHMS
From: Alexey Desyatnik <desyatnik@dax.ru>
Pavel P пишет:
>>А вот как делается полный перебор:
>>procedure Find_Duplicates(
>> M: in Matrix;
>> n1, m1, n2, m2: out Integer) is
[skipped реализация на Аде]
> Язык програмирования Ада. Не зря так назван :)))
Не надо Аду ругать. Конечно, писать она заставляет немало :)
Это окупается. В программах побольше 10 килострок.
> Проще надо быть ... проще ... :)
> //--- CUT -------------------------------------------------
[skiped реализация на Haskell]
> //--- CUT -------------------------------------------------
>
> работает с произвольными матрицами (не обязательно даже m*n)
Это как? Матрица - двумерный массив. Между прочим, выше-
скипнутый пример работает со _списками_, что не совсем
соответствует букве задания. И немного :) менее эффективен.
Особенно по критерию памяти.
> и произвольными типами данных :)))
Ну, параметризации и в Аду можно добавить побольше.
generic
type Index is (<>);
type Element is private;
type Matrix is array (Index range <>, Index range <>) of Element;
with function "="(A, B: Element) return Boolean;
procedure Find_Duplicate(..... ну и далее по тексту
Писанины, конечно, много... Но Ада так и задумывалась, чтобы
программы можно было легко _читать_. А Хаскельные программы
могут быть _очень_ запутаны...
WBR, AD (desyatnik@dax.ru)
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.Mail.Ru (2:5020/400)