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


Двоичное дерево: Swift 5.0 | Часть-1
Является частью серии инструкций по разработке D ata S , посвященной стандартным операциям, реализованным с использованием Swift. В информатике двоичное дерево - это древовидная структура данных, в которой каждый узел имеет не более двух дочерних элементов, которые называются левым и правым дочерними элементами. - вики BinaryTree Class : для создания и выполнения операций над созданным двоичным деревом. Создание дерева с помощью теста / образца дерева: Обходы :..

Преобразование выражения Infix в выражение Postfix с использованием структуры данных Stack
Спустя долгое время я собираюсь работать над оценкой экспрессии, поэтому я пишу это сообщение в блоге, чтобы вернуться к нему и объяснить его самому себе. Выражения, которые мы (люди) пишем, называются инфиксными выражениями, поскольку операторы помещаются между операндами, чтобы обозначить поток выполнения выражения. Рассмотрим следующее выражение. A + B , это инфиксное выражение, потому что оператор «+» стоит между операндами «A» и «B». Для оценки выражений вручную полезно..

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

Как реализовать стек в Python
Нет другой структуры данных, подобной стеку. Всего за несколько минут вы можете получить полностью работающую реализацию, которую можно использовать для решения самых разных задач. Стеки полезны для всего, от обращения строки до приложений обработки языка, не говоря уже о том, что многие языки программирования (и, возможно, ваша операционная система) полагаются на стек для работы. Нажмите здесь , чтобы просмотреть полный исходный код стека. Также здесь находится тестовый код...

Хешсеты против двоичных деревьев поиска: скорость
Я немного читал о деревьях двоичного поиска и о том, как они были разработаны для быстрого поиска, и это заставило меня задуматься. Как бы выглядел поиск из простого хеш-набора по сравнению с одним из этих деревьев. Давайте определимся с этим вопросом немного лучше: Учитывая структуру данных ‹int› длины n - сколько времени нужно, чтобы найти известное значение в этой структуре и сделать вывод, что значение не существует в этой структуре. Рассмотрим массив длиной 5: [1,2,3,4,5] -..

Связанный список в структуре данных
Связанные списки — это линейные структуры данных, которые содержат данные в отдельных объектах, называемых узлами. Эти узлы содержат как данные, так и ссылку на следующий узел в списке. Связанные списки часто используются из-за их эффективной вставки и удаления. Их можно использовать для реализации стеков, очередей и других абстрактных типов данных. Вы можете визуализировать связанный список, используя следующее изображение: Связанный список Каждый узел содержит значение —..

Как решить алгоритм сводного индекса в Java
Это мое решение проблемы 724 на Leet Code. Имея массив целых чисел nums , напишите метод, который возвращает сводный индекс этого массива. Мы определяем сводный индекс как индекс, в котором сумма чисел слева от индекса равна сумме чисел справа от индекса. Если такого индекса не существует, мы должны вернуть -1. Если существует несколько сводных индексов, верните крайний левый сводный индекс. Пример 1: Input: nums = [1, 7, 3, 6, 5, 6] Output: 3 Explanation: The sum..