библиотека структур данных javascript



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



меня больше всего интересует:




  • набор функций, охватываемых,

  • гибкость решения - это в основном для графики. Например, должен ли я использовать предоставленный график реализация,

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

  • результативность реализации


EDIT



хорошо, я хотел бы отметить, что я знаю, что с помощью js можно реализовать следующие структуры данных:




  • карта, если Ключевые значения являются строками или числами,

  • набор, (используя карту реализация),

  • очередь, хотя, как было указано ниже, это неэффективно в некоторых браузерах,


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

620   9  

9 ответов:

Я рекомендую использовать библиотеку закрытия (особенно с компилятора).

здесь у вас есть библиотека со структурами данных хорошо.структуры. Библиотека содержит:

goog.structs.AvlTree
goog.structs.CircularBuffer
goog.structs.Heap
goog.structs.InversionMap
goog.structs.LinkedMap
goog.structs.Map
goog.structs.PriorityQueue
goog.structs.Set

в качестве примера вы можете использовать модульный тест:хорошо.структуры.PriorityQueueTest.

Если вам нужно работать с массивами, есть также массив lib:хорошо.массив.

Как отмечено в комментариях, Источник переместился в github.com/google/closure и новое место документации составляет: компания Google.на GitHub.Ио/закрытия библиотеки.

вы можете попробовать ведра это очень полная библиотека структуры данных JavaScript, которая включает в себя:

  • Список Ссылок
  • словарь
  • Мульти Словарь
  • Бинарное Дерево Поиска
  • стек
  • очереди
  • Set
  • мешок
  • Двоичные Кучи
  • Приоритет В Очереди

вероятно, большая часть того, что вы хотите, так или иначе встроена в Javascript или легко сочетается со встроенной функциональностью (собственные структуры данных Javascript невероятно гибки). Вам может понравиться JSClass.

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

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

эффективное очереди.

Если вы найдете больше из них, не могли бы вы добавить их в jswiki. Спасибо. :)

ваш javascript находится в приложении или на веб-странице? Если это для приложения, почему бы не передать структуры данных на аутсорсинг Redis? Там есть клиент для nodejs

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

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

специально для графа-подобные структуры, я считаю, graphlib очень удобно:

https://github.com/cpettitt/graphlib/wiki/API-Reference

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

данные.js.

Я не верю, что это так многофункционально, как вы хотите, но у него есть графики, хэши и коллекции.

Я бы взял это легкий старт,который вы можете продлить.

Что касается того, что он предлагает, он хорошо написан, эффективен и документирован.

Comments

    Ничего не найдено.