пачему упыри из МелкоСофта не включили в generics деревья???

Alexander08

laki

в вопросе кроется ответ. потому что упыри.

bleyman

Потому что деревьев немножко слишком дохуя разных. Я плохо себе представляю общего предка AVL и B-trie, например. Полезного общего предка, а не предоставляющего полторы строчки кода итератора.
А все сразу им было влом прогать, надо же и для сторонних программеров работы оставить хоть немножко =)

tokuchu

Потому что деревьев немножко слишком дохуя разных.
Я не в теме, но такой вопрос - хеш там есть? Его ведь тоже много разных.

bleyman

хеш там есть? Его ведь тоже много разных.
virtual int Object.GetHashCode есть. Потому что они справедливо рассудили, что интового хеша будет достаточно любому(с при этом появляется возможность писать HashTable базируясь на этой виртуальной функции (и ещё Object.Equals а реализацию можно сделать практически любую.
Какая может быть польза от генерика "дерево" — я не понимаю. Чтобы что-нибудь куда-нибудь передать, лучше использовать ICollection (которая внутри может быть деревом, естественно). Методы "добавить/найти/удалить элемент" в этом генерике реализовать нельзя, а кроме них ничего интересного в дереве-то и нет. Вот, структуру можно реализовать, типа ссылки, но тогда будет жутко неэффективной реализация бинарных деревьев (потому что вместо двух потомков будет массив потомков да и остальным деревьям дофига дополнительной инфы придётся хранить отдельно.

Dasar

поддерживаю фж.
очень сложно представить класс дерево, которое покрывает широкий класс задач.
именно поэтому дерева и нет в стандартной либе.

agaaaa

во-первых, есть генерик-бинарное дерево SortedDictionary<type, type> (правда оно почему-то отсутствует в CompactFramework'е).
во-вторых, какое ещё дерево, кроме бинарного нужно в стандартной библиотеке классов?

vall

мне кажется для мелких данных сгодится любая хрень, а для не мелких уже лучше использовать какую-нить БД

bleyman

Ыыыы. Это оно _внутри_ дерево, а снаружи ты доступа к нодам не имеешь. И свой алгоритм балансировки вставить не можешь.
> какое ещё дерево, кроме бинарного нужно в стандартной библиотеке классов?
Расскажи, как ты будешь иерархическую структуру каталогов и файлов в файловой системе упихивать в бинарное дерево =)

nikita270601

Расскажи, как ты будешь иерархическую структуру каталогов и файлов в файловой системе упихивать в бинарное дерево =)
Очень просто.

bleyman

В кусок байт ещё проще получится, не правда ли?
Флудербля!

Elina74

>Очень просто.
Элементарно, Уотсон.
---
А еще лучше сто орудий на километр фронта.
Оставить комментарий
Имя или ник:
Комментарий: