Представление неизменной иерархии с использованием кортежей - PullRequest
0 голосов
/ 01 сентября 2010

Я пытаюсь представить иерархию, используя namedtuple. По сути, каждый узел имеет три атрибута, относящихся к иерархии: parent, leftChild и rightChild (они также имеют некоторые атрибуты, которые несут фактическую информацию, но это не важно для вопроса). Проблема заключается в круговой связи между родителями и детьми. Поскольку мне нужно указывать все значения во время строительства, я сталкиваюсь с проблемами, потому что родителям нужно, чтобы дети строились первыми, а детям нужно, чтобы родители строились первыми. Есть ли способ обойти это (кроме использования собственного класса вместо кортежей)?

Ответы [ 3 ]

2 голосов
/ 01 сентября 2010

Нет, нет.

0 голосов
/ 01 сентября 2010

Одна хитрость заключается не в использовании ссылки на объект, а в символьный идентификатор, который вы храните в хеш-таблице.

0 голосов
/ 01 сентября 2010

Удалить родительское поле.Вы все еще можете реализовать любые эффективные операции с деревом, не сохраняя ссылки на родительский узел.

...