Алгоритмы на Swift
Впервые попытка разобрать алгоритмы была тут - https://smartprogress.do/goal/427421/. Тогда я готовился к собесам в бигтех в веб-разработке и использовал язык JavaScript. Подход был больше практический и я просто пытался нарешивать задачки на Leetcode параллельно с практическим курсом.
В этот раз язык - Swift ,и я хочу побольше копнуть в теорию. Есть много интересных книг ,которые хотелось бы прочесть. Некоторые из них я перенес из цели по CS - https://smartprogress.do/goal/434995/ ,чтобы разгрузить ее и оставить там только изучение устройства компьютеров ,операционных систем и работы языков.
В рамках этой цели ,посколько параллельно изучаю новый для себя язык Swift ,буду иногда и по нему что-то писать для освежения в памяти - как работает та или иная штука в нем и тд.
Критерий завершения
Прочитаны все книги; Решено 300+ задач
-
Структуры данных и алгоритмы Java. Роберт Лафоре
-
Введение
-
Общие сведения
-
Массивы
-
Простая сортировка
-
Стеки и очереди
-
Связанные списки
-
Рекурсия
-
Нетривиальная сортировка
-
Двоичные деревья
-
Красно-черные деревья
-
Деревья 2-3-4
-
Хеш-таблицы
-
Пирамиды
-
Графы
-
Взвешенные графы
-
Рекомендации по использованию
-
-
Паттерны Coding Interview. Подготовка к сложному техническому интервью
-
Введение
-
Два указателя
-
Хеш-таблицы и множества
-
Связные списки
-
Быстрый и медленные указатели
-
Скользящие окна
-
Бинарный поиск
-
Стеки
-
Кучи
-
Интервалы
-
Префиксные суммы
-
Деревья
-
Префиксные деревья
-
Графы
-
Поиск с возвратом
-
Динамическое программирование
-
Жадные алгоритмы
-
Сортировка и поиск
-
Побитовые операции
-
Математика и геометрия
-
-
Грокаем алгоритмы 2-ое издание
-
Знакомство
-
Сортировка выбором
-
Рекурсия
-
Быстрая сортировка
-
Хеш-таблицы
-
Поиск в ширину
-
Деревья
-
Сбалансированные деревья
-
Алгоритм Дейкстры
-
Жадные алгоритмы
-
Динамическое программирование
-
Алгоритм k-ближайших соседей
-
Что дальше?
-
-
Грокаем структуры данных
-
Знакомство
-
Статические массивы
-
Отсортированные массивы
-
Нотация "О-большое"
-
Динамические массивы
-
Связанные списки
-
Абстрактные типы данных
-
Стеки
-
Очереди
-
Приоритетные очереди и кучи
-
Двоичные деревья поиска
-
Словари и хеш-таблицы
-
Графы
-
-
Задачи LeetCode. Первая сотка
-
5
-
10
-
15
-
20
-
25
-
30
-
35
-
40
-
45
-
50
-
55
-
60
-
65
-
70
-
75
-
80
-
85
-
90
-
95
-
100
-
-
Алгоритмы. Род Стивенс
-
Введение
-
Основы алгоритмизации
-
Численные алгоритмы
-
Связанные списки
-
Массивы
-
Стеки и очереди
-
Сортировка
-
Поиск
-
Хеш-таблицы
-
Рекурсия
-
Деревья
-
Сбалансированные деревья
-
Деревья принятия решений
-
Основные сетевые алгоритмы
-
Дополнительные сетевые алгоритмы
-
Строковые алгоритмы
-
Криптография
-
Теория вычислительной сложности
-
Распределенные алгоритмы
-
Головоломки, встречающиеся на собеседованиях
-
-
Алгоритмы на практике
-
Введение
-
Хеш-таблицы
-
Деревья и рекурсия
-
Мемоизация и динамическое программирование
-
Графы и поиск в ширину
-
Кратчайший путь во взвешенных графах
-
Двоичный поиск
-
Кучи и деревья отрезков
-
Система непересекающихся множеств
-
-
Алгоритмы обработки текста
-
Первые понятия стрингологии
-
Комбинаторные задачи
-
Сопоставление с образцом
-
Эффективные структуры данных
-
Регулярные структуры в словах
-
Сжатие текста
-
Разное
-
-
Алгоритмы в задачах и примерах
-
Алгоритмы. Разработка и применение
-
Введение: некоторые типичные задачи
-
Основы анализа алгоритмов
-
Графы
-
Жадные алгоритмы
-
Разделяй и властвуй
-
Динамическое программирование
-
Нахождение потока в сети
-
NP-полнота и вычислительная неразрешимость
-
PSPACE: класс задач за пределами NP
-
Расширение пределов разрешимости
-
Аппроксимирующие алгоритмы
-
Локальный поиск
-
Рандомизированные алгоритмы
-
-
Разработка алгоритмов. Инженерный подход
-
Введение
-
Разминка
-
Случайная выборка
-
Ранжирование списков
-
Сортировка атомарных элементов
-
Пересечение множеств
-
Сортровка строк
-
Задача о словаре
-
Поиск строк по префиксу
-
Поиск по подстроке
-
Целочисленное кодирование
-
Статистическое кодирование
-
Сжатие с использованием словарей
-
Сжатие с сортировкой блоков данных
-
Компактные структуры данных
-
- 62
- 28 апреля 2026, 06:51
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением