Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Коллекция графов / Hashtable

  • На этом уроке мы поработаем с Hashtable - каким именно
    образом в неё складываются значения и почему она будет
    работать, даже если хеш-функция вернёт одинаковые значения.
    Также мы увидим, что порядок элементов путается,
    а сами значения хранятся в очень хитром виде.
    В конце урока мы сделаем всё то же самое с гибридным классом.
    Самостоятельное задание: сравнить скорость работы этих коллекций.
    1 этап: создать МНОГО коллекций по 8 и по 9 элементов (ОТДЕЛЬНО).
    2 этап: создать ОДНУ коллекцию из ОГРОМНОГО количества элементов.
    Подвести итоги и в отчёте написать вывод.
  • Дата отправки отчёта: 17 декабря 2016 г.
  • Задание выполнено: за 1 час. 15 мин.
  • Чему научился: Познакомился и немного поработал с ListDictionary, Hashtable, HybridDictionary
  • Что было сложным: Понять, что такое хэш
  • Комментарии: Результаты измерений:
    1. Создание коллекций трех вышеперечисленных типов, добавление в каждую по 8 элементов,
    повторение 10000000 раз
    ListDictionary 2663мс
    Hashtable 5159мс
    HybridDictionary 2879мс
    Ожидаемо в таких условиях ListDictionary быстрее, поскольку элементов немного, HybridDictionary совсем немного отстает.

    2. Создание коллекций каждого из трех, добавление в каждую по 100000 элементов,
    ListDictionary 27010мс
    Hashtable 11мс
    HybridDictionary 5мс
    Вывод - ListDictionary совершенно не подходит для работы с большим количеством элементов, типы с хешированием вне конкуренции. Особенно радует HybridDictionary своей универсальностью.
    Отличный урок!
  • Оценка видео-уроку:
Отчёт от 10309 за Коллекция графов / Hashtable


Отчёт от 10309 за Коллекция графов / Hashtable




Оцени работу

 
Сохранить страницу:

10558. --
Иван Воронин
Иван Воронин
ответить
→  Станислав  # Коллекция графов / Hashtable / 2016-12-18 06:48

Да, HybridDictionary очень хорошая замена ListDictionary



Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: HybridDictionary - WIN!!! Я думал что ListDictionary будет быстрей, но оказалось что HybridDictionary лучше :)
Трудности: С размещением в Hashtable и HybridDictionary элементов в будущем разберу, сейчас главное суть понять.



Научился: Ознакомился и поработал с новыми коллекциями Hashtable, HybrideDictionary, разобрался с тем как они располагаются в памяти. Наконец-то понял, что такое вообще hash и откуда он берется)))
Трудности: При подборе количества итераций цикла (100000) в ListDictionary комп висит - поэтому ограничился 10000!
Нет