@rubyschool

Страница 582 из 921
Fedor
24.03.2018
16:54:47
тогда зачем ты постоянно говоришь про рекурсию????

Alex
24.03.2018
16:55:10
потом что это выход) но не на ruby

Fedor
24.03.2018
16:55:20
помоему это троль

Alex
24.03.2018
16:55:40
вы не понимаете меня, я не понимаю вас, вроде все понятно

Google
Alex
24.03.2018
16:56:48
вы говорите что рекурсии использовать нельзя и объяснили почему, я спросил у вас выход из ситуации, вы сказали использовать стеки, а потом добавили что в руби их нет но если постараться то можно реализовать, profit ???

Fedor
24.03.2018
16:58:35
я сказал использовать массив

Andrey
24.03.2018
16:58:46
Сказали что если использовать рекурсию то будет stack overflow.

Fedor
24.03.2018
16:58:47
и что стек в данном случае будет быстрее, но в руби его нет

потому что руби не про производительность

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

быстрый можно писать на go, или на C

но он никогда не будет красивым и легкочитаемый

Alex
24.03.2018
16:59:48
я сказал использовать массив
а я сказал , что уже делаю так как вы описали, записываю путь в конце массива в цикле, но я не удаляю путь как вы написали потом, потому что не знаю по какому принципу это делать

Fedor
24.03.2018
16:59:56
разные языки для разных целей

и потом повернуть в другую сторону и продолжить заполнять массив

Google
Alex
24.03.2018
17:03:30


и когда я пойду вверх и упрусь в стенку, то начну с развилки

Andrey
24.03.2018
17:04:56
У тебя алгоритм идти по левой стене?

Alex
24.03.2018
17:05:22
у меня всегда направо поворачивать в случае преграды

получается что по левой стенке сейчас, ну да в принципе всегда по левой

Артем
24.03.2018
17:05:56
А что мешает писать рекурсии в Рубя интересно?

Alex
24.03.2018
17:06:15
ограниченное количество вложенности, пофакту что приложение рано или поздно упадет

Andrey
24.03.2018
17:11:00
получается что по левой стенке сейчас, ну да в принципе всегда по левой
А если точка будет в правом закоулке ты как туда попадешь?

Alex
24.03.2018
17:11:29
да
в противоположном направлении вниз?

Артем
24.03.2018
17:11:43
А что мешает написать рекурсии без стека типа если брать знаменитый фактор а вот в таком стиле long getFactorial(long cur, long sum) { if (cur ==0) {return sum;} return getFactorial(cur - 1, sum) ;}

Fedor
24.03.2018
17:12:20
в противоположном направлении вниз?
ну смотря от куда пришел

Alex
24.03.2018
17:13:13
Пришел по пути из точки А т.е. слева снизу

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

Vladimir
24.03.2018
17:14:12
На хабре было не давно ;)

https://hsto.org/webt/qp/w0/c0/qpw0c0rxs8u5pky9fgcutcj7now.jpeg

Andrey
24.03.2018
17:16:07
Ну из точки а что по левой что по праыой стене не попасть в точку в

Google
Vladimir
24.03.2018
17:16:35
Ой блин, тиеперь прям хочу сам написать. Но есть один вопрос. У героя который проходит лабиринт, есть зрение? Или там типа темно и он не может видеть стену пока лбом не ткнётся?

Артем
24.03.2018
17:16:45
Это обычный стиль. И он сжирает стек.
И что у вас на стек вызовов кладётся?

Andrey
24.03.2018
17:19:08
В последнем

Alex
24.03.2018
17:21:18
В последнем
это верно

В последнем
я думал сделать условие при котором если моя функция упрется в крайнюю стенку ну т.е. по бокам лабиринта то что бы она начинала идти от точки входа (в функцию для обхода стены) в противоположном направлении, тогда она дойдет до туда

Andrey
24.03.2018
17:28:43
Ну бока лабиринта не говорят о том что путь неверный.

Alex
24.03.2018
17:32:23
ведь это будет пределом карты

вот в таком случая я и хотел начать путь заного от точки X но в противоположном направлении

ровно это и произодет в озвученном ранее варианте

Andrey
24.03.2018
17:34:32
Тогда я вообще не понял твой алгоритм :)

Alex
24.03.2018
17:34:59
сейчас опишу картинкой что делает мой алгоритм

Andrey
24.03.2018
17:36:22
Если там 6 вложеных циклов он уже не годится :)

Даже для ненастоящей задачи

Alex
24.03.2018
17:36:43


в этом случае когда цикл всего один без вложенных

Vlad
24.03.2018
17:38:29
А в чем сложность применить алогримты сщуествующие поиска по лабиринту?

Google
Andrey
24.03.2018
17:41:52
в том что эти алгоритмы для графов
Ещё говорю. У тебя и есть граф. Каждый квадрат это его вершина

