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

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

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

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




2,000 руб.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 ArrayList 00:12:16 29 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 15 мин. [Показать отчёт]
Научился: уже знал эту коллекцию и более менее применял методы 
Сложности: нечего 
Комментарии: использовал sort для сортировки revert для перевертывание  
2 List 00:12:57 29 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 15 мин. [Показать отчёт]
Научился: поработал с list вспомнил linq 
Сложности: нечего 
Комментарии: можно сортировать еще по заданному значению или можно легко узнать элементы odd,even  
3 Array vs List 00:11:04 28 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 15 мин. [Показать отчёт]
Научился: измерил скорость  
Сложности: нечего 
Комментарии: было измеренна скорость при max = 100000000; и выведен результат в тиках и массив простой из Program 
4 ListDictionary 00:15:19 28 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 15 мин. [Показать отчёт]
Научился: попрактиковался с ListDictionary Узнал про коллекции Hashtable, HybridDictionary и чем они отличаются друг от друга 
Сложности: нечего  
Комментарии: не знал с каким методом взять и поэксперементировать  
5 Hashtable 00:11:56 27 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 15 мин. [Показать отчёт]
Научился: поработал с ListDictionary,Hashtable,HybridDictionary 
Сложности: сложно было ждать ответ заполнения ListDictionary очень долго работает  
Комментарии: все протестировал и так и так создания  
6 BitArray 00:14:00 27 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 20 мин. [Показать отчёт]
Научился: Узнал про BitArray, узнал как посчитать сколько занимает в памяти массив  
Сложности: нечего  
Комментарии: не знал что такие методы есть и что они используются еще есть BitVector32 
7 Граф 00:13:48 27 чел. ★ 4.9 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 15 мин. [Показать отчёт]
Научился: узнал про граф немножко 
Сложности: понять его 
Комментарии: Создать Class c List и поместить его в List 
8 Вершины 00:14:15 27 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 20 мин. [Показать отчёт]
Научился: Создания класса граф 
Сложности: недоконца понял как потом будит все работать  
Комментарии: все в класс перенести а потом как лист вывести  
9 Рёбра 00:12:47 26 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 15 мин. [Показать отчёт]
Научился: написал методы для работы с графом 
Сложности: все добавил осталось только понять  
Комментарии: нету 
10 Инициация 00:11:15 26 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 15 мин. [Показать отчёт]
Научился: выводить граф 
Сложности: вспомнить как нарисовать линии 
Комментарии: нету 
11 Отображение 00:16:18 26 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 30 мин. [Показать отчёт]
Научился: были сделаны функции для вывода графа с ребрами на экран 
Сложности: был перепутавши координаты 
Комментарии: нету 
12 Шахматная доска 00:19:58 26 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 20 мин. [Показать отчёт]
Научился: выводить доску 
Сложности: нечего 
Комментарии: нету 
13 Широкий поиск 00:14:59 26 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 20 мин. [Показать отчёт]
Научился: проходить алгоритм в ширь  
Сложности: нечего 
Комментарии: вот так получилось 0 1 5 9 2 4 7 6 8 3  
14 Широкий алгоритм 00:14:12 25 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 20 мин. [Показать отчёт]
Научился: поиск в графе в ширину 
Сложности: все легко 
Комментарии: нету некакой ошибки  
15 Широкий пошаговый ход 00:11:46 25 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 12 мин. [Показать отчёт]
Научился: пошагово сделал  
Сложности: нечего 
Комментарии: нету  
16 Визуализация процесса 00:14:07 22 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 15 мин. [Показать отчёт]
Научился: выводить на экран как работает алгоритм поиск в ширину  
Сложности: нечего 
Комментарии: все понравилось  
17 Глубокий поиск 00:09:58 22 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 20 мин. [Показать отчёт]
Научился: узнал про алгоритм поиск в глубь 
Сложности: написать нечего неспутать  
Комментарии: 0 1 9 5 9 5 7 4 5 3 6 4 5 2 4 5 8 4 5  
18 Глубокий алгоритм 00:15:07 22 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 15 мин. [Показать отчёт]
Научился: узнал как просто реализуется алгоритм поиск в глубину и в чем отличие поиска вширь и в глубину 
Сложности: нечего 
Комментарии: все понравилось отлич 
19 ФИНАЛЬНЫЙ УРОК 22 чел. ★ 5 Done
  Отчёт отправил: 5649. Максим Лапшинов Решено за 5 мин. [Показать отчёт]
Научился: узнал про алгоритмы поиска вширь и поиска вглубь в чем их отличие и графически посмотреть как они работают 
Сложности: были проблемы некоторые с опечатками и с понятием алгоритмов но когда все представили графически все стало яснее 
Комментарии: Очень хотелось бы чтобы добавили еще консольные задачи пару несложных но с применением графов и на еще одном уроке показали как решить консольную задачу с графами и без графами показать преимущество графа и как с ним решать задачи. Раньше сам не мог не как добраться чтобы понять про графы поделал по вашему видео курсу и узнал про них Спасибо за курс.  
  Итого:   19 видеоуроков общей продолжительностью 4 час. 06 мин. 22 чел. ★ 5  
  Финалисты:   Максим,   Alcatraz,   Дмитрий,   Tekashnik,   Denis,   Иван,   Дмитрий 199,   Николай,   Михаил,   Дмитрий,   Ender,   Платон,   Владимир,   Андрей Н.,   Владимир Борисенко,   Максим Лапшинов,   Permitin Alexey,   Новопашин Владимир,   Максим Саратов,   Алексей В.,   Denchik,   Елена .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: На данном курсе я ознакомился и реализовал на практике алгоритмы обхода вершин графа (заодно систематизировал свои первоначальные знания о графах, которые немного подзабыл). Очень эффектно выглядит, когда реализованный функционал в коде становится наглядным и визуализируется. Так лучше понимаешь то, что не смог понять в тексте алгоритма и в коде.
Трудности: Самым сложным все равно остается понимание работы с итераторами (IEnumerable, IEnumerator, yield). До конца не уверен, что смогу сам реализовать такой подход в другом проекте (решается только практикой).
Меня очень интересует тема визуализации данных и процессов. Очень хочется понять как например реализуется графический эквалайзер в проигрывателях музыки (прыгающие уровни ползунков, не говоря уже о полноценных образах)
Научился: Познакомился с применением на практике различных коллекций (ArrayList, List, ListDictionary, Hashtable и HybridDictionary), а также их встроенных методов . Выяснил, что по скорости обработки различных комбинаций большого кол-ва эл-ов ListDictionary на порядок уступил по времени отработки двум другим классам : Hashtable и HybridDictionary, которые показали практически одинаковые результаты . Применять битовый массив BitArray, а также некоторые его методы на практике . Получил представление о графе и его разновидностях, методах представления, применять русские названия методов , перечисление , узнал об итераторах (yield return). Формировать граф в виде шахматной доски либо опр-ой формы и выводить его на экран с последующим поиском пути Вширь и Вглубь . При этом узнал о специфике применения foreach() и HashTable().
Трудности: При выполнении самостоятельных заданий определиться с вариантом хранения графа { цвета вершин, смежные вершины }, найти причину возникновения Exception-a при отработке foreach() и HashTable(), разобраться с общей логикой работы программы.
Хочу от всей души поблагодарить за коллекционный курс графопостроения ) ! Материала для применения и размышлений - более чем ! После данного курса планирую закончить "Бинарная жизнь" и переключиться на курсы "Игра Сокобан", "Графоциклы", "Итератор" . Конечно же в планах пройти все предложенные курсы на данный момент - главное двигаться дальше .