Вопросы с тегом «data-structures»

Вопросы о способах хранения данных, чтобы их можно было выгодно использовать в алгоритмах.

5
Для каких типов данных используются операции хэш-таблицы O (1)?
Из ответов на (Когда) есть поиск в хэш-таблице O (1)? Я понимаю, что хеш-таблицы имеют O ( 1 )О(1)O(1) наихудшее поведение, по крайней мере амортизированное, когда данные удовлетворяют определенным статистическим условиям, и существуют методы, которые помогут сделать эти условия широкими. Однако, с точки зрения программиста, я заранее не знаю, какими …

3
Какова цель использования NIL для представления нулевых узлов?
В моем курсе « Алгоритмы и структуры данных» профессора, слайды и книга ( Введение в алгоритмы, 3-е издание ) использовали слово NILдля обозначения, например, дочернего элемента узла (в дереве), который не существует. Однажды, во время лекции, вместо того, чтобы сказать NIL, мой одноклассник сказал null, и профессор поправил его, и …

2
В чем разница между абстрактными и конкретными структурами данных?
Я думал, что ассоциативный массив (т. Е. Карта или словарь) и таблица хеширования были одним и тем же понятием, пока я не увидел в Википедии, что Для словарей с очень небольшим количеством привязок может иметь смысл реализовать словарь, используя список ассоциаций, связанный список привязок. ... Наиболее часто используемой универсальной реализацией …

2
Есть ли более быстрое решение проблемы Google Code Jam Great Wall?
Рассмотрим следующий вопрос Google Code Jam в 1С : Великая китайская стена начинается бесконечной линией, где высота во всех местах равна .000 Некоторое количество племен , , будет атаковать стену в соответствии со следующими параметрами - начальный день, , начальная сила , начальная западная координата и начальная восточная координата , …

2
Цвет бинарного дерева, чтобы быть красно-черным деревом
Обычный вопрос интервью - дать алгоритм для определения того, является ли данное двоичное дерево сбалансированным по высоте (определение дерева AVL). Мне было интересно, можем ли мы сделать что-то подобное с красно-черными деревьями. Учитывая произвольное неокрашенное двоичное дерево (с узлами NULL), существует ли «быстрый» алгоритм, который может определить, можем ли мы …

3
Клавиша увеличения и уменьшения ключа в двоичной min-heap
Во многих обсуждениях двоичной кучи в качестве поддерживаемой операции для минимальной кучи обычно указывается только ключ уменьшения. Например, глава 6.1 CLR и эта страница википедии . Почему ключ увеличения обычно не указывается для min-heap? Я полагаю, что это можно сделать в O (высота), итеративно меняя увеличенный элемент (x) на минимум …

6
Очередь приоритетов для частично упорядоченных приоритетов с информацией
У меня есть несколько объектов с приоритетом, который является составным типом и только частично упорядочен . Мне нужно выбрать объекты в порядке приоритета (т.е. каждый раз приносить минимальный предмет). Но вместо того, чтобы произвольно завершать порядок, я бы предпочел, чтобы очередь была стабильной в том смысле, что если имеется более …

2
Как реализовать алгоритм AO *?
Я заметил, что при реализации поисковых алгоритмов используются разные структуры данных. Например, мы используем очереди для реализации поиска в ширину, стеки для поиска в глубину и мини-кучи для реализации алгоритма A * . В этих случаях нам не нужно явно создавать дерево поиска. Но я не могу найти простую структуру …

2
Доказательство двоичной кучи имеет
Я пытаюсь доказать, что двоичная куча с узлами имеет точно exactly nnnnвыходит, учитывая, что куча строится следующим образом:⌈n2⌉⌈n2⌉\left\lceil \frac{n}{2} \right\rceil Каждый новый узел вставляется через percolate up . Это означает, что каждый новый узел должен быть создан на следующем доступном дочернем узле. Под этим я подразумеваю, что дети заполнены вниз …

2
Что это за структура данных / концепция, где график точек определяет разбиение на пространство
Я столкнулся с алгоритмом, чтобы решить реальную проблему, и я помню класс, который я взял, где я сделал что-то очень похожее для некоторых для домашней работы. По сути, это график точек, и линии нарисованы так, чтобы они были равноудалены между двумя точками. Он образует идеальное разделение, где линии вокруг точки …

6
Как реализовать два стека в одном массиве?
Я хочу начать с того, что это НЕ домашний вопрос. Я читаю Введение в алгоритмы - известный текст CLRS, чтобы стать лучшим программистом. Я пытаюсь решить проблемы и упражнения, приведенные в книге, самостоятельно. Я пытаюсь решить Excercise 10.1-2 из главы 10 «Элементарные структуры данных» из второго издания CLRS. Вот что …

3
Как подойти к задачам, связанным с динамическим графом
Я задал этот вопрос в общем стеке потока, и я был направлен сюда. Было бы хорошо, если бы кто-нибудь мог объяснить, как подходить к частичным или полностью динамическим задачам с графами в целом. Например: Найти кратчайший путь между двумя вершинами в неориентированном взвешенном графе для экземпляров, когда ребро удалено в …

2
Какой метод предпочтителен для хранения больших геометрических объектов в дереве квадрантов?
Размещая геометрические объекты в квадри (или октодереве), вы можете разместить объекты, размер которых превышает один узел, несколькими способами: Размещение ссылки на объект в каждом листе, для которого он содержится Размещение ссылки на объект в самом глубоком узле, для которого он полностью содержится И № 1, и № 2 Например: На …

3
Когда списки смежности или матрицы являются лучшим выбором?
Мне сказали, что мы будем использовать список, если граф разреженный, и матрицу, если граф плотный . Для меня это просто грубое определение. Я не вижу многого за этим. Можете ли вы уточнить, когда это будет естественным выбором? Заранее спасибо!

6
Нахождение максимального XOR двух чисел в интервале: можем ли мы сделать лучше, чем квадратичное?
Предположим, нам даны два числа и и мы хотим найти для .lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r Наивный алгоритм просто проверяет все возможные пары; например, в ruby ​​у нас будет: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max = i ^ …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.