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

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

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

10
Как я изучаю алгоритмы и структуры данных? [закрыто]
Это продолжение моего предыдущего вопроса, где я спросил, нужно ли изучать алгоритмы и структуры данных. Я чувствую, что да, это так. Сейчас я работаю в среде, где у меня никогда не будет возможности научиться этому, экспериментируя или практически, или на любом задании. Какой правильный подход, например, правильные книги, правильные проблемы, …

8
Когда использовать DAG (направленный ациклический граф) в программировании?
Я недавно нашел структуру под названием Ecto . В этом контексте базовый компонент, называемый «плазмой» , является экто направленным ациклическим графом. В эктоплазме может работать планировщик экто. Мне интересно, в чем преимущество этого механизма, и в каких других ситуациях мы можем использовать концепцию DAG?

12
Нужно ли понимать алгоритмы и структуры данных, чтобы называться программистом? [закрыто]
Прошло шесть лет с тех пор, как я занимался кодированием. Кодирование во все виды вещей, таких как ActionScript, JavaScript, Java, PHP, Ajax, XML HTML, ASP и т. Д. Я использовал массивы, карты, связанные списки, наборы и т. Д., Где бы я ни работал, таких, как я. Но всякий раз, когда …

2
PHP: когда использовать массивы и когда использовать объекты для конструкций кода, в основном для хранения данных?
PHP - это язык смешанной парадигмы, позволяющий использовать и возвращать необъектные типы данных, такие как массивы. Я задаю вопрос, чтобы попытаться прояснить некоторые рекомендации по выбору массивов и объектов при принятии решения о том, какую программную конструкцию использовать в конкретной ситуации. Это действительно вопрос о способах кодирования данных с использованием …

3
Разница между кучей и приоритетной очередью
Я всегда считал , что отвалы и приоритетные очереди были синонимами - абстрактная структура данных , которая поддерживает insert, findMinи deleteMinоперации. Некоторая литература, кажется, согласна со мной - например, чисто функциональные структуры данных Криса Окасаки (глава 3). С другой стороны, страница кучи Википедии определяет ее как древовидную структуру данных и …

5
Почему удаление обычно намного сложнее реализовать, чем вставку во многие структуры данных?
Можете ли вы вспомнить какую-либо конкретную причину, по которой удаление обычно значительно сложнее реализовать, чем вставку для многих (большинства?) Структур данных? Быстрый пример: связанные списки. Вставка тривиальна, но удаление имеет несколько особых случаев, которые значительно усложняют ее. Самобалансирующиеся бинарные деревья поиска, такие как AVL и Red-black, являются классическими примерами болезненной …

10
Какой смысл использовать списки над векторами в C ++?
Я провел 3 разных эксперимента с использованием списков и векторов C ++. Те, у кого были векторы, оказались более эффективными, даже когда в центре было много вставок. Отсюда вопрос: в каком случае списки имеют больше смысла, чем векторы? Если векторы кажутся более эффективными в большинстве случаев, и учитывая, насколько похожи …

4
Абстрактный тип данных и структура данных
Мне довольно сложно понять эти термины. Я искал в Google и прочитал немного в Википедии, но я все еще не уверен. Я определил, что: Абстрактный тип данных - это определение нового типа, описываются его свойства и операции. Структура данных - это реализация ADT. Многие ADT могут быть реализованы как одна …

8
Является ли хорошей практикой использование меньших типов данных для переменных для экономии памяти?
Когда я впервые выучил язык C ++, я узнал, что, кроме int, float и т. Д., В этом языке существуют меньшие или большие версии этих типов данных. Например, я мог бы назвать переменную х int x; or short int x; Основное отличие состоит в том, что short int занимает 2 …

7
Как быстро найти очень большой список строк / записей в базе данных
У меня следующая проблема: у меня есть база данных, содержащая более 2 миллионов записей. Каждая запись имеет строковое поле X, и я хочу отобразить список записей, для которых поле X содержит определенную строку. Каждая запись имеет размер около 500 байт. Чтобы сделать это более конкретным: в графическом интерфейсе моего приложения …

8
Словарь против списка
Поэтому я столкнулся с Dictionary<int, int>сегодня на работе. Это просто показалось мне странным, потому что я бы просто использовал List<int>вместо этого. Есть ли разница, и будет ли вариант использования, когда одна структура будет предпочтительнее другой?

5
Каков наиболее эффективный способ хранения числового диапазона?
Этот вопрос о том, сколько бит требуется для хранения диапазона. Или, другими словами, для данного числа битов, какой максимальный диапазон может быть сохранен и как? Представьте, что мы хотим сохранить поддиапазон в диапазоне 0-255. Так например 45-74. Мы можем сохранить приведенный выше пример в виде двух неподписанных байтов, но мне …

7
Должен ли я продолжать инвестировать в структуры данных и алгоритмы? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 4 года назад . В эти дни я вкладываю большие средства в структуры данных и алгоритмы и пытаюсь решить некоторые задачи …

3
Какая разница между использованием структуры и std :: pair?
Я программист C ++ с ограниченным опытом. Предположим, что я хочу использовать STL mapдля хранения и манипулирования некоторыми данными, я хотел бы знать, есть ли существенное различие (также в производительности) между этими двумя подходами структуры данных: Choice 1: map<int, pair<string, bool> > Choice 2: struct Ente { string name; bool …

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