Nano Hash - криптовалюты, майнинг, программирование

Как называются эти свойства структуры данных?

Если у меня есть произвольная структура данных, что я могу сказать об этой структуре, если выполняются следующие сценарии:

(1) Если я помещу пять элементов в структуру данных, то можно будет получить те же самые пять элементов в том же порядке. Например, если я помещаю числа 4, 6, 2 и 7 в массив и получаю первый элемент, это будет 4.

(2) Если я помещаю пять элементов (которые можно сравнивать) в структуру данных, они всегда будут отсортированы по некоторым критериям. То есть, если критерий увеличивается, и я помещаю в эту структуру 4, 6, 2 и 7 и получаю первый элемент, это будет 2.

(3) Если я помещаю пять элементов в структуру данных, не существует операции, которую я могу выполнить, чтобы гарантировать, что я верну первый элемент, который я поместил в нее.

(4) Если я добавлю в него пять элементов, то добавление любых элементов, которые уже есть в структуре, не повлияет на структуру.

РЕДАКТИРОВАТЬ: я не спрашиваю имена структур данных, которые будут иметь эти свойства. Один был бы похож на List, 2 был бы двоичным деревом поиска или чем-то в этом роде, 3 был бы Hash, а четыре был бы HashSet или многими другими реализациями коллекций, которые не допускают дублирования. Я прошу названия собственности. Например, возможность сказать: «Для этой задачи нам нужно использовать упорядоченную структуру данных ...»

30.03.2012

  • @OliCharlesworth Нет. Я разговаривал с другом, и я использовал заказанный для первого и отсортированный для второго, но он не согласился с тем, что это правильные описания. 31.03.2012
  • (3) называется сборкой мусора. 31.03.2012
  • @Jeremy: для этого см. stackoverflow.com/questions/1084146/ 31.03.2012
  • Интересный вопрос, но не совсем ТАК вопрос 31.03.2012

Ответы:


1

(1) заказано;

(2) вероятно отсортировано;

(3) неупорядоченный;

(4) не содержит дубликатов

Извините, (4) - это что-то вроде отговорки, но это все, о чем я могу думать.

31.03.2012
  • Скважина 4 - это, по сути, определение Сета. Коллекция различных объектов. Хотя и для этого не могу придумать никакого прилагательного. settiveness звучит интересно, но, боюсь, его нет ни в одном словаре;) 31.03.2012

  • 2

    (1) FIFO: структура данных поддерживает порядок вставки.

    (2) сортировка происходит в структуре данных

    (3) это не собственность, а ее отсутствие. Это сделают структуры на основе хеша. Если вы не имеете в виду, что вам нужна гарантия, что элементы будут перемешаны (ваш обычный HashMap детерминирован в том, что он делает в конце концов). В этом случае это будет «случайная» или «перемешиваемая» коллекция. Смеситель.

    (4) набор, структура данных обеспечивает отдельные элементы (означает, что происходят сравнения, а также сортировка или хеширование)

    30.03.2012

    3

    (1) - это очередь, (2) отсортированный список, я не совсем понимаю, что вы имеете в виду под (3), и (4) - это набор.

    30.03.2012
  • Я бы сказал, что (2) отсортировано, а не просто упорядочено. stackoverflow.com/questions/1084146/ 31.03.2012

  • 4

    Я не думаю, что существует структура данных со всеми перечисленными вами сценариями.

    Как правило, если вы реализуете такую ​​структуру, ее можно назвать абстрактным типом данных. С таким типом данных вы предоставляете все функциональные возможности, то есть абстрагируете работу, которая соответствует приведенным выше сценариям.

    В Java List, Queue и многие другие являются примерами абстрактных типов данных.

    31.03.2012
  • Я не думаю, что ОП хотел one structure to rule them all! (1) и (2) уже исключают друг друга 31.03.2012
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..