Хеш-таблицы в прологе

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

27
задан nedned 22 August 2009 в 05:13
поделиться

3 ответа

Я не пролог (просто сторонний наблюдатель), но я нашел это:

http://www.sics.se/sicstus/docs/4.0.7/html/ sicstus / lib_002davl.html

, когда я искал «Пролог сбалансированных деревьев с конечной картой». В нем говорится, что это альтернативная реализация списков ассоциаций.

(Почему я подумал об этом: в Haskell, чисто функциональном языке, вместо списков ассоциаций или хеш-таблиц обычно используются деревья для (постоянных) словарей или конечных карт. Поиски также являются O (log (N) ). См. Data.Map для некоторых ссылок на реализацию карт со сбалансированными деревьями.)

4
ответ дан Jared Updike 22 August 2009 в 05:13
поделиться

В некоторых средах Пролога есть Списки ассоциаций , которые можно использовать для создания и редактирования словаря:

Редактировать:

Вы можете повысить производительность, реализовав предикаты на иностранных языках , например:

9
ответ дан 28 November 2019 в 05:47
поделиться

В SICStus Prolog используйте либо assoc или библиотеки avl .

3
ответ дан 28 November 2019 в 05:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: