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


Двоичное дерево поиска (BST) Практические задачи и вопросы на собеседовании
Двоичное дерево поиска (BST) - это древовидная структура данных, в которой каждый узел имеет не более двух дочерних элементов, которые называются левым и правым дочерними элементами, а самый верхний узел в дереве называется корнем. Он дополнительно удовлетворяет свойству двоичного поиска, которое гласит, что ключ в каждом узле должен быть больше или равен любому ключу, хранящемуся в левом поддереве, и меньше или равен любому ключу, хранящемуся в правом поддереве. Деревья двоичного..

Обратно связанный список рекурсивно: простое объяснение
Давайте объясним функцию reverseList , которая переворачивает односвязный список, шаг за шагом: (следуйте процессу повторения кода-статьи-кода, чтобы лучше понять) /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */ ListNode* reverseList(ListNode* head) { if..

Рекурсия
Что такое рекурсия? Рекурсия — это парадигма, в которой решение проблемы зависит от решения более мелких экземпляров той же проблемы. В программировании рекурсивная функция — это функция, которая вызывает сама себя. Как работает рекурсия? Каждая рекурсивная функция состоит из двух фаз: базовый случай и рекурсивный шаг . На рекурсивном этапе функция продолжает вызывать себя, но на меньшем экземпляре задачу, пока она не достигнет базового случая. Базовый вариант обеспечивает..

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

Алгоритмы в JS: внесение изменений
Проблема Учитывая набор монет и сумму сдачи, которую нам нужно вернуть, нас просят вычислить количество способов, которыми мы можем вернуть правильную сдачу, учитывая наш набор монет. Примечание . В нашем распоряжении неограниченное количество монет каждого типа. Развитие интуиции Самое наивное решение, к которому мы обычно приходим, - это перебирать все различные возможности. В данном случае это не лучшая идея. Во-первых, само зацикливание было бы нетривиальным. Нам..

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

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