Как называется алгоритм, при котором не алоцируется новая память

«Как называется алгоритм, при котором не алоцируется новая память» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Go это называется "in-place алгоритм". Он изменяет данные прямо в существующей памяти без выделения нового пространства. Часто используется для оптимизации производительности.

Пример с reverse строки:

func reverseInPlace(s []byte) {
    for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 {
        s[i], s[j] = s[j], s[i]
    }
}

Здесь мы меняем символы местами в исходном слайсе, не создавая новый. Важно: входные данные изменяются!