Концепция: информация в ячейку памяти - PullRequest
0 голосов
/ 23 мая 2010

У меня проблемы с концептуализацией алгоритма, который будет использоваться для преобразования любой информации или данных в конкретное подходящее и разумное место в памяти в любой структуре данных, которую я буду разрабатывать.

Чтобы дать вам представление, у меня есть экземпляр объекта JPanel, и я создал еще один экземпляр объекта типа «Контейнер» любого подтипа (обратите внимание, что это на Java, потому что я люблю этот язык), затем я собрал эти экземпляры в структуру данных не специально только для этих случаев, но также применимо к любому типу объекта. Теперь моя процедура повторного извлечения этих данных состоит в том, чтобы извлечь специфические для объекта особенности, сходные по категории со всеми объектами в этой структуре данных, и преобразовать их в целочисленную область памяти данных (особенно в максимально возможной степени) или в любой тип данных, который будет относиться к это преобразование. И я уже могу получить доступ к этой ячейке памяти без дальнейшей сортировки или применения O (n) временных сложных алгоритмов (что я считаю предпочтительным, но я хотел сделать свой собственный путь XD). Структура данных имеет любой тип: двоичное дерево, связанный список, массивы или наборы (и тому подобное XD). Важно то, что мне не нужно проводить последовательное сравнение и анализ данных только для того, чтобы размещать информацию в больших структурах.

Чтобы дать вам техническую идею, У меня есть массив DS, который содержит экземпляр объекта JLabel с определенным именем «HelloWorld». Но массив DS содержит другие типы объектов (в множестве). Теперь этот объект JLabel имеет местоположение в массиве по индексу [124324] (то есть если вы используете какой-либо тип алгоритма поиска, просто чтобы добраться до этого места, возможно, медленнее, потому что к нему добавлена ​​используемая структура данных - массив * примечание, пожалуйста, не обращайте внимания эффективность используемой структуры данных, я просто хочу объяснить вам мою концепцию XD). Теперь я хочу приравнять «HelloWorld» к 124324, используя концептуально сделанную функцию, применимую ко всем типам данных. Так что я могу выполнить прямой поиск, выполнив этот DS [extractLocation ("HelloWorld")] просто для получения этого экземпляра JLabel.

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

1 Ответ

1 голос
/ 23 мая 2010

Я думаю, что вы просите Map.Карта не использует индексы, такие как массив, но хранит каждое значение со связанным ключом или идентификатором.

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

Object[] DS = ...; your array, with JLabel in 124324
// When you add the object to the array, also add it's index to the map
map.put("Hello world", 124324);

//.. later when you need the value
Integer index = map.get("Hello World");
JLabel label = (JLabel)DS[index.intValue()];

Если у вас нет особых потребностей в массиве, я бы просто использовал карту.

Надеюсь, это то, что вы ищете.Если нет, уточните.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...