Перевод статьи подготовлен в преддверии старта курса «Алгоритмы для разработчиков». Топологическая сортировка для ориентированного ациклического графа (Directed Acyclic Graphs, далее DAG) — это линейное упорядочение вершин, для которого выполняется следующее условие — для каждого…
Полное название статьи должно было звучать как «Устойчивая „топологическая“ сортировка графа с циклами за O(|V| + |e| log |e|) по времени и O(|V|) по памяти без рекурсии», но мне сказали, что это перебор. Читать дальше →
Существует большое количество различных сортировок, которые применяются повсеместно в программах. Алгоритмы сортировок помогают сэкономить такие ресурсы, как время работы какой-либо части кода и, соответственно, время человека и память, используемую для выполнения вашей программы.В этой статье рассматриваются следующие сортировки: сортировка обменами, сортировка выбором, сортировка пузырьком, сортировка вставками. Читать далее
Математический аппарат нередко формировался в процессе решения практических задач: зачатки векторной алгебры возникли при попытках «сложить» скорости и силы, понятие скорости привело к введению производной и так далее. Однако сегодня мы поговорим о случае, когда изначально абстрактная математическая концепция привела к открытию новых физических эффектов и созданию направления в физике под названием топологическая фотоника. Объясним, как это произошло. Читать дальше →