Ш̴̴̜̥͍͕̼̙̱͙͎͍̘̀̐̔́̾̃͒̈̔̎́́͜р̧̛̺͖͖̯̖ͧͤ͋̅̽ͧ̈̐̽̆̐͋ͤͦͬ͛̃̑͞͞и̒ͥͤͯ͂ͣ̐̉̑ͫ̉̑҉̛͏̸̻͕͇͚̤͕̯̱̳͉ͅф̴̴̡̟̞͙̙̻͍̦͔̤̞̔̓́̍͗̚͢͞ͅт̨̐ͫ̂͊̄̃ͥͪ͏̫̺͍̞̼͈̩̥̜͔͜͜ы̸̴̱̺̼̠̦͍͍͍̱̖͔̖̱͉̅͑͌͒ͫ͒̀ͥ͐ͤ̅͘̕.̵̴̡̭̼̮͖͈̙͖͖̲̮̬͍͙̼̯̦̮̮ͦ̆̀̑̌ͮͧͣͯ̔̂́͟г͌ͮ̏̈͂ͯ̚҉̛̙̬̘̲̗͇͕̠̙͙̼̩͚̀͘͞ͅо̷̥̯̘̓ͤ̽͒̋̉̀̂̄̒̓̊ͨ͛́̌ͤ̂̀͠в̶̒͒̓̏̓̚҉̛̙̘̺̰̮̼̟̼̥̟̘̠̜͜н̸̷̸̲̝͈͙̰̟̻̟̰̜̟̗͎̻̻͍̿̔̃ͨ͑о̔̀̋ͫ̇̿̐ͫ͌͗ͩ҉̨̜̙̙͈͍̮̮̼̙̘̞̕͜͡ Войти !bnw Сегодня Клубы

Двоичное дерево поиска можно обойти без стека и рекурсии: https://en.wikipedia.org/wiki/Threaded_binary_tree

#0VLURH / @minoru / 3138 дней назад

Надрачивают там на свои алгоритмы с линейной асимптотикой, а потом всё тормозит.
#0VLURH/NYQ / @l29ah / 3138 дней назад

Вот здесь нормальный код: https://prismoskills.appspot.com/lessons/Binary_Trees/Traversal_without_recursion_or_stacks.jsp

#0VLURH/N5Z / @minoru / 3138 дней назад

@l29ah Лень искать оригинальный папир, но на глазок это дело выглядит константным по памяти и логарифмическим по времени.

#0VLURH/XTW / @minoru --> #0VLURH/NYQ / 3138 дней назад

а нужно ли?

#0VLURH/K7D / @goren / 3138 дней назад

@goren Во-первых, науке безразлично, нужно или нет: её интересует только «можно ли». Во-вторых, несложно представить ситуацию, когда у тебя мало памяти, а на вход могут быть поданы деревья произвольного размера, которые нужно обходить.

#0VLURH/NEF / @minoru --> #0VLURH/K7D / 3138 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.