Мова викладання в курсі — російська. Незабаром буде доступна українська версія цього курсу.
Відеозаписи лекцій без зворотного зв'язку та участі викладача. Ви отримаєте доступ до матеріалів одразу після оплати.
Станьте найкращим програмістом, покращивши свої навички та пройдіть співбесіду. Для C# і Java розробників
Чого ви навчитеся
Реалізація основних структур даних: список, стек, черга і розуміння того, як вони влаштовані
Коректне використання структур даних вбудованих у BCL
Підготовка до співбесід, на яких вас будуть мучити алгоритмами
Дерева, хеш-таблиці та інші структури даних
Різні алгоритми
Вимоги
Знання C# або Java на базовому рівні
З інструментів достатньо Visual Studio Community Edition
Опис
У цьому курсі ми пройдемо основні алгоритми та структури даних. Приклади коду написані на C#, проте 99% матеріалу буде зрозуміло будь-якому Java-програмістові, оскільки синтаксис мов дуже схожий, а приклади коду алгоритмів і структур даних так взагалі майже повністю збігатимуться і в C#, і в Java. У курсі є лише кілька лекцій, присвячених виключно бібліотекам C#.
Навіщо вивчати алгоритми та структури даних?
Алгоритми та структури даних складають основи програмування. Розуміння алгоритмів і структур даних - одна з найважливіших вимог для влаштування на роботу в хороші компанії.
Вам доведеться розв'язувати безліч завдань на співбесідах, пов'язаних з алгоритмами та структурами даних. Дійсно, ви, звісно, зможете прожити і без розуміння алгоритмів і структур даних. Однак, ви зможете так спокійно жити доти, доки не зустрінетеся з реальною проблемою, розв'язання якої вимагатиме грамотного вибору відповідної структури даних або вимагатиме кастомізації відомих алгоритмів. Якщо ви ніколи не стикалися з подібними проблемами, то, повірте, це всього лише питання часу. Одного разу, ви зіткнетеся з такою проблемою і за відсутності глибокого розуміння структур даних і алгоритмів, ви відчуєте себе зганьбленим і безпорадним. Ви застрягнете.
Слабкість розуміння алгоритмів і структур даних сильно знижує ваші шанси пройти співбесіду в хорошу компанію.
Майже всі компанії воліють наймати розробників, які добре знаються на алгоритмах і структурах даних. Запам'ятайте це. Не відкладайте вивчення фундаментальних концепцій.
Потужніше "залізо" - не завжди гарне/доступне рішення проблем, пов'язаних із продуктивністю. Іноді виникає необхідність розробляти програми для дуже низькопродуктивних пристроїв. Використання будь-якого заліза часто так само залежить від бюджету замовника, тому далеко не завжди вибір заліза диктується розробником.
Розуміння того, що відбувається "під капотом" вельми бажане. Хоча б на один рівень у глибину. Дійсно, якщо ви не розумієте, як влаштований список, іноді ви ухвалюватимете неоптимальні або взагалі неправильні рішення.
Чому цей курс?
— этот курс покрывает множество тем
— я старался сделать этот курс не слишком сухим
— курс посвящён не только алгоритмам и структурам данных, но также освящает внутреннее устройство структур данных и алгоритмов встроенных в основную библиотеку классов .NET (библиотека классов в .NET Core в плане структур данных и алгоритмов устроена точно так же)
— курс практический с домашними заданиями и решениями
— курс поможет вам пройти технические собеседования
— курс сделан профессиональным разработчиком с большим реальным опытом
і безліч інших причин
Що всередині курсу?
— Введение в алгоритмы и структуры данных: структура данных, абстрактный тип данных,
різниця між цими поняттями. Що таке алгоритм і чому все це для нас важливо?
— Введение в анализ алгоритмов: сколько времени займёт исполнение программы,
побудова log-log графіка, апроксимації, порядок зростання складності (Big-O нотація), споживання пам'яті
— Массивы: массивы в C#, массивы в памяти, сложность операций на массивах
— Алгоритмы сортировки: пузырьковая, выборкой, вставками, рекурсия, Шелл-сортировка, слиянием, быстрая, стабильность алгоритмов сортировки
— Списки: List встроенный в BCL, узлы (ноды), связный список (односвязный, двусвязный),
— LinkedList встроенный в BCL
— Стек: теория и практика, на массиве,
на зв'язному списку, вбудований у BCL
— Очереди: теория и практика, на массиве, кольцевой буфер,
на зв'язному списку, вбудована в BCL
— Алгоритмы поиска: линейный, бинарный
— Символьные таблицы: введение, API, таблицы на последовательном поиске,
таблиця на бінарному пошуку
— Хеш-таблицы: введение, хеширование, GetHashCode, подходы к разрешению коллизий: раздельные цепочки и линейное пробирование, тип Dictionary встроенный в BCL, типы представляющие множества встроенные в BCL
— Деревья: двоичное дерево поиска и его реализация (больше будет добавлено в будущем)
— Пирамиды: введение, пирамиды и массивы, пирамидальная сортировка
— Различные алгоритмы: эта секция будет расширяться, а пока покрывает алгоритм «решето Эратосфена»
Для кого цей курс:
— C#-разработчики, которые хотят изучить алгоритмы и структуры данных на их любимом языке
— Начинающие разработчики, которые готовятся к поиску работы
Відгуки
Відгуків немає, поки що.