Массив объектов?
От: PaulMinelly  
Дата: 29.06.08 16:36
Оценка:
Может быть вопрос немного туповат, на понимание структур данных, но все же

Допустим есть объект дерева:
Tree node
У класса Tree есть только 2 свойства node.right и node.left
Эта структура дана мне сверху я вносить изменения в ее класс не могу.

Мне известен корень дерева. И я хочу расширить струтуру и добавить эмуляцию свойства node.parent (но напрямую исправить/наследовать класс Tree я не могу и добавить туда свойство parent я тоже не могу).

Можно ли создать:
1) массив объектов parent[]
2) коллекцию
3) или же такое можно сделать только с помощью hashtable?

чтобы операции выполнялись в обе стороны как ниже:
parent[node2] = node1;
parent[node3] = node2;
node2 = parent[node3];
node1 = parent[node2];
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Массив объектов?
От: PaulMinelly  
Дата: 29.06.08 16:40
Оценка:
Да, уточню, вопрос в том, какие еще структуры можно использовать кроме hashtable?
Например C# массив, коллекцию или что-то еще другое для этих целей?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Массив объектов?
От: Nuseraro Россия  
Дата: 30.06.08 07:41
Оценка:
Здравствуйте, PaulMinelly, Вы писали:

PM>Да, уточню, вопрос в том, какие еще структуры можно использовать кроме hashtable?

PM>Например C# массив, коллекцию или что-то еще другое для этих целей?

Насколько я понимаю, выбор структуры данных очень зависит от многих вопросов, например:
1) Когда(и сколько раз) эти данные создаются?
2) Когда(и сколько раз) эти данные редактируются?
3) Сколько раз эти данные используются?
4) Какие характерные объёмы данных?

В случае ответов
1 раз
никогда
Очень много
Большие, но меньшие чем характерная оперативная память

Hashtable неплохой выбор
Homo Guglens
Re[3]: Массив объектов?
От: PaulMinelly  
Дата: 30.06.08 08:42
Оценка:
Здравствуйте, Nuseraro, Вы писали:

N>Здравствуйте, PaulMinelly, Вы писали:


PM>>Да, уточню, вопрос в том, какие еще структуры можно использовать кроме hashtable?

PM>>Например C# массив, коллекцию или что-то еще другое для этих целей?

N>В случае ответов

N>1 раз
N>никогда
N>Очень много
N>Большие, но меньшие чем характерная оперативная память

N>Hashtable неплохой выбор



В дано такого не сказано, надо было придумать еще другие стурктуры как это можно хранить в C#.
Только как? Какие еще варианты можно использовать кроме хеша?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Массив объектов?
От: Nuseraro Россия  
Дата: 30.06.08 09:24
Оценка:
Здравствуйте, PaulMinelly, Вы писали:

PM>Здравствуйте, Nuseraro, Вы писали:


N>>Здравствуйте, PaulMinelly, Вы писали:


PM>>>Да, уточню, вопрос в том, какие еще структуры можно использовать кроме hashtable?

PM>>>Например C# массив, коллекцию или что-то еще другое для этих целей?

N>>В случае ответов

N>>1 раз
N>>никогда
N>>Очень много
N>>Большие, но меньшие чем характерная оперативная память

N>>Hashtable неплохой выбор



PM>В дано такого не сказано, надо было придумать еще другие стурктуры как это можно хранить в C#.

PM>Только как? Какие еще варианты можно использовать кроме хеша?
Наиболее здоровой мне кажется идея создать класс, в котором сидел бы TreeNode и ссылка на его родителя, и сохранить интерфейс класса TreeNode с делегированием на внутренний TreeNode. А потом работать с этим, новым TreeNode.

Но эта идея прокатит только иногда.
Homo Guglens
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.