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

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

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

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




3,000 руб.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 ArrayList 00:12:16 30 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 16 мин. [Показать отчёт]
Научился: Познакомился с классом ArrayList 
Сложности: Придумать, что было самым сложным 
Комментарии: Всех поздравляю с началом. Поэкспериментировал с методами Remove и Reverse, последний на скриншоте 
2 List 00:12:57 30 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 23 мин. [Показать отчёт]
Научился: Официально познакомился с классом List 
Сложности: Придумывать, что было самым сложным 
Комментарии: Использовал методы и свойства: Reverse, Sum, Count 
3 Array vs List 00:11:04 29 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 32 мин. [Показать отчёт]
Научился: Находить отличия между array, listarray и list 
Сложности: Придумывать, что было самым сложным 
Комментарии: Такими экспериментами я занимался, когда делал связанные с массивами олимпиадные задачи, с каждым разом. отвоёвывая всё больше и больше времени ;) 
4 ListDictionary 00:15:19 29 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 19 мин. [Показать отчёт]
Научился: Работатьki с классом ListDictionary 
Сложности: Придумать, что было самым сложным 
Комментарии: Хорошая вещь этот ListDictionary работал как то с ним, 
5 Hashtable 00:11:56 27 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 21 мин. [Показать отчёт]
Научился: Познакомился с классами Hashtable и HybridDictionary 
Сложности: Понять, как работает HashTable 
Комментарии: Незаменимые вещи, когда работаешь, с большим объёмом данных, в 100 и 1000 раз сокращаю время обработки данных) 
6 BitArray 00:14:00 27 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 32 мин. [Показать отчёт]
Научился: Познакомился с классом BitArray 
Сложности: Придумывать, что было самым сложным 
Комментарии: Всегда в процессе написания программ наступает момент, когда необходимо её оптимизировать, уменьшить время работы алгоритма, освободить память, вот этот тип массива, направлен прям для этих нужд 
7 Граф 00:13:48 27 чел. ★ 4.9 Done
  Отчёт отправил: 8275. Tekashnik Решено за 45 мин. [Показать отчёт]
Научился: Рисовать граф 
Сложности: Придумать способ хранения графа 
Комментарии: Хранить можно, я думаю, самое просто в массиве массивов, элемент, и все элементы, которые директ коннект) Отсюда можно и вершины и рёбра вытащить. 
8 Вершины 00:14:15 27 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 23 мин. [Показать отчёт]
Научился: Писать на СиШарпе русскими буквами 
Сложности: Писать на СиШарпе русскими буквами 
Комментарии: Для хранения рёбер можно использовать массив, словарь, хэштаблицу, да всё что угодно, как говориться вам и карты в руки) 
9 Рёбра 00:12:47 26 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 27 мин. [Показать отчёт]
Научился: Творить в СиШарпе на русском языке 
Сложности: Всё время переключать раскладку 
Комментарии: гиперграф — если ребро может соединять более двух вершин. ультраграф — если между элементами x_i и u_j существуют бинарные отношения инцидентности. 
10 Инициация 00:11:15 26 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 32 мин. [Показать отчёт]
Научился: писать функцию AddLabel 
Сложности: придумывать, что было самое сложное 
Комментарии: Уж полночь близится, а близости всё нет 
11 Отображение 00:16:18 26 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 31 мин. [Показать отчёт]
Научился: Рисовать граф СиШарпом 
Сложности: Придумывать, что было самое сложное. 
Комментарии: Как и каламбур, программирование — это игра слов. (с) Алан Джей Перлис 
12 Шахматная доска 00:19:58 26 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 34 мин. [Показать отчёт]
Научился: Рисовать графы 
Сложности: Придумать, что было самым сложным 
Комментарии: Программист должен обладать способностью первоклассного математика к абстракции и логическому мышлению в сочетании с эдисоновским талантом сооружать все, что угодно, из нуля и единиц. Он должен сочетать аккуратность бухгалтера с проницательностью разведчика, фантазию автора детективных романов — с трезвой практичностью экономиста. А кроме того, программист должен иметь вкус к коллективной работе, понимать интересы пользователя и многое другое.. 
13 Широкий поиск 00:14:59 26 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 28 мин. [Показать отчёт]
Научился: Вручную проходить алгоритм, поиск вширину 
Сложности: Придумывать, что было самым сложным 
Комментарии: Замечаний нет, алгоритм совершенен, вопросов тоже. 
14 Широкий алгоритм 00:14:12 25 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 1 час. 23 мин. [Показать отчёт]
Научился: Искать ошибки в своём коде 
Сложности: Искать ошибки в своём коде 
Комментарии: Ох нелёгкая это работа, искать в коде ошибки)) 
15 Широкий пошаговый ход 00:11:46 25 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 34 мин. [Показать отчёт]
Научился: Пошагово исполнять программу 
Сложности: Всё самое сложное было на предидущем уроке 
Комментарии: Уже немного мозг подкипать начинает) 
16 Визуализация процесса 00:14:07 22 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 45 мин. [Показать отчёт]
Научился: Немного повторил делегаты 
Сложности: Ждать окончания цикла при задержке 1000 
Комментарии: А красиво получилось, прям даже очень 
17 Глубокий поиск 00:09:58 22 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 29 мин. [Показать отчёт]
Научился: Вручную обрабатывать алгоритм стека) 
Сложности: Красиво всё нарисовать) 
Комментарии: Ресурс ВидеоШарп не только прокачивает навыки С#, но и многих других областей, такие как рисование, оформление, выступления и это наверное правильно, однобокое разветвите путь к тупику) 
18 Глубокий алгоритм 00:15:07 22 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 43 мин. [Показать отчёт]
Научился: Стек немного опробовал) 
Сложности: Придумывать, что было самое сложное 
Комментарии: Это конечно, не рекурсия, закраски области, но тоже очень красиво. Было полезно и интересно) 
19 ФИНАЛЬНЫЙ УРОК 22 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 13 мин. [Показать отчёт]
Научился: Писать мысли 
Сложности: Придумывать  
Комментарии: Хочется поблагодарить за вебинар, то есть два. Крайне полезные классы были рассмотрены. Материала было вбухано хорошо)) И Евгений Витольдович всегда пойдёт навстречу, будем дальше посещать такие мероприятия, всем рекомендую) 
  Итого:   19 видеоуроков общей продолжительностью 4 час. 06 мин. 22 чел. ★ 5  
  Финалисты:   Максим,   Alcatraz,   Дмитрий,   Tekashnik,   Denis,   Иван,   Дмитрий 199,   Николай,   Михаил,   Дмитрий,   Ender,   Платон,   Владимир,   Андрей Н.,   Владимир Борисенко,   Максим Лапшинов,   Permitin Alexey,   Новопашин Владимир,   Максим Саратов,   Алексей В.,   Denchik,   Елена .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: узнал что такое граф, научился проходить его в глубину используя очередь, в ширину используя стек. Понял что из коллекций нужно использовать типизированные (быстрее работаю, нет упаковки-распаковки) т.е. ключ-значение Dictionary, просто значение HashSet. С остальными думаю можно не заморачиваться, а для хранения логических значений использовать BitArray
Трудности: не было
отличный, доходчивый курс
Научился: Узнал о паре новых коллекций, сравнил скорость их работы и не только вспомнил теорию графов, но и реализовал наглядное отображение поиска в ширину и глубину.
Трудности: Ничего
Мне всё понравилось =) Особенно часть, где ты видишь, как написанный тобой код пошагово показывает тебе работу различных способов поиска по графу. А кто не любит, когда работу программу можно буквально увидеть своими глазами? =)