|
|
|
Q: Как наиболее эффекимвно организовать структуру данных для хранения дерева?
|
|||
|---|---|---|---|
|
#18+
Я хочу хранить словарь в виде дерева. Например, пусть словарь состоит из четырех слов: "он" "она" "оса" "мы" - тогда от "корня дерева" должно идти две ветки (ветка " о " и ветка " м "); ветка " о " должна разветвляться на ветки " он " и " ос "; ветка " он " ... можно сказать, что она тоже разветвляется - на ветки " он-конец_слова " и " она "; ветка " она " продолжается в вету " она-конец_слова "; ветки " он-конец_слова " и " она-конец_слова " - ОЗНАЧАЮТ (хранят) сами слова "он" и "она" ... - надеюсь, что понятно обрисовал. Вопрос: как такую структуру данных наиболее эффекимвно реализовать в VBA? PS. Да, оа должна быть "динамической", то есть должна быть способна к "расширению" (добавлению в себя новых слов)! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 15:13:29 |
|
||
|
Q: Как наиболее эффекимвно организовать структуру данных для хранения дерева?
|
|||
|---|---|---|---|
|
#18+
я бы сохранил в БД в таблице формата UID - код элелемента ID - название элелемента ParentUID - код родителя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 15:55:20 |
|
||
|
Q: Как наиболее эффекимвно организовать структуру данных для хранения дерева?
|
|||
|---|---|---|---|
|
#18+
Если это нужно для двоичного поиска (Binary search trees), то не стоит заморачиваться - проще взять готовый код. Ну и реализация структуры данных зависит от кода их обрабатывающих. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 15:59:12 |
|
||
|
Q: Как наиболее эффекимвно организовать структуру данных для хранения дерева?
|
|||
|---|---|---|---|
|
#18+
big-dukeя бы сохранил в БД в таблице формата ...- no-no, мене нада не "в БД", а - в оперативной памяти, в переменных модуля! marvan Если это нужно для двоичного поиска (Binary search trees), то не стоит заморачиваться - проще взять готовый код.- а как, извините, мне понять - двоичный в этой задаче поиск или не двоичный? Я понимаю, что я буду "поступающие" слова (словоформы, если быть точным) проверять по этому дереву, ... а "двоично" ли - эт я как-то не могу сообразить! Но тем не менее: а "готовый код" где можно посмотреть, не подскажете? marvanНу и реализация структуры данных зависит от кода их обрабатывающих. - эт мне как-то не понятно ... мне казалось, что структуры данных - сама по себе - либо зело эффективна, либо - не вельми! (В смысле, прежде всего, требуемой ею памяти ... поскольку словарик-то мыслится немного побольше, чем в приведенном примере ... раз эдак ... в миллион ;-) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 16:09:01 |
|
||
|
Q: Как наиболее эффекимвно организовать структуру данных для хранения дерева?
|
|||
|---|---|---|---|
|
#18+
готовый код: Binary Tree Class ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 16:35:55 |
|
||
|
Q: Как наиболее эффекимвно организовать структуру данных для хранения дерева?
|
|||
|---|---|---|---|
|
#18+
Посмотрите на любую готовую древовидную структуру. Например как хранит дерево контрол TreeView. MSDN TreeView - Nodes и т.д. Там все очень разумно, за исключением одного - часто бывает надо пройтись по всем нодам, без рекурсии. Так что имеет смысл где-то хранить ссылку на полную коллекцию без разделения на дочение и родительские ветви ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 19:42:44 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=350&tid=2168674]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
19ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 297ms |

| 0 / 0 |
