Публикации по теме 'recursion'


Что такое рекурсия?
В функциональном программировании рекурсия является ядром. Однако рекурсия остается одной из наиболее сложных для понимания концепций. Я сам программировал на Swift и Python, но до сих пор никогда по-настоящему не понимал рекурсию. Причина, по которой это трудно понять, заключается в том, что идея рекурсии не очень распространена в реальном мире. Так что начинающим программистам (или программистам 👨‍💻) это кажется немного запутанным. Поэтому здесь я делаю это по-другому, начиная с..

РЕКУРСИЯ
Рекурсия — это метод программирования, при котором функция вызывает сама себя для решения проблемы. Это позволяет разработчикам разбивать проблему на более мелкие подзадачи и решать их одну за другой. Ключевым аспектом рекурсии является концепция базового случая и рекурсивного случая, которая определяет, когда функция должна прекратить вызывать себя и какие входные данные следует использовать для следующего рекурсивного вызова. При правильном использовании рекурсия может привести к..

Треугольник Haskell: или больше удовольствия с рекурсией
Эрудит Блез Паскаль представил треугольник, построенный из чисел. Треугольник Паскаля - как его обычно называют, несмотря на тот факт, что его открытие предшествовало Паскалю на столетия, - обладает тем интересным свойством, что каждое число представляет собой сумму двух чисел, расположенных непосредственно над ним. В этом посте мы будем использовать треугольник Паскаля, чтобы продемонстрировать, как рекурсия (то есть процедура, которая вызывает сама себя в своем определении) может..

Рекурсивные функции в JavaScript
Рекурсия — это мощная концепция программирования, которая позволяет функции вызывать себя до тех пор, пока не будет выполнено определенное условие. В JavaScript рекурсия может использоваться для решения сложных задач, требующих повторяющихся операций. В этой статье мы представим введение в рекурсию, обсудим ее применение в JavaScript и приведем примеры, иллюстрирующие ее работу. Мы также сравним рекурсию с циклами, чтобы помочь вам решить, когда использовать один метод вместо другого...

Поменять местами узлы в парах
Учитывая связанный список, поменяйте местами каждые два соседних узла и верните его заголовок. Пример: Учитывая 1->2->3->4 , вы должны вернуть список как 2->1->4->3 . Примечание. Ваш алгоритм должен использовать только постоянное дополнительное пространство. Вы можете не изменять значения в узлах списка, можно изменять только сами узлы. Как и многие другие проблемы со связанными списками, мы можем решить эту проблему с помощью итеративных и..

Рекурсия
Проще говоря, рекурсия означает разбиение сложной задачи на более простые части, чтобы получить базовый вариант, который затем возвращает значения до тех пор, пока не будет получен окончательный результат. Давайте разберемся с этим на примере В этом коде мы находим степени любого натурального числа. Решение открытого класса { public static int power(int x, int n) { if(n==0){ return 1; } int shortAns=power(x ,n-1)*x; вернуть короткий ответ; } } В приведенном выше коде мы..

Создание досок для судоку pt. 1: Структура и алгоритм
Часть моей серии по созданию досок для судоку: Часть 1: Структура и алгоритм Часть 2 : Сравнение реализации Часть 3: Rust для WebAssembly Часть 4: C ++ для WebAssembly Я искал нетривиальную задачу в качестве фольги для просмотра веб-сборки, и я решил написать решатель головоломки Sudoku. В итоге я написал решения на Typescript, C ++ и Rust. Я расскажу о различиях в реализации и о том, что я узнал в следующих статьях. В этом посте я расскажу о том, как я построил..