Описание
- Реализация основных структур данных: список, стек, очередь и понимание того как они устроены
- Корректное использование структур данных встроенных в BCL
- Подготовка к собеседованиям, на которых вас будут мучить алгоритмами
- Деревья, хеш-таблицы и др. структуры данных
- Различные алгоритмы
Материалы курса
14 разделов • 84 лекций • Общая продолжительность 13 ч 18 мин
Требования
- Знание C# или Java на базовом уровне
- Из инструментов достаточно Visual Studio Community Edition
В этом курсе мы пройдём основные алгоритмы и структуры данных. Примеры кода написаны на C#, однако 99% материала будет ясно любому Java-программисту, поскольку синтаксис языков очень схож, а примеры кода алгоритмов и структур данных так вообще будут почти полностью совпадать и в C# и в Java. В курсе есть лишь несколько лекций посвящённых исключительно библиотекам C#.
Зачем изучать алгоритмы и структуры данных?
Алгоритмы и структуры данных составляют основы программирования.
- Понимание алгоритмов и структур данных – одно из самых важных
требований для устройства на работу в хорошие компании.
Вам придётся решать множество задач на собеседованиях связанных с алгоритмами и структурами данных. Действительно, вы, конечно, сможете прожить и без понимания алгоритмов и структур данных. Однако, вы сможете так спокойно жить до тех пор, пока вы не встретитесь с реальной проблемой, решение которой потребует грамотного выбора подходящей структуры данных или потребует кастомизации известных алгоритмов. Если вы никогда не сталкивались с подобными проблемами, то, поверьте, это всего лишь вопрос времени. Однажды, вы столкнётесь с такой проблемой и при отсутствии глубокого понимания структур данных и алгоритмов, вы почувствуете себя опозоренным и беспомощным. Вы застрянете.
Слабость понимания алгоритмов и структур данных сильно понижает ваши шансы пройти собеседование в хорошую компанию.
Почти все компании предпочитают нанимать разработчиков, хорошо разбирающихся в алгоритмах и структурах данных. Запомните это. Не откладывайте изучение фундаментальных концепций.
- Более мощное «железо» – не всегда хорошее/доступное решение проблем связанных с производительностью. Иногда, возникает необходимость разрабатывать программы для очень низко производительных устройств. Использование какого-либо железа зачастую так же зависит от бюджета заказчика, поэтому далеко не всегда выбор железа диктуется разработчиком.
- Понимание того, что происходит «под капотом» весьма желательно. Хотя бы на один уровень в глубину. Действительно, если вы не понимаете как устроен список, иногда вы будете принимать не оптимальные или вообще неверные решения.
Почему этот курс?
Вы можете меня спросить «почему я должен взять именно ваш курс»? И вот мой ответ:
- этот курс покрывает множество тем
- я старался сделать этот курс не слишком сухим
- курс посвящён не только алгоритмам и структурам данных, но также освящает внутреннее устройство структур данных и алгоритмов встроенных в основную библиотеку классов .NET (библиотека классов в .NET Core в плане структур данных и алгоритмов устроена точно так же)
- курс практический с домашними заданиями и решениями
- курс поможет вам пройти технические собеседования
- курс сделан профессиональным разработчиком с большим реальным опытом
- и множество др. причин
Для кого этот курс:
- C#-разработчики, которые хотят изучить алгоритмы и структуры данных на их любимом языке
- Начинающие разработчики, которые готовятся к поиску работы
Отзывы
Отзывов пока нет.