Информация об изменениях

Сообщение Re[7]: Про умные указатели а лучше сборщик мусора... от 09.01.2023 14:12

Изменено 09.01.2023 14:22 Aquilaware

Re[7]: Про умные указатели а лучше сборщик мусора...
Здравствуйте, T4r4sB, Вы писали:

TB>Чёт квадратичная сложность получается.


Меньше. Сложность сборки мусора равна сложности алгоритма нахождения циклов в графе. Она в общем виде составляет O(|V| + |E|), где |V| — кол-во вершин (обьектов), |E| — кол-во ребер (связей между обьектами). В реальности еще меньше, так как работа ведется не со всем графом, а только с его подграфом который относится к обьекту, для которого делается сборка мусора.
Re[7]: Про умные указатели а лучше сборщик мусора...
Здравствуйте, T4r4sB, Вы писали:

TB>Чёт квадратичная сложность получается.


Важный момент: сборка мусора делается только для одного обьекта. Для того, который в данный момент потенциально удаляется.

Сложность такой сборки мусора равна сложности алгоритма нахождения циклов в графе. Она в общем виде составляет O(|V| + |E|), где |V| — кол-во вершин (обьектов), |E| — кол-во ребер (связей между обьектами). В реальности еще меньше, так как работа ведется не со всем графом, а только с его подграфом который относится к обьекту, для которого делается сборка мусора.

Если же удалять все обьекты сразу, то да, общая сложность такой операции будет O(|V|^2 + |V|*|E|).