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

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

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

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




3,000 руб.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 ArrayList 00:12:16 32 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 10 мин. [Показать отчёт]
Научился: Основе работы с коллекциями) Поигрался с методами 
Сложности: Ничего сложного 
Комментарии: Попробовал поиграться с несколькими методами. Посмотрел как ArrayList хранит различные типы данных 
2 List 00:12:57 32 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 15 мин. [Показать отчёт]
Научился: Пока ничему новому) 
Сложности: Ничего сложного 
Комментарии: Попробовал использовать List для создания английского алфавита и метод Reverse чтобы вывести его в обратном порядке 
3 Array vs List 00:11:04 31 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 20 мин. [Показать отчёт]
Научился: Засекать время работы блока кода 
Сложности: Ничего сложного 
Комментарии: Поигрался с разными методам коллекций и простых массивов. Посмотрел на время их работы для различных типов коллекций. 
4 ListDictionary 00:15:19 31 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 10 мин. [Показать отчёт]
Научился: Поработал с ListDictionary 
Сложности: Ничего сложного 
Комментарии: Узнал кое что о хэш функциях и таблицах. И как данные представляются в виде дерева. 
5 Hashtable 00:11:56 30 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 15 мин. [Показать отчёт]
Научился: Узнал два новых вида колекций 
Сложности: Ничего сложного пока) 
Комментарии: Just do it) 
6 BitArray 00:14:00 30 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 10 мин. [Показать отчёт]
Научился: Познакомился с коллекцией BitArray 
Сложности: Ничего сложного 
Комментарии: Попробовал работу с различными булевыми операциями. Научился выяснять размер занимаемый в памяти 
7 Граф 00:13:48 30 чел. ★ 4.9 Done
  Отчёт отправил: 4538. Платон Решено за 20 мин. [Показать отчёт]
Научился: Узнал о графах и как можно представлять в памяти компьютера 
Сложности: Ничего особенно сложного 
Комментарии: Попробовал нарисовать граф. Там же на скриншоте набросал, как может выглядеть коллекция которая будет хранить информацию о его ребрах и вершинах) Прошу строго не судить. Только сегодня узнал о графах. И в принципе пока не понимаю для чего и как мы будем их использовать. Надеюсь в следующих уроках ситуация прояснится 
8 Вершины 00:14:15 30 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 15 мин. [Показать отчёт]
Научился: Ничему новому 
Сложности: Ничего сложного 
Комментарии: Все таки от русских букв в программе глаза на лоб лезут. Так что пишу на английском. Как вариант, чтобы хранить ребра можно использовать одну из рассмотренных коллекций, где ребро будет ключом, а список вершин которые он связывает коллекцией) Или я же сильно ошибаюсь. Просто пока смутно понимаю, для чего это нужно и что у нас в итоге должно получиться, так что прошу строго не судить. 
9 Рёбра 00:12:47 29 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 20 мин. [Показать отчёт]
Научился: Все больше вникаю в работу с графом как структурой данных 
Сложности: Ничего сложного 
Комментарии: Just do it) 
10 Инициация 00:11:15 29 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 20 мин. [Показать отчёт]
Научился: Пока ничему новому 
Сложности: Ничего сложного 
Комментарии: Just do it 
11 Отображение 00:16:18 29 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 20 мин. [Показать отчёт]
Научился: Ничему новому) 
Сложности: Повозился с координатами вершин) 
Комментарии: Just do it 
12 Шахматная доска 00:19:58 29 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 30 мин. [Показать отчёт]
Научился: Ничему новому) 
Сложности: Понять как работают три вложенных цикла) 
Комментарии: Just do it 
13 Широкий поиск 00:14:59 29 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 20 мин. [Показать отчёт]
Научился: Наглядно посмотрел, что значит поиск в ширь на примере связного графа 
Сложности: Ничего сложного 
Комментарии: Just do it) 
14 Широкий алгоритм 00:14:12 28 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Понял особенности перебора коллекции с помощью цикла foreach 
Сложности: Исправить ошибку) 
Комментарии: Как я понял при переборе елементов колеекции с помощью цикла foreach можно только считывать эти самые элементы но не изменять их в процессе. Поэтому в 2 методах пришлось создавать дополнительные коллекции, в которых содержаться информацию о вершинах графа и перебирать уже их. Скорее всего есть более эфективный способ решения. Посмотрим в следующих уроках :) 
15 Широкий пошаговый ход 00:11:46 28 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Вспомнил работу с событиями в .NET 
Сложности: Ничего сложного 
Комментарии: Получилось неплохо визуализировать процесс поиска в ширину на форме. Чтобы не смешивать UI и логику поиска создал класс события и передавал нужные аргументы элементу формы чтобы он менял цвет при изменение цвета вершины. А так всё как обычно. Just do it) 
16 Визуализация процесса 00:14:07 24 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 20 мин. [Показать отчёт]
Научился: Ничему новому) Удалось всё визуализировать в качестве самостоятельного задания на предыдущем уроке 
Сложности: Ничего сложного 
Комментарии: Just do it 
17 Глубокий поиск 00:09:58 24 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 20 мин. [Показать отчёт]
Научился: Поиску в глубь на примере графа) 
Сложности: Ничего сложного  
Комментарии: Just do it) 
18 Глубокий алгоритм 00:15:07 24 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 20 мин. [Показать отчёт]
Научился: Реализовывать алгоритм поиска вглубь на примере связного графа 
Сложности: Ничего сложного 
Комментарии: Just do it) 
19 ФИНАЛЬНЫЙ УРОК 24 чел. ★ 5 Done
  Отчёт отправил: 4538. Платон Решено за 5 мин. [Показать отчёт]
