Size: a a a

Node.js — русскоговорящее сообщество

2020 March 22

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Там внизу поста ссылки на ещё реализации
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Random Balance
Ты уже не первый кто говорит что можно без рекурсии дерево обойти, но ещё никто не показал код. Очень любопытно увидеть.

Я знаю что есть способы, но хотелось бы увидеть насколько код будет более сложным по сравнению с рекурсией и именно на JS.
Наслаждайся;)
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Эх, только хотел тебе написать, чтобы ты код не писал/не показывал
Лучше пусть человек сам бы дошёл, пытаясь обойти дерево в ширину
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Ну ему ничего не мешает не смотреть)
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
В конце концов он бы тупо загуглил по твоей формулировке
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
До этого не гуглил же 😁
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
Алексей Попов
Эх, только хотел тебе написать, чтобы ты код не писал/не показывал
Лучше пусть человек сам бы дошёл, пытаясь обойти дерево в ширину
Я же сразу написал что знаю способы, и видел примеры на других языках. Вопрос был задан к тому что часто советуют "другой способ", который практически никто не применяет из-за его сложности/громоздкости. А рекурсия элементарно выполняется.
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
Напишите на JS по памяти, я посмотрю. 😂
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Random Balance
Я же сразу написал что знаю способы, и видел примеры на других языках. Вопрос был задан к тому что часто советуют "другой способ", который практически никто не применяет из-за его сложности/громоздкости. А рекурсия элементарно выполняется.
А как выйти из рекурсии? Например, тебе надо найти узел с определённым значением. Ты нашёл его, как прерываешь ставший ненужным обход остального дерева?
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
Алексей Попов
А как выйти из рекурсии? Например, тебе надо найти узел с определённым значением. Ты нашёл его, как прерываешь ставший ненужным обход остального дерева?
Сделать return. Я кидал законченный пример выше.
источник

SM

Sergey Murashow in Node.js — русскоговорящее сообщество
Алексей Попов
А как выйти из рекурсии? Например, тебе надо найти узел с определённым значением. Ты нашёл его, как прерываешь ставший ненужным обход остального дерева?
Ну то что ты нашел делаешь правилом выхода.
If ( нашоль ) return
источник

RB

Random Balance in Node.js — русскоговорящее сообщество
Вот. Только тут полный обход дерева. Можно сделать и остановку на первом найденном.
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Random Balance
Напишите на JS по памяти, я посмотрю. 😂
Напиши обход в ширину 🤷‍♂
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Random Balance
Я же сразу написал что знаю способы, и видел примеры на других языках. Вопрос был задан к тому что часто советуют "другой способ", который практически никто не применяет из-за его сложности/громоздкости. А рекурсия элементарно выполняется.
Нет, сразу ты написал,что обход дерева только рекурсией возможен (https://t.me/nodejs_ru/475352)
Так как мне гораздо чаще приходилось видеть варианты без рекурсии, и даже конкретно - чаще обход в ширину, я и отреагировал на твои слова
Обход в ширину пишется на js элементарно, я уверен что ты и сам напишешь
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Sergey Murashow
Ну то что ты нашел делаешь правилом выхода.
If ( нашоль ) return
Но так как эта проверка (и, вероятно, флаг) должна быть добавлена в вызываемую рекурсивно функцию, её код сразу станет не таким простым и красивым
источник

SM

Sergey Murashow in Node.js — русскоговорящее сообщество
Алексей Попов
Но так как эта проверка (и, вероятно, флаг) должна быть добавлена в вызываемую рекурсивно функцию, её код сразу станет не таким простым и красивым
А есть варианты?)
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Sergey Murashow
А есть варианты?)
Так вроде обсуждаем варианты обхода дерева
Рекурсия не единственный
источник

SM

Sergey Murashow in Node.js — русскоговорящее сообщество
Алексей Попов
Так вроде обсуждаем варианты обхода дерева
Рекурсия не единственный
Ну был вопрос о выходе из рекурсии.
А другие варианты какие ещё есть? Я всегда ей делал. Ну рекурсия и цикл. Но это для поиска
источник

АП

Алексей Попов in Node.js — русскоговорящее сообщество
Sergey Murashow
Ну был вопрос о выходе из рекурсии.
А другие варианты какие ещё есть? Я всегда ей делал. Ну рекурсия и цикл. Но это для поиска
источник