Публикации по теме 'data-structures'


Представление структуры данных Graph
A A -- B / \ | | B - C D -- C Выше два являются визуальным представлением графика. Но как мы можем представить эти графы в памяти, чтобы получить нашу структуру данных графа. В основном есть два способа представления. Матрица смежности Список смежности Матрица смежности Матрица смежности — это не что иное, как двумерный массив. где количество строк и столбцов равно..

Проверить, можно ли сделать массив неубывающим, изменив не более одного элемента
Напишите функцию, которая проверяет, можно ли сделать массив целых чисел неубывающим, изменив не более одного элемента. nums = [1, 2, 3] --> True (since already in non-decreasing order) nums = [3, 2, 1] --> False (since need to modify at least 2 elements) nums = [1, 2, 0] --> True (since can just modify last element) nums = [2, 3, 1, 2] --> False (since need to modify at least 2 elements) Сможете ли вы сделать это за O(n) времени и O(1) пространства? Возьмите ручку и бумагу и..

Давайте реализуем структуру данных стека
Прежде всего, давайте поговорим о том, как мы можем визуализировать стек. Если бы у нас были деревянные поддоны, которые мы хотели бы организовать, мы бы, вероятно, поставили их друг на друга. Основная идея штабелирования заключается в том, что вы собираете деревянные поддоны сверху вниз, что называется LIFO (последним пришел — первым ушел) . Стеки имеют как минимум 2 функции, которые помогают видоизменять стек, обычно они называются «push» и «pop». Push — это добавление нового элемента..

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

Деревья AVL и их местонахождение (поворот)
Привет, народ! Добро пожаловать в AVL Trees (упрощенный, названный в честь изобретателей Адельсона-Вельского и Ландиса). Сегодня мы рассмотрим логику и мою собственную реализацию Javascript для вставки значения в двоичное дерево поиска (BST), а затем, при необходимости, будем использовать более строгие правила дерева AVL для балансировки дерева. Теперь ... что это значит? Когда я впервые узнал о BST, я был очень взволнован, чтобы сделать свой собственный, и был сильно..

Введение в нотацию Big O
В любом курсе по алгоритмам и структурам данных вы столкнетесь с термином Большая нотация О . В этом блоге вы узнаете, что такое нотация Big O и почему она важна для написания хорошего кода. Обозначение «большое О» — это фундаментальный инструмент в информатике, который позволяет нам понять и оценить стоимость алгоритма. Обозначение Big O — это язык, который мы используем для объяснения временной и пространственной сложности алгоритма с помощью алгебраических терминов. Другими..

Сила списков Python: 10 примеров, которые помогут вам начать работу 🔥
Сила списков Python: 10 примеров, которые помогут вам начать работу 🔥 - Основные списки Python В Python список  – это упорядоченный набор элементов, которые могут относиться к разным типам. Списки — это очень полезные и гибкие структуры данных, и они являются неотъемлемой частью любого инструментария программиста Python. Вот обзор списков Python, включая примеры, которые помогут вам начать работу: Создание списка . Чтобы создать список в Python, вы можете заключить список..