У курса сразу две цели: познакомить вас с основными структурами данных в программировании и разобраться в их реализации в Java.
В процессе обучения вас ждут не только теоретические материалы но и практические задания, в которых вам предстоит самостоятельно реализовать все базовые структуры данных. Будут онлайн встречи с преподавателями для обсуждения насущных вопросов по курсу.
Главная цель — получить знания о том, как работают структуры данных на таком уровне, который позволит без труда решать практически любые задачи в сфере программирования (связанные со структурами данных).
Рекомендованный следующий курс: Java: Многопоточность (https://ru.hexlet.io/courses/concurrency)
Уроки курса
-
1
Модуль 0. Урок 0. Введение.
Знакомство с курсом и его структурой, описание целевой аудитории и того, что необходимо знать перед прохождением курса. Знакомство с авторами. -
2
Модуль 0. Урок 1. List/Set/Array.
Познакомиться с одной из начальных классификаций всех структур данных; познакомиться с структурами данных Array, List и Set.тесты
-
3
Модуль 0. Урок 2. Очередь (и типы очереди).
Познакомиться со структурами данных queue, stack, de-queue, priority queue.тесты
-
6
Модуль 0. Урок 5. Типы графов.
Знакомство с типами графов Undirected, Directed, Connected, Not Connected, Planar, Tree.тесты
-
12
Модуль 1. Урок 3. Реализация интерфейса Collection.
Знакомство с реализацией интерфейса Collection. -
13
Модуль 1. Урок 4. Фреймворк JMH.
Знакомство с нагрузочным тестированием при помощи фреймворка JMH.тесты
-
14
Модуль 1. Урок 5. Класс AbstractCollection.
Знакомство с классом AbstractCollection. -
16
Модуль 2. Урок 0. List API.
Знакомство с интерфейсом программирования приложений List. -
18
Модуль 2. Урок 2. LinkedList.
Знакомство с LinkedList - реализацией интерфейса List.
Испытания
Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки.
# | Задание | % завершений |
---|---|---|
1 | Треугольник Паскаля | 84% |
2 | Одинаковая чётность | 91% |
3 | Вычислитель различий | 100% |
4 | Преобразование DNA в RNA | 81% |
5 | Сборщик строки запроса | 100% |
6 | Вес Хэмминга | 90% |
7 | Слияние словарей | 85% |
8 | Сумма интервалов | 83% |
Автор
Инженер-исследователь c опытом работы в мировых ИТ гигантах. Занимается разработками в сфере искусственного интеллекта и обучением программированию. Подробнее: www.linkedin.com/in/b0noi
Впечатления
Очень потная домашняя работа: порядка двух часов добивался прохождения :) Спасибо, очень круто было!
Спасибо за этот курс. Было тяжело (LinkedList), но очень интересно
Я безмерно счастлив что полностью заимплементил все методы в этом занятии самостоятельно и прошел все тесты, незабываемо приятное ощущение чувства прогресса. Спасибо за уроки, из многих сообществ посвященных обучению языкам программирования, это одно из лучших. Спасибо !!!
Счастья Вам!!!
Очень интересно рассказываете...
Получилось реализовать на базе вашего
forEach
класс, который посчитал к-во элементов
private static class Counter implements INode.Consumer<Integer>{ private int count=0; @Override public void consume(Integer value) { count++; } public int getCount() { return count; } }
Остается в Main только написать
Counter counter= new Counter(); node.forEach(counter); System.out.printf("Count = %d",counter.getCount());
Очень нравится изложение, не пожалел, оплатил подписку. Очень помогает в башке всё структурировать. Надеюсь, к практике тоже скоро перейдём.