Запитання з тегом «data-structures»

Питання щодо ефективного зберігання та представлення даних у програмному додатку.

2
Звідки береться термін "Червоне / Чорне дерево"?
Червоний / Чорне Дерево є одним з способів реалізації збалансованого бінарного дерева пошуку. Принципи, як це працює, мають для мене сенс, але обрані кольори не відповідають. Чому червоний і чорний, на відміну від будь-якої іншої пари кольорів або атрибутів взагалі? Коли я чую "червоне і чорне", першими, що спадають на …

10
Як дізнатися алгоритми та структури даних? [зачинено]
Це продовження мого попереднього питання, де я запитав, чи потрібно вивчати алгоритми та структури даних. Я відчуваю, що так. Зараз я працюю в середовищі, коли я ніколи не отримаю шансу навчитися цьому, експериментуючи або практично або в будь-якому завданні. Який правильний підхід, як правильні книги, правильний вид проблем, правильний вид …

8
Коли використовувати DAG (спрямовану ациклічну графіку) в програмуванні?
Нещодавно я знайшов рамку під назвою ecto . У цьому рамках базовий компонент під назвою "плазма" - це ecto Directed Acyclic Graph. В екто плазмою можна керувати планувальник ecto. Мене цікавить, у чому перевага цього механізму, і в яких інших ситуаціях ми можемо використовувати концепцію DAG?

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

2
PHP: коли використовувати масиви та коли використовувати об'єкти для конструкцій коду, що зберігають дані?
PHP - це змішана мова парадигми, що дозволяє використовувати та повертати необ'єктивні типи даних, наприклад масиви. Я ставлю запитання, щоб спробувати уточнити деякі вказівки щодо вибору масивів проти об’єктів, вирішуючи, яку програмування побудувати для конкретної ситуації. Це справді питання про способи кодування даних за допомогою конструкцій мови PHP та коли …

3
Різниця між групою та чергою пріоритетів
Я завжди вважав , що відвали і пріоритетні черги були синонімами - абстрактна структура даних , яка підтримує insert, findMinі deleteMinоперації. Здається, деяка література погоджується зі мною - наприклад, «Чисто функціональні структури даних» Кріса Окасакі (глава 3). З іншого боку, наборна сторінка Вікіпедії визначає її як структуру даних на основі …

5
Чому видалення зазвичай реалізувати набагато складніше, ніж вставлення в багато структур даних?
Чи можете ви придумати якусь конкретну причину, чому видалення зазвичай реалізувати значно складніше, ніж вставлення для багатьох (більшості?) Структур даних? Короткий приклад: пов'язані списки. Вставлення є тривіальним, але вилучення має кілька особливих випадків, які значно ускладнюють його. Самобалансуючі двійкові пошукові дерева, такі як AVL та Червоно-чорні, - класичні приклади реалізації …

10
Який сенс використовувати списки над векторами в C ++?
Я провів 3 різні експерименти, включаючи списки C ++ та вектори. Ті, хто має вектори, виявилися ефективнішими, навіть коли було задіяно багато вставок посередині. Звідси виникає питання: в якому випадку списки мають більше сенсу, ніж вектори? Якщо вектори здаються більш ефективними в більшості випадків, і, враховуючи, наскільки схожі їх члени, …

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

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

8
Чи є хорошою практикою використання менших типів даних для змінних для збереження пам'яті?
Коли я вперше вивчив мову C ++, я дізнався, що крім int, float тощо, в мові існують менші або більші версії цих типів даних. Наприклад, я міг би викликати змінну x int x; or short int x; Основна відмінність полягає в тому, що короткий int займає 2 байти пам'яті, а …

8
Словник проти списку
Тому я натрапив на роботу Dictionary<int, int>сьогодні. Це мені здавалося дивним, тому що я, мабуть, просто використав би List<int>замість цього. Чи є різниця і чи не буде випадку використання, коли одна структура буде віддана перевагу іншій?

5
Який найефективніший спосіб зберігання числового діапазону?
Це питання стосується того, скільки бітів потрібно для зберігання діапазону. Або кажучи іншим способом, для заданої кількості біт, який максимальний діапазон, який можна зберігати і як? Уявіть, що ми хочемо зберігати піддіапазон у межах 0-255. Так, наприклад, 45-74. Ми можемо зберігати приклад вище як два неподписані байти, але мені вражає, …

7
Чи варто продовжувати інвестувати в структури даних та алгоритми? [зачинено]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб це було темою для обміну стеками програмного забезпечення. Закрито 4 роки тому . Сьогодні я інвестую великі кошти в структури даних та алгоритми і намагаюся вирішити деякі головоломки програмування. Я намагаюся кодувати і …

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.