Публикации по теме '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, вы можете заключить список..