Расстояние Чебышёва

Расстояние Чебышёва (Chebyshev distance, ) — метрика, где расстояние между двумя точками равно максимальной разности координат по любой из осей.

Формула

Для двух точек и :

В общем случае для -мерных векторов:

Аналогия с шахматным королём

Самый наглядный пример — ход короля на шахматной доске. Король движется в 8 направлениях (включая диагональ), и каждый ход — ровно 1 шаг.

ПеремещениеХодов
(0,0)(3,0)max(3, 0) = 3
(0,0)(3,3)max(3, 3) = 3
(0,0)(3,5)max(3, 5) = 5

Диагональный ход «бесплатно» покрывает оба направления одновременно.

Сравнение метрик расстояния

МетрикаФормулаАналогия
ЕвклидоваПрямая линия
МанхэттенскаяДвижение по кварталам города
ЧебышёваХод короля на шахматной доске

Применение в алгоритмах

  • LeetCode задачи с движением по сетке с диагоналями
  • Кластеризация и поиск ближайших соседей в ML
  • Игровые движки (движение по тайловым картам)

Пример кода (JavaScript)

// Time: O(n) | Space: O(1)
// Минимальное время посещения всех точек (LeetCode #1266)
var minTimeToVisitAllPoints = function(points) {
    let steps = 0;
 
    for (let i = 1; i < points.length; i++) {
        const [x1, y1] = points[i - 1];
        const [x2, y2] = points[i];
        steps += Math.max(Math.abs(x2 - x1), Math.abs(y2 - y1));
    }
 
    return steps;
};