All Projects → nvictus → priority-queue-dictionary

nvictus / priority-queue-dictionary

Licence: MIT license
A Pythonic indexed priority queue

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to priority-queue-dictionary

Javascript Datastructures Algorithms
📚 collection of JavaScript and TypeScript data structures and algorithms for education purposes. Source code bundle of JavaScript algorithms and data structures book
Stars: ✭ 3,221 (+4252.7%)
Mutual labels:  dictionary, priority-queue
Mlib
Library of generic and type safe containers in pure C language (C99 or C11) for a wide collection of container (comparable to the C++ STL).
Stars: ✭ 321 (+333.78%)
Mutual labels:  dictionary, priority-queue
Buckets Js
A complete, fully tested and documented data structure library written in pure JavaScript.
Stars: ✭ 1,128 (+1424.32%)
Mutual labels:  dictionary, priority-queue
super-workers
🐴 Distribute load on front-end via parallelism
Stars: ✭ 93 (+25.68%)
Mutual labels:  priority-queue
ZXDataHandle
简单易用的数据转换和存储框架,支持一行代码将模型、模型数组、Json字符串、字典互转;支持模型映射到sqlite3数据库,无需书写sql
Stars: ✭ 13 (-82.43%)
Mutual labels:  dictionary
pystardict
Library for manipulating StarDict dictionaries from within Python
Stars: ✭ 90 (+21.62%)
Mutual labels:  dictionary
dic-nico-intersection-pixiv
ニコニコ大百科とピクシブ百科事典の共通部分のIME辞書
Stars: ✭ 49 (-33.78%)
Mutual labels:  dictionary
ssh brute force
Crack SSH Password using Dictionary and Brute Force Method
Stars: ✭ 51 (-31.08%)
Mutual labels:  dictionary
EN-FA-CS-Dictionary
💬 An English-Persian Dictionary of Computer Science and Artificial Intelligence
Stars: ✭ 97 (+31.08%)
Mutual labels:  dictionary
korean-dict-nikl
국립국어원 사전 / FOSS Korean dictionary by National Institute of Korean Language
Stars: ✭ 71 (-4.05%)
Mutual labels:  dictionary
jyut-dict
A free, open-source, offline Cantonese Dictionary for Windows, Mac, and Linux. Qt, SQLite. C++ and Python.
Stars: ✭ 67 (-9.46%)
Mutual labels:  dictionary
rimerc
rimerc: rimer's dictionary & config
Stars: ✭ 228 (+208.11%)
Mutual labels:  dictionary
aot
Russian morphology for Java
Stars: ✭ 41 (-44.59%)
Mutual labels:  dictionary
xcdat
Fast compressed trie dictionary library
Stars: ✭ 51 (-31.08%)
Mutual labels:  dictionary
heap-js
Efficient Binary heap (priority queue, binary tree) data structure for JavaScript / TypeScript. Includes JavaScript methods, Python's heapq module methods, and Java's PriorityQueue methods.
Stars: ✭ 66 (-10.81%)
Mutual labels:  priority-queue
jmdict-simplified
JMdict, JMnedict, Kanjidic, KRADFILE/RADKFILE in JSON format
Stars: ✭ 96 (+29.73%)
Mutual labels:  dictionary
ctl
My variant of the C Template Library
Stars: ✭ 105 (+41.89%)
Mutual labels:  priority-queue
Advanced-Shortest-Paths-Algorithms
Java Code for Contraction Hierarchies Algorithm, A-Star Algorithm and Bidirectional Dijkstra Algorithm. Tested and Verified Code.
Stars: ✭ 63 (-14.86%)
Mutual labels:  priority-queue
Dictionary
A dictionary data type with a fast b-tree based search
Stars: ✭ 39 (-47.3%)
Mutual labels:  dictionary
bing dictionary
Bing comand line dictionary
Stars: ✭ 25 (-66.22%)
Mutual labels:  dictionary

Priority Queue Dictionary (pqdict)

A priority queue dictionary maps hashable objects (keys) to priority-determining values. It provides a hybrid dictionary/priority queue API.

Works with Python 2.7+, 3.4+, and PyPy.

CI Build State Documentation Status

The priority queue is implemented as a binary heap of (key, priority value) pairs, which supports:

  • O(1) search for the item with highest priority
  • O(log n) removal of the item with highest priority
  • O(log n) insertion of a new item

Additionally, an index maps elements to their location in the heap and is kept up to date as the heap is manipulated. As a result, pqdict also supports:

  • O(1) lookup of any item by key
  • O(log n) removal of any item
  • O(log n) updating of any item's priority level

Documentation

Documentation is available at http://pqdict.readthedocs.org/en/latest/.

License

This module is released under the MIT license. The augmented heap implementation was adapted from the heapq module in the Python standard library, which was written by Kevin O'Connor and augmented by Tim Peters and Raymond Hettinger.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].