Alexandre
PHPПенсионер
алгоритмическая задачка
вот столкнулся с задачкой:
Есть многосвязный список‚ заданный следующим образом:
и указатель на первый элемент списка
Необходимо составить линейный алгоритм ( линейная сложность О(n) ) создания копии данного списка, но нельзя использовать дополнительную память пропорциональную длине списка(т.е. дополнительные массивы‚ хэши‚ и т.п.)‚ кроме той памяти которая выделяется на создание копии.
PS: у меня получилось 3 прохода (итерации).
вот столкнулся с задачкой:
Есть многосвязный список‚ заданный следующим образом:
PHP:
struct list_item
{
list_item *next; // указатель на следующий элемент списка
list_item *rand; // указатель на произвольный элемент списка
};
Необходимо составить линейный алгоритм ( линейная сложность О(n) ) создания копии данного списка, но нельзя использовать дополнительную память пропорциональную длине списка(т.е. дополнительные массивы‚ хэши‚ и т.п.)‚ кроме той памяти которая выделяется на создание копии.
PS: у меня получилось 3 прохода (итерации).