169 похожих чатов

Подскажите, где на практике, предпочтительней использовать рекурсию, а не цикл,

не считая перебора вложенности объекта?
может какие-то конкретные задачи, которые решаются только с помощью рекурсии?

34 ответов

13 просмотров

когда что бы что то узнать допустим надо создавать много циклов а сколько циклов ты не знаешь вот и ты и создаешь один цикл и рекурсию

Леша- Автор вопроса
кот кот
когда что бы что то узнать допустим надо создавать...

ну это сродни перебору всех вложенности объекта, я так понял?

рекурсией можно все решать, вопрос только а нужно ли

Леша- Автор вопроса
jabascripter
рекурсией можно все решать, вопрос только а нужно ...

вот это и хочу выяснить, где рекурсия преобладает над циклом

Леша
ну это сродни перебору всех вложенности объекта, я...

ну типо того, никто не обязывает тебя ее юзать

Леша
вот это и хочу выяснить, где рекурсия преобладает ...

нигде, рекурсия нигде не"преобладает" над циклом

Леша- Автор вопроса
Андрей
нигде, рекурсия нигде не"преобладает" над циклом

ну в примере с перебором вложенности в объекте, предпочтительней же использовать рекурсию, а не какое-то количество циклов

Леша
вот это и хочу выяснить, где рекурсия преобладает ...

Обычно код использующий рекурсию выглядит короче, на этом вроде преимущества заканчиваются.

Леша
вот это и хочу выяснить, где рекурсия преобладает ...

Вот прям пару часов назад читал алгоритмы там про рекусрию было и написано лучшее обозначение С рекурсией программист работает быстрее а с циклом программа работает быстрее

Леша
ну в примере с перебором вложенности в объекте, пр...

Ну, если вложенность будет огромная, то каркулятор может не выдержать и вылететь с ошибкой.

Леша
ну в примере с перебором вложенности в объекте, пр...

мне вот интересно, ты наверняка уже изучил все основы языка, наверное много кода написал и теперь решил поразмышлять над рекурсией и циклами? Вот честно, положа руку на сердце расскажи когда ты вообще последний раз перебирал что то используя for, или while, тут все уже давно этим не пользуются, все уже давно пишут более абстрактные вещи используя встроенные возможности языка forEach например или for of. Или ты там с нуля бибиотеку задумал? или ты просто фантазируешь))

Егор Южанин
у javascript есть ограничение на рекурсию

ну по факту, в цикле тоже есть ограничение, вот у меня в одном проекте бывает случай на пару миллионов итераций и всё подвисает на 3-4 секунды

Леша- Автор вопроса
Андрей
мне вот интересно, ты наверняка уже изучил все осн...

на ранней стадии обучения, на которой я практически сейчас и нахожусь) я упустил рекурсию, за ненадобностью и на днях мне задали вопрос в лоб как раз про рекурсию) поэтому и разбираю этот вопрос, во избежание пробелов в знаниях и понимании общей картины, где нужно, где не нужно)

Леша
на ранней стадии обучения, на которой я практическ...

просто скажи это когда функция вызывает сама себя, иногда помогает сократить количество кода и время разработчика

Леша
на ранней стадии обучения, на которой я практическ...

отправь того кто тебе этот вопрос задал куда подальше, будешь прав и авторитет среди коллег повысишь))

кот кот
просто скажи это когда функция вызывает сама себя,...

Ещё кейс есть по проходке объекта с неизвестной вложеностью других объектов, не представляю как циклом это сделать

Леша- Автор вопроса
Bogdan
Ещё кейс есть по проходке объекта с неизвестной вл...

наверное в этом случае рекурсия и берет верх, меня как раз в этот вопрос со вложеностью объектов носом и ткнули

Леша- Автор вопроса
Леша
так что рекурсия имеет место быть

много чего имеет место быть, прототипы например, а var, старый добрый var, с его hoisting и прочей лабудой, но кому она сейчас нужна? вот скажи мне? Js -язык для веба, его спецом для этой цели делали, что ты собрался на нем писать? что за супер вычисления, которые заставляют тебя размышлять о циклах и рекурсиях?

Леша- Автор вопроса
Андрей
много чего имеет место быть, прототипы например, а...

тут ответ простой, лучше знать, чем не знать

Леша- Автор вопроса
Андрей
много чего имеет место быть, прототипы например, а...

насколько я понимаю, с помощью рекурсии можно легко взаимодействовать с чем угодно в вебе, вопрос только в том, когда использовать рекурсию, а когда цикл насколько я понял, каждый решает сам для себя

Леша
тут ответ простой, лучше знать, чем не знать

есть вещи которые нужно знать программисту на js(мое субъективное мнение конечно) - это вещи как быстро и понятно всем твоим коллегам написать код, который потом можно будет поддерживать, если ты там нагородишь своих циклов и рекурсий, тебя коллеги проклянут, семья от тебя откажется и вообще анафеме тебя предадут

Леша
насколько я понимаю, с помощью рекурсии можно легк...

никогда! не надо, используй forEach и for of, все

Леша- Автор вопроса
Андрей
никогда! не надо, используй forEach и for of, все

сейчас попробую через эти методы добраться до всех вложенностей объекта вообще использовал for in с рекурсией

Леша
сейчас попробую через эти методы добраться до всех...

нет, ну если у тебя задача добраться с неизвестной вложенностью, то рекурсия уместна конечно, но хз где ты такие задачи находишь) в реальности обычно все известно заранее

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта