Как называются эти свойства структуры данных? - PullRequest
2 голосов
/ 31 марта 2012

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

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

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

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

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

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

Ответы [ 5 ]

4 голосов
/ 31 марта 2012

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

(2) возможно отсортировано ;

(3) является неупорядоченным ;

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

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

2 голосов
/ 31 марта 2012

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

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

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

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

0 голосов
/ 31 марта 2012

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

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

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

0 голосов
/ 31 марта 2012

Это домашнее задание о том, что это за 4 типа данных?Поиск в Google Java-структур данных научил меня нескольким вещам.Я подозреваю, что вам понравится эта ссылка: http://www.theparticle.com/javadata2.html

0 голосов
/ 31 марта 2012

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

...