Я думаю, все зависит от задачи. В 2d играх действительно чаще используют Quadtree. Kd-tree обычно применяют для статичных данных, когда один раз построил дерево и выполняешь множество range search запросов.
Ха) Думаю нет) Хотя мне очень понравилась задача по Kd-Trees в том же курсе, рекомендую глянуть.
Спасибо) В планах еще пара статей по алгоритмам.
Верно подмечено) Я еще встречал название Disjoint Set Union. Структуру часто называют Union-Find из-за двух основных операций, которые в ней определены: union — объединяет множества, find — определяет какому множеству принадлежит элемент.
Просто Disjoint Sets воспринимается как математическая концепция (непересекающиеся множества), поэтому, чтобы указать на конкретную структуру данных и алгоритм, добавляют Union-Find. Мне же просто Union-Find кажется лаконичным.