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

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

2
Який найбільш просторовий спосіб реалізації структури даних графіків?
Я, як правило, реалізую графіки як подвійно пов'язані списки, але це мій досвід досить неефективно, оскільки мені потрібні k покажчики / посилання на k сусідів, тому для непрямої графіки я мав би ~ 2k сусідніх посилань у списках, якщо моя математика правильна. Чи є кращий спосіб економії місця? Я знаю, …

3
AVL Дерева та Справжній світ
у школі нас навчають, як можна врівноважувати дерево AVL після вставки чи видалення. Чим насправді цей тип знань стане корисним у реальному світі? Чи може хтось навести приклад того, коли цей тип знань насправді був би корисним? З того, що я бачив, на робочому місці такі деталі навряд чи з’являються… …

7
Як далеко піти з набором примітивних примітивних типів, таких як int
Я бачив код C ++, такий як наступний, у багатьох typedefs. Які переваги використання багатьох typedefподібних s на відміну від використання примітивів C ++? Чи є інший підхід, який також може досягти цих переваг? Зрештою, всі дані зберігаються в пам'яті або передаються по дроту у вигляді бітів і байтів, чи …

8
Практичний спосіб зберігання «досить великого» обсягу даних, який майже не змінюється?
Подумайте з точки зору попередньо обчислених таблиць пошуку чи чогось іншого. У який момент має сенс використовувати базу даних замість значень жорсткого кодування в моєму додатку? Ці значення не збираються змінювати, і вони добре відокремлюються від розробників технічного обслуговування. 100 значень, 1k, 10k, 100k? Я хочу зберігати близько 40 к …

4
Чи може С-структура поводитись так, ніби вона мала функцію?
Я використовую C і structs, де структура може мати членів, але не функцій. Припустимо для простоти, що я хочу створити структуру для рядків, які я називаю, strі я хочу бути в змозі робити, str.replace(int i, char c)де iє індекс рядка і cє символом, який замінить символ у позиції i. Чи …

4
Чи є стандартний спосіб або стандартна альтернатива упаковці структури в с?
Коли програмування в CI виявило безцінним пакувати структури за допомогою __attribute__((__packed__))атрибута GCC, тож я можу легко перетворити структурований фрагмент летючої пам'яті в масив байтів, що передаються по шині, зберігаються для зберігання або застосовуються до блоку регістрів. Упаковані структури гарантують, що при обробці як масиві байтів він не буде містити жодних …

2
Який взаємозв'язок між структурами даних та алгоритмами? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Я шукав хороший онлайн-курс в структурах даних, але виявив, що Google також повертає результати …

5
Чи є певна мета гетерогенних списків?
Виходячи з фону C # та Java, я звик, щоб мої списки були однорідними, і це має для мене сенс. Коли я почав збирати Лісп, я помітив, що списки можуть бути неоднорідними. Коли я почав накручувати dynamicключове слово в C #, я помітив, що, як і для C # 4.0, …

2
Амортизований аналіз? (Найгірші гарантії ефективності)
Що таке амортизований аналіз? І як це може допомогти мені досягти найгірших гарантій ефективності в моїх програмах? Я читав, що наступні методи можуть допомогти програмісту домогтися найгірших гарантій ефективності (тобто, моїми власними словами: гарантія, що час роботи програми не перевищить час роботи в гіршому складі): Рандомізовані алгоритми (наприклад, алгоритм кварцового …

8
Яка різниця між потоком і чергою?
Яка різниця між потоком і чергою? Вони обидва мають концепцію впорядкованого набору елементів, але, як правило, мають різні реалізації та різну лексику "вставити" / "витягнути" (потоки) порівняно з "enqueue" / "dequeue" (черга). Ці взаємозамінні? Вони пропонують різні концепції чи зразки? Якщо так, то які відмінності?

2
Використовуєте маніпулятор потоку (endl) або символ втечі нового рядка (\ n)?
У мене немає конкретного контексту, в якому я задаю питання, але, читаючи книгу-початківця на C ++, я помітив використання як маніпулятора потоку endl, так і символу втечі нового рядка при роботі з об'єктом потоку. Приклад такий: cout << "Hello World" << endl; cout << "Hello World\n"; Мої запитання: Чи доцільніше …

3
Чи двійкові дерева служать певній меті для зберігання ієрархічних даних? У чому полягає їх канонічне використання?
Я розумію структуру двійкових дерев і як їх перетинати. Однак я намагаюся усвідомити їх фактичне використання, цілі в програмах та програмуванні. Коли я замислююсь над „реальним життям” на прикладі ієрархічних даних, вони майже напевно мають понад 2 дітей. Наприклад, у родинному дереві мати часто може мати більше двох дітей. Чи …

4
Чи організовані дерева структурою "первістка, нежитлова"? Якщо ні, то чому б і ні?
Зазвичай структури даних дерев організовані таким чином, що кожен вузол містить вказівники для всіх своїх дітей. +-----------------------------------------+ | root | | child1 child2 child3 | +--+------------------+----------------+--+ | | | +---------------+ +---------------+ +---------------+ | node1 | | node2 | | node3 | | child1 child2 | | child1 child2 | | …

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

2
Ідеальна структура даних для зберігання даних карт?
Про це мене запитали в тесті на інтерв'ю. Я зробив нормально тест, але не знав достатньо, щоб відповісти на це питання. Мені цікаво знати, які структури даних я можу використовувати для швидкого запиту даних. По суті, ідея полягає у тому, щоб існували ділянки дороги (лінії, складені з точок), що зберігаються …

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