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

Вопросы относительно эффективного хранения и представления данных в программном приложении.

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

3
AVL Деревья и РЕАЛЬНЫЙ мир
в школе нас учат, как мы можем сбалансировать дерево AVL при вставке или удалении. Как этот тип знаний будет полезен в реальном мире? Может ли кто-нибудь привести пример того, когда этот тип знаний будет полезен? Из того, что я видел, на рабочем месте такие детали вряд ли когда-либо всплывают ... …

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

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

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

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

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

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

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

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

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

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

4
Организованы ли деревья структурой «первый ребенок»? Если нет, то почему нет?
Обычно древовидные структуры данных организованы таким образом, что каждый узел содержит указатели на все его дочерние элементы. +-----------------------------------------+ | root | | child1 child2 child3 | +--+------------------+----------------+--+ | | | +---------------+ +---------------+ +---------------+ | node1 | | node2 | | node3 | | child1 child2 | | child1 child2 | …

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

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

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