Vlad
24.03.2018
17:42:48
А разницы? Я теорию графов 15 лет назад в школе проходил и может я что-то не понимаю, но в чем разница?

Alex
24.03.2018
17:42:55
Ещё говорю. У тебя и есть граф. Каждый квадрат это его вершина
задача не на то что бы показать свои знания в графах, как уже говорил Ro

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

Alex
24.03.2018
17:45:25
я посмотрел мне повотрюсь легче не стало

Vlad
24.03.2018
17:47:14
Дискретку смутно помню, конъюнкции, дизъюнкции, СКНф и прочее. Но по лабиринту как по графу пройти, не? Задача ведь конечная пройти по лабиринту. А как не важно, нет? Я задачей не занимался хвалить буду, но задача строчек в 10-15 скорее всего.

Admin
ERROR: S client not available

Alex
24.03.2018
17:48:53
да не важно, но лично я понятия не имею как применять здесь граф

Andrey
24.03.2018
17:50:12
В той статье что скидывал был жадный алгоритм. Очень похож на твой вариант.

Alex
24.03.2018
17:51:13
согласен что алгоритм жадный

но рабочий)

Andrey
24.03.2018
17:51:30
да не важно, но лично я понятия не имею как применять здесь граф
Да причем тут граф. Там в статье прямо поле в клеточку. И препятствия. И десяток решений на питоне.

Andrey
24.03.2018
17:53:57
Хз. Очередь?

Alex
24.03.2018
17:54:17
она самая

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

Andrey
24.03.2018
17:57:06
Сомневаюсь что графы встроены в питон. И там нет ничего особенного в коде.

Google
Alex
24.03.2018
17:57:45
for next in graph.neighbors(current): ?

Andrey
24.03.2018
18:02:30
Пройдись по соседним точкам

Реализуй метод возвращающий координаты соседних точек. Это +-1 к индексам в массиве минус стенки. И будет аналог

Alex
24.03.2018
18:06:34
спасбо что все вместо дружно помогли и не стали ...сосить) Я в любом случае с этим разбирусь до конца

Ro
24.03.2018
18:09:58
Ещё говорю. У тебя и есть граф. Каждый квадрат это его вершина
можно применить алгоритм графов. Но нафига? Каждый граф - это нода, у нее есть вес, это совершенно другая структура данных. Если у нас есть сетка, то можно обойтись массивом, если в задаче нет условия оптимизации. Графы - это вообще отдельная тема. Даже более того, если можно обойтись массивом, а ты решил весь массив в графы сконвертировать - это будет большой минус. Т.к. решение в общем-то без этих графов простое.

Ro
24.03.2018
18:14:07
ну и вообще, я думаю, что для начала всегда лучше сначала без графов решить. Какой смысл пробовать графы, если ты простой алгоритм не можешь без них сделать? Вот не надо ничего читать, алгоритмов там разных. Включил голову - подумал. ВОт @Amourlive подумал, решил - предложил свою версию. Хоть его версия и имеет кое-какие ограничения, но когда я ему скинул простое решение, он что-то для себя вынес, сделал выводы, научился. А отправлять почитать статью, когда уже было много раз сказано, что не нужны никакие супер-алгоритмы, говорить - давайте сделаем граф, ну и вообще говорить не поделу - это не кул. Сделайте, попробуйте. Все кто сделал свою версию, даже может не рабочую, но которые потратили время - получили решение в личку

так что вот кто участвовал в диалоге - порешайте)

разомнитесь

но это для миддл-уровня

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

ща напишу

https://gist.github.com/ro31337/da9f2edef861fecd8399e8e2d5020b42

Alex
24.03.2018
18:29:32
Я не хочу конвертировать массив в графы. Я просто предлагаю посмотреть подход к поиску пути. В картинках и видео и коде. Разных видов на любой вкус.
так все эти подходы не работают без реализации структуры данных в виде графов, разве нет? иначе я даже не понимаю принципа их работы

Alex
24.03.2018
18:30:05
А как задача то звучит? А то я проглядел
https://gist.github.com/ro31337/d1e7ae677a4d52f60552e6af898df703

Fedor
24.03.2018
18:33:35
спасибо

Ru
24.03.2018
18:36:33
https://gist.github.com/ro31337/da9f2edef861fecd8399e8e2d5020b42
[4, 6, 1, 2] или [4, 6, 1, 8] ? не понимаю, в чем штука? each i[3] функция?

есть ли у когонибудь login-form.php, чтобы потренироваться в брутфорсе роутера из 18 урока?

Ru
24.03.2018
18:39:37
у вас роутер есть?
у меня слишком сложный, микротик, я не смогу раскопать фидлером там пост с логин паролем

Страница 582 из 921