Имам някои degenerate tree
(изглежда като масив или двойно свързан списък). Например, това е това дърво:
Всеки ръб има някаква тежест. Искам да намеря всички равни пътища, които започват във всеки връх.
Нека ръбовете имат следните тегла (това е само пример):
a-b = 3
b-c = 1
c-d = 1
d-e = 1
Тогава:
- Върхът
A
няма равен път (няма връх от лявата страна). - Върхът
B
има една равна двойка. ПътятB-A
е равен на пътяB-E
(3 == 3)
. - Върхът
C
има една равна двойка. ПътятB-C
е равен на пътяC-D
(1 == 1)
. - Върхът
D
има една равна двойка. ПътятC-D
е равен на пътяD-E
(1 == 1)
. - Върхът
E
няма равен път (няма връх от дясната страна).
Прилагам прост алгоритъм, който работи в O(n^2)
. Но е твърде бавен за мен.
C
няма такива пътища?C-B
не е ли равно наC-D
? - person Petr   schedule 19.05.2015n
до някакъв наследникn'
? - person Vivin Paliath   schedule 19.05.2015