![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| lioness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 27.7.2006 Репутация: нет Всего: нет |
Ха! Рекурсию-то можно изобразить, если ползти по дереву только ВНИЗ.
А вот если надо пробежаться от начала до конца, не пропуская ни одного узла и прыгая то налево, то направо, да переходя на одном уровне г-о-р-и-з-о-н-т-а-л-ь-н-о. Я уж не говорю, подняться вверх по дереву. Чего-то рекурсией не выходит. Попыталась просто распечатать в цикле на форме узлы (что-то похожее как было в статье FindByValue )
но требует GetEnumerator для BinaryTreeNode<int> Хотя мне по заданию бинарное дерево вообще не подойдет. Я хотела c ним только потренироваться, раз уж майкрософт не предлагает системных "деревьевых" классов. А нужно мне компактное дерево. Вот такое -> http://www.cs.ucla.edu/~sliu/papers/Ctree-TechReport.pdf Правда, мне уже тут сказали: не извращайтесь, девушка. Берите ArrayList |
|||
|
||||
| mr.DUDA |
|
||||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
По поводу деревьев, есть несколько алгоритмов обхода: прямой (pre-order), симметричный (in-order) и обратный (post-order). Все три очень легко реализуются с помощью итераторов. Если чем-то может помочь, вот исходник:
Program.cs
BinaryTree.cs
-------------------- ![]() |
||||
|
|||||
| lioness |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 27.7.2006 Репутация: нет Всего: нет |
Значит, все-таки только "перечисление".
Да мне бинарное дерево совсем не походит. Мне бы СТree, а в статье о CTree http://www.cs.ucla.edu/~sliu/papers/Ctree-TechReport.pdf - кодов ни грамма. Только алгоритмы. А напарник-немец, с которым нам сейчас данными перебрасываться, говорит фиг с ним, с деревом ентим. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |