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

Формула программиста
основатель — Волосатов Евгений Витольдович

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

  • На этом уроке мы поработаем с Hashtable - каким именно
    образом в неё складываются значения и почему она будет
    работать, даже если хеш-функция вернёт одинаковые значения.
    Также мы увидим, что порядок элементов путается,
    а сами значения хранятся в очень хитром виде.
    В конце урока мы сделаем всё то же самое с гибридным классом.
    Самостоятельное задание: сравнить скорость работы этих коллекций.
    1 этап: создать МНОГО коллекций по 8 и по 9 элементов (ОТДЕЛЬНО).
    2 этап: создать ОДНУ коллекцию из ОГРОМНОГО количества элементов.
    Подвести итоги и в отчёте написать вывод.
  • Дата отправки отчёта: 23 апреля 2016 г.
  • Задание выполнено: за 1 час. 00 мин.
  • Чему научился: HashTable, HybridDictionary и их сравнение с ListDictionary
  • Что было сложным: организовать сравнение трех списков
  • Комментарии: Не уверен, что я правильно написал функцию сравнения(есть на втором скриншоте). По результатам: ListDictionary лучше при малом количестве элементов и большом количестве словарей, HybridDictionary проигрывает ему после перестроения на 9 элементов. И он очень плох при одном словаре и большом количестве элементов. Для этого лучше использовать Hash- или Hybrid-Dictionary.
  • Архив проекта: Ссылка доступна после самостоятельного выполнения этого урока
  • Оценка видео-уроку:
Отчёт от 4780 за Коллекция графов / Hashtable


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




Оцени работу

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

  • Отчёт оценивали:
    9567Максим+1   4467Alcatraz+1   9237Mais+1   7119Новопашин Владимир0   791Валерий Жданов+1   3506Алексей|BrisK|Кривицкий+1   4992Николай+1   8835Булат+1   4805Сергей В+1   6452Кирилл Шмойлов+1   1537Сергей+1   8380zhikharevav+1   9288Pučko Antonina+1   1Евгений Волосатов+1   6644valerys Nikola+1   689Igorenzia+1   9263Андрей Н.+1   459Сергей Сергеевич+1   7645Александр Львович+1   1947Denis+1   6958Кирилл+1  

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Ознакомился и поработал с новыми коллекциями Hashtable, HybrideDictionary, разобрался с тем как они располагаются в памяти. Наконец-то понял, что такое вообще hash и откуда он берется)))
Трудности: При подборе количества итераций цикла (100000) в ListDictionary комп висит - поэтому ограничился 10000!
Нет
Научился: Научился самостоятельно экспериментировать и сравнивать коллекции на практике.
Скажу честно: мне лень было напрягать мозги и думать над этим, однако желание не стать посредственным программистом победило. Вот что накалякал: Я никак не мог понять, как создать много коллекций. Только потом вспомнил, что массив всегда придёт в помощь. Ну да ладно, с этим справился. Потом всё пошло отлично, но вот на скрине получилось так, что 100000 коллекций LD создаётся 200мс, а одна из 100000 элемнтов - минуту. МИНУТУ, КАРЛ! То ли я ошибся в исходнике (прикрепляю его), то ли коллекция LD быстрая только при малом кол-ве элементов? Ну а так, проэкспериментировав, можно сделать вывод, что с малым кол-вом элементов лучше LD не найти, в то же время HD-коллекции удобны при бОльшем кол-ве элементов. И ещё: я не понял третий этап, который Вы говорили на видео. Что от меня нужно? А так эксперимент понравился, спасибо за урок!