Здравствуйте, _ustas_, Вы писали:
__>Нужно найти все цепочки вхождений различных строк друг в друга, чтобы выстроить иерархию. __>Ломаю голову уже несколько дней...
У вас данные противоречать вашей формулировке, т.к. по формулировке узел с id="1.2.3.4" должен быть ребенком узла с id="1", а он в свою очередь должен иметь рождителя с id="".
Вот что у меня получилось:
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, _ustas_, Вы писали:
__>>Нужно найти все цепочки вхождений различных строк друг в друга, чтобы выстроить иерархию. __>>Ломаю голову уже несколько дней...
L>У вас данные противоречать вашей формулировке, т.к. по формулировке узел с id="1.2.3.4" должен быть ребенком узла с id="1", а он в свою очередь должен иметь рождителя с id="".
Спасибо огромное за помощь!
На самом деле все верно, просто тут две независимые иерархии, если делиметер ".", то нужно искать только родителей с "." — они не могут быть "1", а только "1.1" или "1.1.1".
Если же делиметер "/", то родители могут быть и просто "1"...
Пустые узлы они не родители, это "ошибочные" как бы несконфигурированные. Их нужно просто в корень класть...
Так выгружает свои данные NMS система, это у CISCO два способа указания слотов устройств — с разделителями "." и "/".
Только тут не проверяется щекотливая ситуация, противоречащая начальному условию — элемент с id=1 может быть парентом элемента с id=1.2.3.4, а этого автор не хочет.
__>На самом деле все верно, просто тут две независимые иерархии, если делиметер ".", то нужно искать только родителей с "." — они не могут быть "1", а только "1.1" или "1.1.1". __>Если же делиметер "/", то родители могут быть и просто "1"... __>Пустые узлы они не родители, это "ошибочные" как бы несконфигурированные. Их нужно просто в корень класть... __>Так выгружает свои данные NMS система, это у CISCO два способа указания слотов устройств — с разделителями "." и "/".