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

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

Коллекция графов / Array vs List

  • На этом уроке мы сравним эффективность использования
    ArrayList, List<> и простого массива.
    Победителем окажется типизированная коллекция List<>.
    Очень интеренсо сравнивать эффективность,
    нам в этом поможет флагманский класс Stopwatch.
  • Дата отправки отчёта: 14 апреля 2016 г.
  • Задание выполнено: за 20 мин.
  • Чему научился: Узнал про Stopwatch
  • Что было сложным: Ничего
  • Комментарии: Все понятно и доступно
  • Оценка видео-уроку:
Отчёт от 1967 за Коллекция графов / Array vs List




Оцени работу

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

  • Отчёт оценивали:
    1Евгений Волосатов+1   6925Артём+1   4992Николай+1   4467Alcatraz+1   7119Новопашин Владимир0   6458Илья+1   9567Максим+1   3506Алексей|BrisK|Кривицкий+1   6452Кирилл Шмойлов+1   8380zhikharevav+1   9286Petuško Julija+1   9288Pučko Antonina+1   4395Денис+1   9263Андрей Н.+1   7276Ильшат+1   689Igorenzia+1   9369Tautavičiūtė Anastasija+1   9541Сергей Валерич0   9285Bogdaškaitė Erika+1   6958Кирилл+1   8886Михаил Ермишин+1   459Сергей Сергеевич+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Сoздaл три отдeльныe фyнкции List0(), List1(), List2(), которые реализуют соответственно базовый массив, ArrayList и типизированный список List.
В своем случае я я выбрал такой набор операций: for (int i = 0; i < length; i++) al.Add(length - i); В общем случаем я заполняю массив / коллекцию по спадению от 1 000 000 до 1. Потом вызываю метод сортировки Sort() или Array.Sort(T[] array), который работает с худшим вариантом для сортировки, потому, что ему нужно полностью переставить все элементы в обратном порядке. И измеряю время которое затрачивается на это. Результаты показывают, что на сортировку типизированного списка List затрачивается не много больше времени, чем для обычного массива (и учтите, что при добавлении элементов в список он часто увеличивал свою емкость). А коллекция ArrayList ужасно проигрывает по времени всем. Результаты представлены на 1 скриншоте. Во 2м случае тестировки я немного выровнял шансы и указывал при инициализации коллекций емкость в 1 000 000 элементов. Результаты тестировки представлены на 2м скриншоте.
Научился: Создал три отдельных функции для проверки Array, ArrayList и List. Время выполнения фиксируется с помощью Stopwatch. В предложенных тестах самым быстрым оказался Array, но у него есть фора в виде заранее заданного размера. Для того чтобы уравнять списки в правах, я указал им свойство Capacity равное количеству заполняемых элементов. В этих условиях List оказался быстрее чем Array.
=)