Какова асимптотическая сложность выполнения метода UIView Перевести в:)?
Мое лучшее предположение - постоянное время, но я не совсем уверен.
Что заставляет вас думать, что это линейное время? Как спросил Мартин, над чем это будет линейно?





O(1). Все сводится к банальным NSPoint добавлениям/удалениям.
NSView.convertPoint:fromView: похож, и вы можете увидеть реализация этого GNStep:
- (NSPoint) convertPoint: (NSPoint)aPoint fromView: (NSView*)aView
{
NSPoint new;
NSAffineTransform *matrix;
if (!aView)
aView = [[_window contentView] superview];
if (aView == self || aView == nil)
return aPoint;
NSAssert(_window == [aView window], NSInvalidArgumentException);
matrix = [aView _matrixToWindow];
new = [matrix transformPoint: aPoint];
if (_coordinates_valid)
{
matrix = _matrixFromWindow;
}
else
{
matrix = [self _matrixFromWindow];
}
new = [matrix transformPoint: new];
return new;
}
Асимптотика как функция чего?