Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2011, 16:24   #1
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
Вопрос Структуры данных

У меня есть массив 1..10^9, каждый элемент отрезка - true или false, мне нужно очень быстро и много раз изменять значение элемента на различных отрезках [L..R]. Память ограничена - 16 Мб.
Я не могу подобрать подходящую структуру данных. Мне кажется можно реализовать деревом Фенвика, однако как реализвать я не могу понять.

P.S. Нет отдельного раздела про структуры данных, поэтому запостил сюда.
Gapro вне форума Ответить с цитированием
Старый 20.10.2011, 16:42   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Gapro

У меня есть массив 1..10^9, каждый элемент отрезка - true или false
Я не могу подобрать подходящую структуру данных


std::vector<bool>
Rififi вне форума Ответить с цитированием
Старый 20.10.2011, 17:12   #3
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
Gapro

std::vector<bool>
Нельзя очень быстро изменять значение на всем отрезке
Gapro вне форума Ответить с цитированием
Старый 20.10.2011, 20:34   #4
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Цитата:
У меня есть массив 1..10^9 ... Память ограничена - 16 Мб
Даже при битовом сжатии 125Мб.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 21.10.2011, 09:13   #5
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Цитата:
Сообщение от Syuf Посмотреть сообщение
Даже при битовом сжатии 125Мб.
Это еще одна причина по которой мне нужно какое-нибудь дерево или другая структура данных
Gapro вне форума Ответить с цитированием
Старый 21.10.2011, 21:03   #6
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Дерево никогда не будет меньше массива.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 22.10.2011, 20:06   #7
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Цитата:
Сообщение от Syuf Посмотреть сообщение
Дерево никогда не будет меньше массива.
Однако в дереве мы можем хранить только то, что нам нужно, а не весь массив, например сумма на отрезке.
Gapro вне форума Ответить с цитированием
Старый 22.10.2011, 20:50   #8
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Цитата:
Однако в дереве мы можем хранить только то, что нам нужно, а не весь массив, например сумма на отрезке
Поконкретней? Если мы и храним суммы на отрезке, то их как минимум N. (И это не дерево)
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 22.10.2011, 22:05   #9
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Цитата:
Сообщение от Syuf Посмотреть сообщение
Поконкретней? Если мы и храним суммы на отрезке, то их как минимум N. (И это не дерево)
Да вы правы в том, что 16 мб все равно не хватит, однако деревом такая структура быть может- взять к примеру дерево Фенвика
Gapro вне форума Ответить с цитированием
Старый 22.10.2011, 23:31   #10
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

В дереве Фенвика, если мне не изменяет память, требуется 2n памяти. Я имел ввиду массив префиксных сумм, когда говорил, что это деревом не является.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структуры данных Shadow94 Общие вопросы C/C++ 8 22.04.2011 11:50
Структуры данных SlayerLiving C++ Builder 2 07.03.2011 20:26
Структуры данных LeNus'Ka Помощь студентам 4 23.11.2010 17:43
С++ Структуры данных DarkSwan Помощь студентам 0 27.10.2010 12:21
Структуры данных в С++ ArniLand Общие вопросы C/C++ 2 14.07.2010 18:34