|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Методы хранение данных. |
|
Методы хранение данных.
|
Ночной странник Сообщения: 4050 |
Есть необходимость хранить несколько последних чисел.
Ест ли алгоритм быстрее циклического стека? И как его быстрее( с точки зрения скорости работы ) его организовать? ( дополнительно е условие: операции с самими элементами достаточно медленные ) |
|
------- Отправлено: 19:53, 06-01-2004 |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать Если на ЯВУ, то реализовывать списками можно...
|
------- Отправлено: 05:56, 07-01-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать Prisoner
ява не подходит он слишком медленна и плохо работает с объектами и мамятью, только СПП! |
------- Отправлено: 19:10, 07-01-2004 | #3 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать Vlad Drakula
Постановка задачи очень расплывчата. Очень. ЯВУ - "язык высокого уровня", а не ява, которая java. И мне очень интересно что такое "циклический стек", очень. |
------- Отправлено: 20:15, 07-01-2004 | #4 |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать ivank
если так то еще хуже. дело втом что там очень много вызовов функцый, порядко 1.000.00 в секунду. а задача четко поставлена: как самым тыстрым способом хранить последние N элементов. идея циклической очереди была разработана очень давно. во все компьютерах есть буфер обмена данных с клавиатуры. это массив (вроде из 8 элементов) при нажатии на кнопку туда записывается число, и счетцик конца увеличивается. при чтении берется первый элемент в очереди а счетчик начала сдвигается. если счетчик конца доходит до начала то он обнуняется и начинает затирать ранние элементы. если конец упирается в начало то компьютер начинает пищать, это мы ислушим при зависании винды ![]() соодветственно я сейчас использую этот аналог, но только я начитаю не скачала, как в очереди, а с конца, как в стеке. |
|
------- Отправлено: 01:02, 08-01-2004 | #5 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать Vlad Drakula
Что такое циклическая очередь я знаю. А вот циклический стек - твоё изобратение. Собственно очередь на базе статического массива и есть самое оптимальное решение, почкольку все операции - O(1). Это при условии, что она не может переполнится, иначе просто заводим динамический массив и когда у нас кол-во элементов хочет перевалить за доступный максимум, то увеличиваем размер не размышляя вдвое. В случае плюсов удобнее всего юзать std::vector, ибо у него есть .resize(). Кстати, есть стандартные контейнеры дека и очереди, которые и пользуются приблизительно такой стратегией. std::deque и std::queue, соответсвенно. Добавлено: Vlad Drakula Цитата:
|
|
------- Отправлено: 01:40, 08-01-2004 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
ISA 2004 Хранение данных | illznn | ISA Server / Microsoft Forefront TMG | 3 | 14-04-2009 10:12 | |
хранение данных в интернете | Sparkster | Хочу все знать | 12 | 11-10-2007 10:54 | |
Borland C++ Builder - Хранение данных. | Drem | Программирование и базы данных | 3 | 13-04-2007 15:32 | |
Программа, обеспечивающая распределенное хранение данных в сети | rrev | Программное обеспечение Windows | 7 | 08-02-2007 22:48 | |
Хранение данных... | bruno | Хочу все знать | 4 | 07-03-2006 16:42 |
|