Научился: ... 
Сложности: Понять суть такой структуры данных как граф. Разобраться с алгоритмами поиска) 
Комментарии: Отличный курс. Узнал для себя очень многое. Повторил и вспомнил то, что когда то проходил в институте) Ну как проходил. Мимо ушей пропускал. Сейчас вот наверстываю. Очень радует эмоциональный и нескучный способ обучения. Ну тут как обычно. Спасибо Витольдовичу) Всем непроходившим этот курс яростно советую пройти и пополнить свой багаж скилов) Ну и как обычно ... Just do it 
  Итого:   19 видеоуроков общей продолжительностью 4 час. 06 мин. 24 чел. ★ 5  
  Финалисты:   Максим,   Alcatraz,   Дмитрий,   Tekashnik,   Denis,   Иван,   Дмитрий 199,   Николай,   Михаил,   Дмитрий,   Ender,   Платон,   Владимир,   Андрей Н.,   Владимир Борисенко,   Максим Лапшинов,   Permitin Alexey,   Новопашин Владимир,   Максим Саратов,   Алексей В.,   Den Andreevich,   Елена,   Станислав,   Сергей Соколов .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Познакомился со многими понятиями про которые и не слышал. Все было для меня ново. Конечно Я не программист и доп задания выполнял по возможности. Но прошел этот курс с большим интересом.
Трудности: Поиск ошибок уроками был не легким. Некоторое так и не вышло. разобратся так и не удалось, даже через дебаг.
Конечно Я не программист и доп задания выполнял по возможности. Но прошел этот курс с большим интересом.
Научился: Разобрали алгоритмы поиска в глубь и в ширь
Трудности: ничего
Я считаю, что курс просто отличный. Мало того, что мы узнаем как работает стек и очередь, еще мы разберем 2 алгоритма прохода по графу, а также увидим воочию как работают эти алгоритмы. Если немного доработать самостоятельно, можно прикрутить поиск кратчайшего пути. А понимание такого механизма очень поможет в спортивном программировании! Единственный (как мне кажется) недочет, так это то, что в курсе используются IEnumerable. Мне, как не проходившему по данному типу видеокурс, было немного тяжело, хоть и интуитивно понятно, как это работает. В общем и целом, я рекомендую этот курс всем, кто хочет еще глубже погрузиться в атмосферу программирования, а также всем, кто захочет когда нибудь участвовать в олимпиадах и различных конкурсах по программированию. Между прочим, алгоритм поиска кратчайшего пути является основным алгоритмом на ежегодном конкурсе Russian AI Cup (соревнование по программированию ИИ)