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

14
AVL Деревья и РЕАЛЬНЫЙ мир

в школе нас учат, как мы можем сбалансировать дерево AVL при вставке или удалении. Как этот тип знаний будет полезен в реальном мире? Может ли кто-нибудь привести пример того, когда этот тип знаний будет полезен? Из того, что я видел, на рабочем месте такие детали вряд ли когда-либо всплывают ... Я...

14
Как далеко зайти с примитивными типами typedef, такими как int

Я видел код C ++, такой как следующий со многими typedefs. Каковы преимущества использования многих typedefподобных s по сравнению с использованием примитивов C ++? Есть ли другой подход, который также может обеспечить эти преимущества? В конце концов, все данные хранятся в памяти или передаются по...

14
Как работает список пропусков?

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

13
Амортизированный анализ? (Гарантия исполнения в худшем случае)

Что такое амортизированный анализ? И как это может помочь мне достичь наихудших гарантий производительности в моих программах? Я читал, что следующие методы могут помочь программисту достичь гарантий производительности в худшем случае (то есть, по моим собственным словам: гарантировать, что время...

13
В чем разница между потоком и очередью?

В чем разница между потоком и очередью? Они оба имеют концепцию упорядоченного набора элементов, но, как правило, имеют разные реализации и разные словари «вставка» / «извлечение» (потоки) и «добавление в очередь» / «извлечение» (очередь). Они взаимозаменяемы? Они предлагают разные концепции или...

13
Может ли структура C вести себя так, как будто у нее есть функция?

Я использую C и structs, где структура может иметь члены, но не функции. Предположим для простоты, что я хочу создать структуру для строк, которые я назвал, strи я хочу иметь возможность делать, str.replace(int i, char c)где iнаходится индекс строки и cсимвол, который заменяет символ в позиции i....

13
Есть ли стандартный способ или стандартная альтернатива упаковке структуры в c?

Когда программирование в CI показало, что упаковывать структуры, используя __attribute__((__packed__))атрибут GCCs, неоценимо, я могу легко преобразовать структурированный кусок энергозависимой памяти в массив байтов, который будет передаваться по шине, сохраняться в хранилище или применяться к...

13
Практичный способ хранения «достаточно большого» объема данных, который почти никогда не изменяется?

Думайте с точки зрения предварительно вычисленных таблиц поиска или чего-то еще. В какой момент имеет смысл использовать базу данных вместо значений жесткого кода в моем приложении? Значения не собираются меняться, и они приятно отделены от разработчиков обслуживания. 100 значений, 1К, 10К, 100К? Я...

13
Какова связь между структурами данных и алгоритмами? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Я искал хороший онлайн-курс по структурам данных, но обнаружил, что Google...

13
Есть ли конкретная цель для разнородных списков?

Исходя из C # и Java, я привык к тому, что мои списки однородны, и это имеет смысл для меня. Когда я начал подбирать Lisp, я заметил, что списки могут быть разнородными. Когда я начал разбираться с dynamicключевым словом в C #, я заметил, что, начиная с C # 4.0, также могут быть разнородные списки:...

12
Идеальная структура данных для хранения картографических данных?

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

12
Псевдокод для очереди Бродал

Я пытаюсь найти больше ресурсов о куче Бродал . Все, что я нашел, это реализация на хаскелле кучи Бродала-Окасаки , но я думаю , что это косые кучи , верно? Кроме того, я неграмотен в Хаскеле, так что это не сильно помогает. Кто-нибудь имеет (или знает) реализацию очереди Brodal в псевдокоде, C, C...

12
Организованы ли деревья структурой «первый ребенок»? Если нет, то почему нет?

Обычно древовидные структуры данных организованы таким образом, что каждый узел содержит указатели на все его дочерние элементы. +-----------------------------------------+ | root | | child1 child2 child3 | +--+------------------+----------------+--+ | | | +---------------+ +---------------+...

12
Служат ли двоичные деревья конкретной цели для хранения иерархических данных? Каково их каноническое использование?

Я понимаю структуру бинарных деревьев и как их пройти. Тем не менее, я изо всех сил пытаюсь понять их фактическое использование, цели в программах и программировании. Когда я думаю о «реальных» примерах иерархических данных, они почти наверняка имеют более двух детей. Например, в родословной у...

12
Используя потоковый манипулятор (endl) или символ перехода на новую строку (\ n)?

У меня нет конкретного контекста, в котором я задаю вопрос, но когда я читал книгу для начинающих на C ++, я заметил использование как манипулятора endl stream, так и escape-символа новой строки при работе с потоковым объектом. Пример таков: cout << "Hello World" << endl; cout <<...

11
Можно ли ускорить хэш-таблицу, используя двоичные деревья поиска для раздельного связывания?

Я хочу реализовать хеш-таблицу с использованием деревьев двоичного поиска, чтобы уменьшить сложность поиска в процессе раздельного связывания с O (n) (используя связанный список) до O (log n) (используя BST). Можно ли это сделать, и если да, то как? Было бы легче понять, если решение шаг за шагом,...

11
Какую структуру данных я должен использовать для этой стратегии кэширования?

Я работаю над приложением .NET 4.0, которое выполняет довольно дорогие вычисления для двух двойных значений, возвращая двойное. Этот расчет выполняется для каждого из нескольких тысяч предметов . Эти вычисления выполняются в Taskпотоке потоков. Некоторые предварительные тесты показали, что одни и...

11
Структуры данных в функциональном программировании

В настоящее время я играю с LISP (особенно Scheme и Clojure), и мне интересно, как обрабатываются типичные структуры данных в функциональных языках программирования. Например, скажем, я хотел бы решить проблему, используя алгоритм поиска пути к графу. Как обычно можно представить этот граф на...

11
Обходной путь для выполнения операций над двусвязными или циклическими структурами данных в языках с неизменяемыми данными

Я хотел бы узнать, как создавать графики и выполнять некоторые локальные операции над ними в Haskell, но этот вопрос не является специфическим для Haskell, и вместо графиков мы можем рассмотреть двусвязные списки. Вопрос: Каким был бы идиоматический или рекомендуемый способ реализации двусвязного...