ISSET
Новичок
Алгоритм клонированья ветки дерева - списки смежности
Извините, если будут ошибки, но я по русски уже давно не писал
Вопрос такой, работаю над алгоритмом клонированья ветки дерева (дерево: списки смежности к сожалению). Бьюсь с этим уже больше месяца и никак. Идея вроде бы простая:
Table:
ID----PID--NAME
---------------------------
1----0----Name-1
2----1----Name-2
3----2----Name-3
4----3----Name-4
5----3----Name-5
Что нам дает дерево:
|-Name-1
|-- Name-2
|--- Name-3
|---- Name-4
|---- Name-5
Все просто, но вот теперь я хочу склонироват данную ветвь и получит Table:
ID----PID--NAME
---------------------------
1----0----Name-1
2----1----Name-2
3----2----Name-3
4----3----Name-4
5----3----Name-5
6----0----Name-1-clon
7----6----Name-2-clon
8----7----Name-3-clon
9----8----Name-4-clon
10---8----Name-5-clon
Что нам дает дерево:
|-Name-1
|-- Name-2
|--- Name-3
|---- Name-4
|---- Name-5
|-Name-1-clon
|-- Name-2-clon
|--- Name-3-clon
|---- Name-4-clon
|---- Name-5-clon
Помогите разобратся, запарился уже и нет свежих мыслей...
Извините, если будут ошибки, но я по русски уже давно не писал

Вопрос такой, работаю над алгоритмом клонированья ветки дерева (дерево: списки смежности к сожалению). Бьюсь с этим уже больше месяца и никак. Идея вроде бы простая:
Table:
ID----PID--NAME
---------------------------
1----0----Name-1
2----1----Name-2
3----2----Name-3
4----3----Name-4
5----3----Name-5
Что нам дает дерево:
|-Name-1
|-- Name-2
|--- Name-3
|---- Name-4
|---- Name-5
Все просто, но вот теперь я хочу склонироват данную ветвь и получит Table:
ID----PID--NAME
---------------------------
1----0----Name-1
2----1----Name-2
3----2----Name-3
4----3----Name-4
5----3----Name-5
6----0----Name-1-clon
7----6----Name-2-clon
8----7----Name-3-clon
9----8----Name-4-clon
10---8----Name-5-clon
Что нам дает дерево:
|-Name-1
|-- Name-2
|--- Name-3
|---- Name-4
|---- Name-5
|-Name-1-clon
|-- Name-2-clon
|--- Name-3-clon
|---- Name-4-clon
|---- Name-5-clon
Помогите разобратся, запарился уже и нет свежих мыслей...