Pull to refresh

Comments 14

Спасибо, кэп.

А с каких пор set стал редкой структурой?
С тех пор, хотя бы, как по какой-то причине его не включили в .NET Framework 1.1. Многие .NET разработчики и не подозревают о существовании HashSet. Прием с использованием hash-таблицы так же малоизвестен. В основном, люди не заморачиваются и используют ArrayList и List для задач, где уместнее был бы HashSet.
Неужели .NET разработчикам, как и PHP'шникам, надо тоже говорить, что знание только одного языка — зло. Неужели «многие .NET разработчики» ни разу не интересовались какие вообще структуры данных бывают?
У многих есть такая особенность. Это можно сказать и про многих ораклистов, и про джавистов, не говоря уже о тех, кто программирует под 1С.
В таком случае уместнее убрать данное утверждение, так как блог не про .Net, а про программирование в целом.
Ну а причём тут .NET то, действительно. Во многих стандартных библиотеках оно есть, если есть коллекции — то и Set/HashSet есть. Например, в Java с незапамятных времён, ну и т.д.
Не совсем. В C++, например, обычный set — это set на базе дерева. Шаблон hash_set есть только в SGI STL и в Visual C++ STL. Так что там с этим тоже сложности.
Ну, в Java HashSet — это тоже HashMap. Вроде речь то не об этом :)
Dictionary внутри реализован как хеш-таблица+связный список. Читайте документацию. Ну хоть иногда.
Вот почему программисту неоходимы теоретические знания об алгоритмах и структурах данных. Хотя бы о базовых, описанных у Вирта.
Небольшая поправка. Выяснилось, что в Ruby есть hash-set, только не в core library, а в одной из стандартных библиотек 'set'. Ни в одном учебнике по Ruby это не упоминается. Только гуру это знают.
UFO just landed and posted this here
Только реализован в стандартной библиотеке, и узнать об этом можно только забравшись в исходники. Чего, увы, многие никогда не делают (именно стандартную библиотеку).
Sign up to leave a comment.

Articles

Change theme settings