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

Формула программиста
основатель — Волосатов Евгений Витольдович
Вебинар «Yii + PHP = Завершение» начнётся через 8 час. 37 мин.

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

Мы рассмотрим основные коллекции в языке C#.
Поэкспериментируем с ними, сравним их быстродействие.
Далее, познакомимся с теорией графов. Создадим класс
для представления графа в памяти компьютера.
Сделаем визуальное отображения графа и
составим алгоритмы поиска вширь и глубь,
с использованием коллекций Стек и Очередь.




2,000 руб.


Для подписки на пакет необходимо авторизоваться.

Список уроков | фото | видео

# Название видеоурока Решило Рейтинг Доступ
1 ArrayList 00:12:16 35 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 25 мин. [Показать отчёт]
Научился: Пока ничему. 
Сложности: Ничего. 
Комментарии: Использовал метод IndexOf - посмотрел его работу. 
2 List 00:12:57 35 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 17 мин. [Показать отчёт]
Научился: Для меня было откровением, что можно сумму считать по generic от int. 
Сложности: Ничего. 
Комментарии: Я нашел максимальный элемент коллекции и вывел на экран. 
3 Array vs List 00:11:04 34 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 33 мин. [Показать отчёт]
Научился: Сравнивать время работы различных коллекций и массивов. 
Сложности: Ничего. 
Комментарии: Я чтобы уравнять шансы стал присваивать коллекциям свойству Capacity количество элементов и в результате генерик int быстрее работает даже, чем массив (на скрине видно). 
4 ListDictionary 00:15:19 34 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 37 мин. [Показать отчёт]
Научился: Узнал о коллекции ListDictionary. 
Сложности: Ничего. 
Комментарии: Бинарное дерево - сила. 
5 Hashtable 00:11:56 33 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 1 час. 13 мин. [Показать отчёт]
Научился: Научился работать со словарями ListDictionary, HashTable и HybrideDictionary 
Сложности: Самым сложным сделать тест. Я сначала не понял задание - я создавал массив коллекций и в каждый элемент добавлял по 10 элементов - понятное дело на 100 млн записях у вылетело с exception Out of memory. Потом я начал создавать словарь и добавлять по 10 элементов и так 100 млн раз - в результате получилось. 
Комментарии: У меня очень долго работал тест добавления 100 млн записей - пришлось сначала сократить до 10 млн, потом до 100 000 записей и то со скрина видно, что очень долго добавляются записи и примерно одинаковое время работает. А в первом случае намного быстрее - 100 млн раз по 10 записей. 
6 BitArray 00:14:00 33 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 1 час. 37 мин. [Показать отчёт]
Научился: Научился работать с коллекцией BitArray 
Сложности: Ничего. 
Комментарии: Вообще классно, что данный тип массива занимает в 8 раз меньше памяти, если бы использовали bool. Я поэкспериментировал с AND и OR. С моей точки зрения не правильно отрабатывает 3 случай для OR - там должно быть true . 
7 Граф 00:13:48 33 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 1 час. 27 мин. [Показать отчёт]
Научился: Узнал про понятие графов и все что с ними связано. Нужно почитать викепедию. 
Сложности: Было вломак рисовать в паинте граф. 
Комментарии: Для моего графа следующая запись: 1 - 2,3 2 - 1,3 3 - 1,2,4 4 - 5 5- 4 6-7 7-6 
8 Вершины 00:14:15 33 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 30 мин. [Показать отчёт]
Научился: Научился создавать класс графа и описывать вершины. 
Сложности: Пока ничего. 
Комментарии: Хранить ребра можно в словаре типа , а насчет клавиатур прикольно - надо взять на вооружение. Сейчас не хочу себе создавать трудности - пока и так хватает. 
9 Рёбра 00:12:47 32 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 30 мин. [Показать отчёт]
Научился: Научился создавать класс для графа. 
Сложности: Ничего. 
Комментарии: С моей точки зрения нужно придумать такую штуку, чтобы добавил скажем ребро a к b - и b уже автоматически добавлялось и знало, что оно есть. Чтобы не было дублирования хранения данных. 
10 Инициация 00:11:15 32 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 2 час. 00 мин. [Показать отчёт]
Научился: Научился добавлять граф в коллекцию. 
Сложности: До сих пор не понимаю как вывести граф на экран тем боле соединить элементы линиями друг с другом. 
Комментарии: Идем дальше. 
11 Отображение 00:16:18 32 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 1 час. 02 мин. [Показать отчёт]
Научился: Научился визуализировать граф с помощью Label и Lines. 
Сложности: Ничего. 
Комментарии: Я в восторге - граф как на ладони. Как пел Высоцкий : "Весь мир на ладони - я счастлив и нем...". 
12 Шахматная доска 00:19:58 32 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 1 час. 22 мин. [Показать отчёт]
Научился: Научился отображать граф шахматной доски. 
Сложности: Ничего. 
Комментарии: Это круто. 
13 Широкий поиск 00:14:59 32 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 33 мин. [Показать отчёт]
Научился: Научился алгоритму поиска вширь или в народе его называют bfs. 
Сложности: Ничего. 
Комментарии: Я вот подумал, а красно - черные деревья не такую же природу имеют? У меня получилось 2 очереди 12345 и 67 
14 Широкий алгоритм 00:14:12 31 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 41 мин. [Показать отчёт]
Научился: Научился создавать алгоритм обхода вширь BFS. 
Сложности: Пока не смог разобраться с ошибкой, когда мы перебираем все ключи и у нас изменяется коллекция. 
Комментарии: Посмотрю следующий урок. 
15 Широкий пошаговый ход 00:11:46 31 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 35 мин. [Показать отчёт]
Научился: Научился исправлять ошибку в HashTable 
Сложности: Ничего. 
Комментарии: Идем дальше. 
16 Визуализация процесса 00:14:07 27 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 30 мин. [Показать отчёт]
Научился: Научился визуализировать алгоритм с помощью делегатов. 
Сложности: Были моменты когда линии затирались при Refresh() в видео нашел решение. 
Комментарии: Круто получилось. 
17 Глубокий поиск 00:09:58 27 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 44 мин. [Показать отчёт]
Научился: Научился DFS - методу поиска вглубь. 
Сложности: Ничего. 
Комментарии: Хорошо что BFS и DFS объяснены с точки зрения очереди и стека - все ставит в голове на свои места. 
18 Глубокий алгоритм 00:15:07 27 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 1 час. 44 мин. [Показать отчёт]
Научился: Научился реализовывать DFS алгоритм. 
Сложности: Ничего. 
Комментарии: Получилось круто. Посмотрел как работает алгоритм поиска вглубь. 
19 ФИНАЛЬНЫЙ УРОК 27 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 2 час. 24 мин. [Показать отчёт]
Научился: Ничему. 
Сложности: Микрофон как всегда лагал. 
Комментарии: Супер курс - очень интересный и помог в решении пары задач. 
Видеообзор: https://youtu.be/7KVxnZrHA60
  Итого:   19 видеоуроков общей продолжительностью 4 час. 06 мин. 27 чел. ★ 5  
  Финалисты:   Максим,   Alcatraz,   Дмитрий,   Tekashnik,   Denis,   Иван,   Дмитрий 199,   Николай,   Михаил,   Дмитрий,   Ender,   Платон,   Владимир,   Андрей Н.,   Владимир Борисенко,   Максим Лапшинов,   Permitin Alexey,   Новопашин Владимир,   Максим Саратов,   Алексей В.,   Den Andreevich,   Елена,   Станислав,   Сергей Соколов,   Yefim,   Алексей Малышев,   Александр .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Курс "Коллекция графа" давно привлекал мое внимание. В начале казалось, что я к нему не готов. Но затем, пройдя несколько курсов, появилось больше уверенности. И я, наконец решился. Курс не обманул моих ожиданий. Как всегда, было много практики и только минимум (самой необходимой) теории. Интересным оказался новый методический прием. Как правило в качестве домашнего задания, требовалось не только воспроизвести, то, что проходили на уроке, но и давалось небольшое задание реализовать, что-то новенькое, чего не было на уроке. Чаще всего мне это удавалось, а потом, на следующем уроке, приятно было осознавать, что пришел к этому самостоятельно. Хотя в некоторых случаях пришлось признавать, что мой код был хуже. Я познакомился разными коллекциями. Научился: Создавать коллекции типа List, ListDictionary, Hashtable, HybridDictionary, использовать их методы, а также сравнивать эффективность их работы. Апофеозом курса было знакомство с теорией графов. Я научился не только рисовать графы, но и программно их описывать. Был создан класс Граф. В данном курсе еще раз было показано, что в качестве переменных и функций можно использовать имена с русскими буквами. Немного непривычно, но это работает. Я познакомился с особенностями работы очередей и скеков. Подробно были изложены алгоритмы прохождения графа (вширь и вглубь). Особый восторг вызвала графическая пошаговая реализация этих алгоритмов. От всей души поблагодарю автора курса, Волосатого Евгения Витольдовича и всех, тех, кто меня поддерживал все это время. Следующими курсами будут: "Тетрис" и Dancing LInks.
Научился: узнал про алгоритмы поиска вширь и поиска вглубь в чем их отличие и графически посмотреть как они работают
Трудности: были проблемы некоторые с опечатками и с понятием алгоритмов но когда все представили графически все стало яснее
Очень хотелось бы чтобы добавили еще консольные задачи пару несложных но с применением графов и на еще одном уроке показали как решить консольную задачу с графами и без графами показать преимущество графа и как с ним решать задачи. Раньше сам не мог не как добраться чтобы понять про графы поделал по вашему видео курсу и узнал про них Спасибо за курс.