https://kotlinlang.org logo
#russian
Title
# russian
l

lewik

01/25/2019, 12:40 PM
У меня с алгоритмами тяжеловато... У меня есть некая электро сеть, состоящая из похожих элементов: линия - устройство - линия - устройство - линия - устройство - линия - устройство. На устройстве это может ветвиться. В принципе, у этих объектов есть общий интерфейс. Часто надо броить по этому дереву, или находить что то в нем. Например крайние точки. Или вычитать дерево одно дерево из другого. Может есть какой то готовый инструмент для работы с такими "списками"? Я велик с tailrec написал конечно. Но.. это ж велик.
v

voddan

01/25/2019, 2:53 PM
у apache вроде была библиотечка для графов с топологическими алгоритмами, но не могу сказать будет ли это проще своего велосипеда
a

Alexjok

01/25/2019, 3:06 PM
Описание звучит как классическая рекурсивная композиция. Паттерн Composite. Попробуйте посмотреть тут: https://vk.com/doc190970339_437529139?hash=de6755fd0cea84f041&dl=72794d5f17eb3c03f6 стр. 162, про вычитание и т.д. в Kotlin можно перегружать эти операторы https://kotlinlang.ru/docs/reference/operator-overloading.html
g

ghedeon

01/26/2019, 1:19 AM
что-то отсюда, наверное, ради готовых алгоритмов запросов к графу: https://stackoverflow.com/questions/51574/good-java-graph-algorithm-library
2 Views