![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
mrgloom |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
как производить сериализацию дерева? (quadtree)
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
каждый нод по отдельности и скармливать boost.serialization.
Это сообщение отредактировал(а) boostcoder - 18.7.2011, 17:35 |
|||
|
||||
mrgloom |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 829 Регистрация: 8.6.2011 Репутация: нет Всего: нет |
буст не охота подрубать.
я так понял надо делать как то обход дерева просто и записывать на диск. |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
ну, в общем - правильно. mrgloom, а в чём проблема-то ? -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
||||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
и ещё один момент - если позволяет объём и скорость (объём небольшой - килобайты, скорость не важна - делается один раз при выходе из программы), то стОит сохранять в текстовом виде - пока отлаживаешься гораздо удобнее контролировать. Чтение будет чуть более муторное, но на это, думаю, стОит пойти.
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 2 Всего: 12 |
буквально недавно такую задачу решал, сделал так
http://www.cs.usfca.edu/~brooks/S04classes...s/lecture11.pdf Это сообщение отредактировал(а) null56 - 23.7.2011, 02:59 |
|||
|
||||
spyswamp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 349 Регистрация: 18.8.2006 Репутация: 1 Всего: 7 |
Это же классический алгоритм обхода дерева (погугли, смотря какое у тебя там дерево в итоге получается). Туда прогнал - сохранилось, обратно - восстановилось.
Добавлено через 36 секунд Упс, вроде, выше на него ссылка. ![]() -------------------- - why you call it beta? - cuz it's betta then nothin' |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
если дерево полное, его можно хранить в массиве аналогично полному двоичному дереву:
потомки i-го узла имеют индексы 4i, 4i+1, 4i+2, 4i+3 родитель i-го узла имеет индекс i/4 (целая часть) Добавлено через 10 минут и 42 секунды
если дерево единообразно сохраняется, то и восстанавливается однозначно. если узел может иметь разное число потомков, разумно использовать маркеры, как у null56. Добавлено через 12 минут и 44 секунды если связи хранятся неявно, то в глубину |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |