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

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

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

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




3,000 руб.


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

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

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

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Первые уроки не приносили удовлетворение, потому что в них много воды и мало визуалки. Так же было бы здорово увидеть в конце первой части(где мы изучали коллекции) какое-то обобщение в виде презентации или еще раз закрепить материал в пейнте, чтобы каталогизировать полученные знания. По второй части, мне понравилась итоговая программа. Но не понравилась работа с переменными. Где-то по-русски, где-то по-английски. В классе только с русскими переменными появляются английские. Это, если что относится не к эстетике и не к русским названиям переменных/функций в программировании, а к способности придерживаться заданного курса. Коль уж сказал, что пишешь русскими, будь добр пиши русскими. Несоответствие собственным принципам может отталкивать новых клиентов, теряется доверие к учителю, они боятся вкладывать деньги, потому что Евгений мог сегодня сказать, что мы создаем новый ресурс, а завтра закрыть все и уйти в подполье, или в голове возникает внутреннее превосходство над учителем, просыпаются мозгоеды, которые начинают старые песни: "А ВЫ ЖЕ СКАЗАЛИ ВОТ ТАК!!". То же самое и насчет иконок в первых уроках рассказывается как это важно, а сейчас на многих курсах мы их даже вообще не ставим. Несмотря на то, что кажется, что отзыв негативный, мне понравилось донесение материала и в целом курсом и полученными знаниями я очень доволен, спасибо!Узнал про коллекции, про Графы, уже нашел применение ему в моей будущей работе.
Трудности: Ничего
Родину люблю, стреляю хорошо, кормят хорошо, в отпуск не хочу, слава Видеошарп!
Смотреть видеозапись: https://www.youtube.com/watch?v=8cRjtXega1w
Научился: На протяжении курса научился многим вещам, понятиям и т.п.
Трудности: Ничего.
Вебинар был просто замечательный как и сам курс, который дает очень основательные знания для работы с коллекциями. Рассмотрены и визуализированы два замечательных алгоритма, к которым думаю в свое время обращался или обратиться каждый программист. Курс просто замечательный.