|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Nick Gorinov 2:5038/8.24 31 May 2002 19:52:00 To : All Subject : 2queue --------------------------------------------------------------------------------
Предположим, есть некоторый малый объем памяти, в котором необхожимо разместить
2 очереди. разместить можно по крайней мере 2мя способами:
1) классический: для каждой очереди выбирается свой кусок памяти, в котором она
крутится
2) альтернативный: очереди крутятся в одной области памяти по следующему
алгоритму:
1) в начале обе очереди стартуют из некоторых, каким-то образом
определенных точек. например: первая из 0, вторая из середины
2) далее они ведут себя также, как классическая очередь, пока не одна из
них не "наступит на хвост другой" в этом случае рассмотрим 2 варианта:
a) "другая" имеет нулевую длину - гененируем ошибку переполнения
b) "другая" имеет нулевую длину - игнорируя ее, растим очередь дальше
3) очередь начинает расти из нулевого состояния - инициализируем ее в
некоторой точке между началом и концом другой очереди.
Такой способ размещения в некоторых случаях лучше классического, в некоторых
хуже.
рассмотрим 2 таких случая:
1) очереди большую часть времени имеют нулевую длину, но иногда происходит
"всплеск" - одна из очередей резко вырастает и требует много памяти. -
альтернативный вариант лучше
2) в одной из очередей содержится единственный элемент, вторая имеет небольшую
длину и с ней все время происходят операции чтения-записи. - классический лучше
теперь спасибо, что прочитали это и, может быть, попытались понять. мне
хотелось бы услышать какие-либо(желатеьльно умные ;) мысли по поводу обобщения
вышесказанного и попыток сформулировать некоторое обобщение, как-то
напоминающие:
"альтернативная идея - отстой, классика форева" или "ну ее, классику {в|на}
..., альтернативная идея - рулезз" или "для вероятностей включения
принадлежащих ... надо ..."
С уважением, Nick!
np: кулеры, винты, уличный шум, etc.
--- GoldED/386 3.00.Beta5+
* Origin: ловись коннект большой и маленький (2:5038/8.24)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/28043cf7d508.html, оценка из 5, голосов 10
|