Andrey
Надо исключить из дерева Иркутскую область
Andrey
нет родитель - ребенок
Andrey
дерево
Snusmumriken
Индекс построен по областям?
Andrey
и там где то есть иркутская область
Andrey
надо построить массив без нее
Andrey
ид парент ид
Snusmumriken
В дереве в любом случае есть "родитель-ребёнок". Та нода к которой подключены другие есть родитель этих других. Это же дерево. Стек — способ создать явные связи родитель-ребёнок (с которыми мы будем работать) для текущей ноды. Когда мы спускаемся по дереву, добавляем в стек ту ноду, с которой мы спустились. В неё мы будем возвращаться когда обойдём детей. Циклом. Без рекурсии ))
Snusmumriken
В рекурсивной фигне, этим стеком работает стек рекурсии. А тут это может быть обычный список.
Snusmumriken
Блин, уже думаю что проще написать-показать но влом, спать.
mva
ид парент ид
приведи пример куска массива (если он словарь), что в ключах, что в значениях
Andrey
страна муниц образованте город район если есть село если есть удица если есть дом строение корпус
Andrey
ну на вскидку
Andrey
или кадастроаая схема
Andrey
село в таком то районе или области итд
Andrey
обычное дерево
Andrey
село такое то в таком то районе
Anonymous
Снус спец по областям нашей страны :)
Andrey
или городе (нов москва)
Andrey
короче именно дерево. и как тут без рекурсиц
Andrey
ц
Andrey
й
Andrey
nested set не в счет
Snusmumriken
Ну вот так вот. Ты просто пока не пробовал.
mva
Ну я бы лучше бы переформатировал входяий массив в более удобный для работы массив. А-ля: { ... 70 = { 634 = { offices = { ... 34 = { addr = "moo" }, ... 45 = { addr = "foo" }, ... } }, ... 77 = { 109 = {...} 119 = {...} }, ... }
Andrey
нет расскажите как исключить из массива что то без рекурсий массив содержит ид и парентид
Andrey
не получится же
mva
если бы ты использовал знаки препинания, а ещё показал бы уже наконец псевдокод с примером массива, чтобы исключить разночтение и недопонимания того что ты имеешь в виду...
Andrey
сек
Snusmumriken
нет расскажите как исключить из массива что то без рекурсий массив содержит ид и парентид
Стек == список парентов. Парентид не нужен. Уже есть список. Он составлялся пока мы доходили до текущей точки.
Andrey
как в телеграм что то сфотать ?
Andrey
куда жать
Snusmumriken
Фотиком.
Snusmumriken
Прикрепление картинки.
Andrey
Andrey
массив содержит ид и парент ид
Andrey
без рекурсий убрать обведенное
Anonymous
My brothers how can I know. Offices located in lua
Snusmumriken
Ладно, я просто тебе потом напишу, хорошо? Фактически, это (рекурсивный или нерекурсивный) обход дерева, добавление всех его элементов в список и дальнейшая фильтрация.
Andrey
да, ок но как ты его без рекурсий обойдешь
Snusmumriken
Со стеком ))
Andrey
это интересно
Snusmumriken
Я уже пять раз рассказал.
Snusmumriken
Стек == список парентов. Парентид не нужен. Уже есть список. Он составлялся пока мы доходили до текущей точки.
Andrey
Ок
Snusmumriken
Потом покажу, при случае.
Anonymous
Потом покажу, при случае.
My brothers how can I know. Offices located in lua
Andrey
Хорошо. спасибо
mva
массив содержит ид и парент ид
ты восьмой раз говоришь "массив содержит ид и парент ид", но не показываешь как этот массив выглядит в виде кода. То, что на картинке - массив множественной вложенности ровно как я показал выше.
Snusmumriken
My brothers how can I know. Offices located in lua
Simpler please, I don't understand : )
Anonymous
Simpler please, I don't understand : )
How do I know the offices installed in lua and how can I call any library
mva
но зачем делать вот так вот через жопу (кстати key=nil равно отсутствию key), если можно множественную вложенность?
Andrey
еще раз - без нестед сет
Andrey
кей нил это рут
Andrey
нет у него родител
mva
это lua
mva
здесь key=nil это нет key
Andrey
хорошо кей = слон (рут)
Andrey
короче кей равно минус чему то там
Andrey
и это не нил
Andrey
и это означает что у него нет родителеля
mva
короче кей равно минус чему то там
в общем, ты искуственно ограничиваешь область решения чтобы подогнать под "без рекурсии никак". Ибо за три попытки у меня та ки не получилось у тебя узнать почему нельзя вместо ебли с рекурсией на каждый чих, один раз переделать массив в пучок удобных вложенных словарей и работать потом уже с ними 😊
mva
How do I know the offices installed in lua and how can I call any library
what the heck on the earth is the "offices installed in lua"?
Andrey
вправо влево
mva
вообще, изначальный вопрос был о том, как при рекурсии заглянуть в верхний скоуп
mva
что тоже не то, чтобы каждый день нужно
Andrey
да
Andrey
именно так
Anonymous
Well, in Python, when I want to know if the library I want to use is there, or do not use "socket"
mva
ну и ответ на это я таки давал (правда, уже посреди обсуждения стеков) :)
Andrey
это в любом языке есть...
mva
дык кто бы спорил