Re: Вот вам и кyбик...
- From
- Oleg I. Khovayko ()
- To
- Andrew Ezhguroff
- Date
- 2002-11-05T17:29:30Z
- Area
- RU.ALGORITHMS
From: "Oleg I. Khovayko" <olegh@ncbi.nlm.nih.gov>
Andrew Ezhguroff wrote:
>
>>
> 2. Рекурсивный алгоритм - это ИМХО абсурд.
Ну у меня этот абсурд вроде как работает.
И исходник не такой уж большой получился.
> Куда логичнее немного
> модифицированная (как описано в моем предыдущем письме) волна.
Логичнее - да ненамного. Хотя, в принципе, в среднем волна
будет быстрее работать, чем рекурсивный алгоритм.
Но чтобы правильно волну гнать, надо очередь иметь. Да еще очередь
должна быть не простая, а состоящая из кортеджей типа { x, y, cube_status }.
А это либо самому писать, либо на STL-ные прибамбасы завязываться.
Ибо и в стандартном Ц, и в стандартном паскале обьекта
"очередь" нету.
Самому писать - исходник зазря опухнет, да и своего времени жалко.
Использовать STL - может так получиться, что "народ не поймет".
А если поймет - использовать не сможет.
Поэтому слепил я именно рекурсивно. По любому, каждую клетку матрицы
эта байда обходит максимум 6 раз, итого число "итераций" для худшего
случая - M * N * 6. То есть матрицу 1000x1000 сможет обежать за
разумное время, порядка единиц секунд. Так что быстродействия
хватит, а на остальное и заморачиваться не стоит.
--
#include <best/regards.hpp>
Oleg I. KHOVAYKO
(301)435-5885 || WEB: http://olegh.spedia.net
--- ifmail v.2.15dev5
* Origin: National Center for Biotechnology Information (2:5020/400)