Сообщение Re[7]: Про умные указатели а лучше сборщик мусора... от 09.01.2023 14:12
Изменено 09.01.2023 14:22 Aquilaware
Re[7]: Про умные указатели а лучше сборщик мусора...
Здравствуйте, T4r4sB, Вы писали:
TB>Чёт квадратичная сложность получается.
Меньше. Сложность сборки мусора равна сложности алгоритма нахождения циклов в графе. Она в общем виде составляет O(|V| + |E|), где |V| — кол-во вершин (обьектов), |E| — кол-во ребер (связей между обьектами). В реальности еще меньше, так как работа ведется не со всем графом, а только с его подграфом который относится к обьекту, для которого делается сборка мусора.
TB>Чёт квадратичная сложность получается.
Меньше. Сложность сборки мусора равна сложности алгоритма нахождения циклов в графе. Она в общем виде составляет O(|V| + |E|), где |V| — кол-во вершин (обьектов), |E| — кол-во ребер (связей между обьектами). В реальности еще меньше, так как работа ведется не со всем графом, а только с его подграфом который относится к обьекту, для которого делается сборка мусора.
Re[7]: Про умные указатели а лучше сборщик мусора...
Здравствуйте, T4r4sB, Вы писали:
TB>Чёт квадратичная сложность получается.
Важный момент: сборка мусора делается только для одного обьекта. Для того, который в данный момент потенциально удаляется.
Сложность такой сборки мусора равна сложности алгоритма нахождения циклов в графе. Она в общем виде составляет O(|V| + |E|), где |V| — кол-во вершин (обьектов), |E| — кол-во ребер (связей между обьектами). В реальности еще меньше, так как работа ведется не со всем графом, а только с его подграфом который относится к обьекту, для которого делается сборка мусора.
Если же удалять все обьекты сразу, то да, общая сложность такой операции будет O(|V|^2 + |V|*|E|).
TB>Чёт квадратичная сложность получается.
Важный момент: сборка мусора делается только для одного обьекта. Для того, который в данный момент потенциально удаляется.
Сложность такой сборки мусора равна сложности алгоритма нахождения циклов в графе. Она в общем виде составляет O(|V| + |E|), где |V| — кол-во вершин (обьектов), |E| — кол-во ребер (связей между обьектами). В реальности еще меньше, так как работа ведется не со всем графом, а только с его подграфом который относится к обьекту, для которого делается сборка мусора.
Если же удалять все обьекты сразу, то да, общая сложность такой операции будет O(|V|^2 + |V|*|E|).