{"_id":"js-priority-queue","_rev":"32-1c432ba3f7634d3207e3ee04b15c4a7c","name":"js-priority-queue","description":"Priority queue data structures","dist-tags":{"latest":"0.1.5"},"versions":{"0.0.4":{"name":"js-priority-queue","version":"0.0.4","description":"Priority queue data structures","main":"priority-queue.js","scripts":{},"repository":{"type":"git","url":"https://github.com/adamhooper/js-priority-queue"},"keywords":["priority","queue","bheap","b-heap","binary","heap","dequeue","comparator"],"author":{"name":"Adam Hooper","email":"adam@adamhooper.com"},"license":"Public Domain","devDependencies":{"grunt":"~0.4.1","grunt-contrib-coffee":"~0.7.0","grunt-contrib-jasmine":"~0.5.1","grunt-template-jasmine-requirejs":"~0.1.3","grunt-requirejs":"~0.3.5"},"bugs":{"url":"https://github.com/adamhooper/js-priority-queue/issues"},"homepage":"https://github.com/adamhooper/js-priority-queue","_id":"js-priority-queue@0.0.4","dist":{"shasum":"d25c81f1945c80cd84559dee1617b5697d232e38","tarball":"https://registry.npmjs.org/js-priority-queue/-/js-priority-queue-0.0.4.tgz","integrity":"sha512-umopT7S6vQfUGn4AyF9J7xtnj89JaDUECNkSPci2+RiDoZ2yHpPGFpaHfofp5qpiihFZ6L8xpJPw1jEAbMI+GQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCER6wmOb7yNIzXFdpzj8waexc6BNEdm4+jAkkWIk4xtwIhAJP5+Sh4rLrSDhKF/5EbulHlQmx4/A50HV2H54QKHR3G"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"adamhooper","email":"adam@adamhooper.com"},"maintainers":[{"name":"adamhooper","email":"adam@adamhooper.com"}],"directories":{}},"0.0.5":{"name":"js-priority-queue","version":"0.0.5","description":"Priority queue data structures","main":"index.js","scripts":{},"repository":{"type":"git","url":"https://github.com/adamhooper/js-priority-queue"},"keywords":["priority","queue","bheap","b-heap","binary","heap","dequeue","comparator"],"author":{"name":"Adam Hooper","email":"adam@adamhooper.com"},"license":"Public Domain","devDependencies":{"grunt":"~0.4.1","grunt-contrib-coffee":"~0.7.0","grunt-contrib-jasmine":"~0.5.1","grunt-template-jasmine-requirejs":"~0.1.3","grunt-requirejs":"~0.3.5","amdefine":"~0.1.0"},"bugs":{"url":"https://github.com/adamhooper/js-priority-queue/issues"},"homepage":"https://github.com/adamhooper/js-priority-queue","_id":"js-priority-queue@0.0.5","dist":{"shasum":"bb84c66c994519b2f8af4c860cb8304513fdf24f","tarball":"https://registry.npmjs.org/js-priority-queue/-/js-priority-queue-0.0.5.tgz","integrity":"sha512-3ESCd9MNNkmPyhtvFAITll+1TW8CGI51PMNHMK6cWhXIE5O103XhSRj8WzU3GFsLM+j23GSTdHrvBfsM19S0Qw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGovA+y01bWyo/k/nLVlwHXQBgsX9Nb8HPNyCGaqCzywIgZJ9kUtyXyoT+R94yzeurztmAOg+dtpf/syLrsrNGktk="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"adamhooper","email":"adam@adamhooper.com"},"maintainers":[{"name":"adamhooper","email":"adam@adamhooper.com"}],"directories":{}},"0.0.6":{"name":"js-priority-queue","version":"0.0.6","description":"Priority queue data structures","main":"index.js","scripts":{},"repository":{"type":"git","url":"https://github.com/adamhooper/js-priority-queue"},"keywords":["priority","queue","bheap","b-heap","binary","heap","dequeue","comparator"],"author":{"name":"Adam Hooper","email":"adam@adamhooper.com"},"license":"Public Domain","devDependencies":{"grunt":"~0.4.1","grunt-contrib-coffee":"~0.7.0","grunt-contrib-jasmine":"~0.5.1","grunt-template-jasmine-requirejs":"~0.1.3","grunt-requirejs":"~0.3.5"},"dependencies":{"amdefine":"~0.1.0"},"bugs":{"url":"https://github.com/adamhooper/js-priority-queue/issues"},"homepage":"https://github.com/adamhooper/js-priority-queue","_id":"js-priority-queue@0.0.6","dist":{"shasum":"76e11debf504072caa2d83f6218f7496d39e0c71","tarball":"https://registry.npmjs.org/js-priority-queue/-/js-priority-queue-0.0.6.tgz","integrity":"sha512-yG0JZaMoL3PAlXICaSEK7C1xyiGPec91vz56W7qzb+4GafBxIIzMXsNJ49GPvO7bz8sif9qob27tZMUq1lgGuA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB/gO6Oy2BDjlWPTybwXo9BareHlKnYGwsKV64Yx99ohAiEAkNG7e5ys2ndNaBa/bPwB/XZLe1qij8F2QEbnLxxy9VY="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"adamhooper","email":"adam@adamhooper.com"},"maintainers":[{"name":"adamhooper","email":"adam@adamhooper.com"}],"directories":{}},"0.1.0":{"name":"js-priority-queue","version":"0.1.0","description":"Priority queue data structures","main":"index.js","scripts":{},"repository":{"type":"git","url":"https://github.com/adamhooper/js-priority-queue"},"keywords":["priority","queue","bheap","b-heap","binary","heap","dequeue","comparator"],"author":{"name":"Adam Hooper","email":"adam@adamhooper.com"},"license":"Public Domain","devDependencies":{"browserify":"~5.10.0","chai":"~1.9.1","coffeeify":"~0.7.0","gulp":"~3.8.7","gulp-coffee":"~2.1.1","gulp-mocha":"~1.0.0","gulp-rename":"~1.2.0","gulp-rimraf":"~0.1.0","gulp-uglify":"~0.3.1","gulp-util":"~3.0.0","karma":"~0.12.21","karma-browserifast":"~0.7.0","karma-chai":"~0.1.0","karma-mocha":"~0.1.7","karma-phantomjs-launcher":"~0.1.4","mocha":"~1.21.4","vinyl-source-stream":"~0.1.1"},"bugs":{"url":"https://github.com/adamhooper/js-priority-queue/issues"},"homepage":"https://github.com/adamhooper/js-priority-queue","_id":"js-priority-queue@0.1.0","dist":{"shasum":"90e9d60798cf3faab703a4f2d4bc6cd63f866fa5","tarball":"https://registry.npmjs.org/js-priority-queue/-/js-priority-queue-0.1.0.tgz","integrity":"sha512-DqwcHnUX8OpWh8r9Y6RqwLnLrhZ+qjFUxddR6FkWE9jrY76R6JnbzbAbvfe/m/MCW+xQSpRMfyfxJQCMPcFHsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG6falsUa2QNxtCyp3o92ZyWJHbmuM7yyyxOTZW+wcMtAiBImTJpNDcg+kczZH0o9xxDWeH3jtm7Hj4M/OLVfFP4cA=="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"adamhooper","email":"adam@adamhooper.com"},"maintainers":[{"name":"adamhooper","email":"adam@adamhooper.com"}],"directories":{}},"0.1.1":{"name":"js-priority-queue","version":"0.1.1","description":"Priority queue data structures","main":"priority-queue.js","scripts":{},"repository":{"type":"git","url":"https://github.com/adamhooper/js-priority-queue"},"keywords":["priority","queue","bheap","b-heap","binary","heap","dequeue","comparator"],"author":{"name":"Adam Hooper","email":"adam@adamhooper.com"},"license":"Public Domain","devDependencies":{"browserify":"~5.10.0","chai":"~1.9.1","coffeeify":"~0.7.0","gulp":"~3.8.7","gulp-coffee":"~2.1.1","gulp-mocha":"~1.0.0","gulp-rename":"~1.2.0","gulp-rimraf":"~0.1.0","gulp-uglify":"~0.3.1","gulp-util":"~3.0.0","karma":"~0.12.21","karma-browserifast":"~0.7.0","karma-chai":"~0.1.0","karma-mocha":"~0.1.7","karma-phantomjs-launcher":"~0.1.4","mocha":"~1.21.4","vinyl-source-stream":"~0.1.1"},"gitHead":"c4b10349081abc9617f100dfb57e77b239a1a041","bugs":{"url":"https://github.com/adamhooper/js-priority-queue/issues"},"homepage":"https://github.com/adamhooper/js-priority-queue","_id":"js-priority-queue@0.1.1","_shasum":"cc8b8ff8c16c40941e38c2a054cad1bc366fe320","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"adamhooper","email":"adam@adamhooper.com"},"maintainers":[{"name":"adamhooper","email":"adam@adamhooper.com"}],"dist":{"shasum":"cc8b8ff8c16c40941e38c2a054cad1bc366fe320","tarball":"https://registry.npmjs.org/js-priority-queue/-/js-priority-queue-0.1.1.tgz","integrity":"sha512-ziM2WIw5wFGQHnK6/GyubH9vZ2Umq+7sbQgC+6sMRGwQzti6UaqaYEa3pgAbfpUeEHq2oa1NMQmqwqCKyWf/vg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1BzcVtJxV/qpEJAMf/NLDRdw3uXczrOdVh/rjV30X7gIgOtssSIk1CQ9jMVtrX1oopSUQDoC/DdV4QIvEkA2o0DI="}]},"directories":{}},"0.1.2":{"name":"js-priority-queue","version":"0.1.2","description":"Priority queue data structures","main":"priority-queue.js","scripts":{},"repository":{"type":"git","url":"https://github.com/adamhooper/js-priority-queue"},"keywords":["priority","queue","bheap","b-heap","binary","heap","dequeue","comparator"],"author":{"name":"Adam Hooper","email":"adam@adamhooper.com"},"license":"Public Domain","devDependencies":{"browserify":"^11.0.0","chai":"^3.1.0","coffeeify":"^1.1.0","del":"^1.2.0","gulp":"^3.9.0","gulp-coffee":"^2.3.1","gulp-mocha":"^2.1.3","gulp-rename":"^1.2.2","gulp-uglify":"^1.2.0","gulp-util":"^3.0.6","karma":"^0.13.2","karma-browserify":"^4.2.1","karma-chai":"~0.1.0","karma-mocha":"^0.2.0","karma-phantomjs-launcher":"^0.2.0","mocha":"^2.2.5","phantomjs":"^1.9.17","vinyl-source-stream":"^1.1.0"},"gitHead":"1f57f91259856e0c48c3b64a149422b290563bb7","bugs":{"url":"https://github.com/adamhooper/js-priority-queue/issues"},"homepage":"https://github.com/adamhooper/js-priority-queue","_id":"js-priority-queue@0.1.2","_shasum":"cb41357da44cb72f1ee554a67dc98f54117b58a8","_from":".","_npmVersion":"2.11.2","_nodeVersion":"0.12.6","_npmUser":{"name":"adamhooper","email":"adam@adamhooper.com"},"maintainers":[{"name":"adamhooper","email":"adam@adamhooper.com"}],"dist":{"shasum":"cb41357da44cb72f1ee554a67dc98f54117b58a8","tarball":"https://registry.npmjs.org/js-priority-queue/-/js-priority-queue-0.1.2.tgz","integrity":"sha512-l7pCgwOQlP64EmFIJrOb6T6gM2Sc2H/G/qFdxRVqVKEDpz8/kdQL6ijN/e1f0xv7EDwJPeCkJYxxj2fVPPEGiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2cQ0qyCMA0LvrWSxdzFej3chHrNxMLISKpeTFfG9lXQIhAPOUTAHqU2QVOWgk+typ/9S1Tug9tQIyM+yVVNG9mUdO"}]},"directories":{}},"0.1.3":{"name":"js-priority-queue","version":"0.1.3","description":"Priority queue data structures","main":"priority-queue.js","scripts":{},"repository":{"type":"git","url":"git+https://github.com/adamhooper/js-priority-queue.git"},"keywords":["priority","queue","bheap","b-heap","binary","heap","dequeue","comparator"],"author":{"name":"Adam Hooper","email":"adam@adamhooper.com"},"license":"Public Domain","devDependencies":{"browserify":"^11.0.0","chai":"^3.1.0","coffee-script":"^1.10.0","coffeeify":"^1.1.0","del":"^1.2.0","gulp":"^3.9.0","gulp-coffee":"^2.3.1","gulp-mocha":"^2.1.3","gulp-rename":"^1.2.2","gulp-uglify":"^1.2.0","gulp-util":"^3.0.6","karma":"^0.13.2","karma-browserify":"^4.2.1","karma-chai":"~0.1.0","karma-mocha":"^0.2.0","karma-phantomjs-launcher":"^0.2.0","mocha":"^2.2.5","phantomjs":"^1.9.17","vinyl-source-stream":"^1.1.0"},"gitHead":"29dbb2b8e35d481d69126098b5978f9a905486f7","bugs":{"url":"https://github.com/adamhooper/js-priority-queue/issues"},"homepage":"https://github.com/adamhooper/js-priority-queue#readme","_id":"js-priority-queue@0.1.3","_shasum":"368f06d7cae95e6bccc52a6396e60c238042ce85","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"adamhooper","email":"adam@adamhooper.com"},"dist":{"shasum":"368f06d7cae95e6bccc52a6396e60c238042ce85","tarball":"https://registry.npmjs.org/js-priority-queue/-/js-priority-queue-0.1.3.tgz","integrity":"sha512-R7LzMkFMorEOXwlFKvkZw+LlDf/ZbLkjs4YbmQlWZjryMzMkXuD2BAngPdA5ncvq8OPATGSk0B2CQWwVpDg7ig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFPsIYodyDtCfB3a0H70ItjckEw9himGu4jLnFIttpKnAiEA6qcU3RAWdZcrRQ4jgRmCOlWVG+v8xP8B+N9pOTu7TpY="}]},"maintainers":[{"name":"adamhooper","email":"adam@adamhooper.com"}],"directories":{}},"0.1.4":{"name":"js-priority-queue","version":"0.1.4","description":"Priority queue data structures","main":"priority-queue.js","scripts":{},"repository":{"type":"git","url":"git+https://github.com/adamhooper/js-priority-queue.git"},"keywords":["priority","queue","bheap","b-heap","binary","heap","dequeue","comparator"],"author":{"name":"Adam Hooper","email":"adam@adamhooper.com"},"license":"Public Domain","devDependencies":{"browserify":"^11.0.0","chai":"^3.1.0","coffee-script":"^1.10.0","coffeeify":"^1.1.0","del":"^1.2.0","gulp":"^3.9.0","gulp-coffee":"^2.3.1","gulp-mocha":"^2.1.3","gulp-rename":"^1.2.2","gulp-uglify":"^1.2.0","gulp-util":"^3.0.6","karma":"^0.13.2","karma-browserify":"^4.2.1","karma-chai":"~0.1.0","karma-mocha":"^0.2.0","karma-phantomjs-launcher":"^0.2.0","mocha":"^2.2.5","phantomjs":"^1.9.17","vinyl-source-stream":"^1.1.0"},"gitHead":"027f21376b3a1c27b4917cd5d8325f8ec9d56f34","bugs":{"url":"https://github.com/adamhooper/js-priority-queue/issues"},"homepage":"https://github.com/adamhooper/js-priority-queue#readme","_id":"js-priority-queue@0.1.4","_shasum":"014037bf2051887d53820f3362a23d443267fafb","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.5.0","_npmUser":{"name":"adamhooper","email":"adam@adamhooper.com"},"dist":{"shasum":"014037bf2051887d53820f3362a23d443267fafb","tarball":"https://registry.npmjs.org/js-priority-queue/-/js-priority-queue-0.1.4.tgz","integrity":"sha512-sm1ZsSMfjiQIJA02cvdVQN8oCWSIuWBJrmfpfq911XhqAgAyLXyqL+iEnNIGOfNx8lahJTZ3ljaG4+Iy1O7Unw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAEYeO2sG+99Ig1WvrNzxQZ5EWk5E9JhIwmVCqYLmw+GAiBkNboIEbIG2NfIrAY9yNrxKbzP8e1pErVQZp3NBXZYiw=="}]},"maintainers":[{"name":"adamhooper","email":"adam@adamhooper.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/js-priority-queue-0.1.4.tgz_1454884817924_0.7496647608932108"},"directories":{}},"0.1.5":{"name":"js-priority-queue","version":"0.1.5","description":"Priority queue data structures","main":"priority-queue.js","scripts":{},"repository":{"type":"git","url":"git+https://github.com/adamhooper/js-priority-queue.git"},"keywords":["priority","queue","bheap","b-heap","binary","heap","dequeue","comparator"],"author":{"name":"Adam Hooper","email":"adam@adamhooper.com"},"license":"Public Domain","devDependencies":{"browserify":"^11.0.0","chai":"^3.1.0","coffee-script":"^1.10.0","coffeeify":"^1.1.0","del":"^1.2.0","gulp":"^3.9.0","gulp-coffee":"^2.3.1","gulp-derequire":"^2.1.0","gulp-mocha":"^2.1.3","gulp-rename":"^1.2.2","gulp-uglify":"^1.2.0","gulp-util":"^3.0.6","karma":"^0.13.2","karma-browserify":"^4.2.1","karma-chai":"~0.1.0","karma-mocha":"^0.2.0","karma-phantomjs-launcher":"^0.2.0","mocha":"^2.2.5","phantomjs":"^1.9.17","vinyl-source-stream":"^1.1.0"},"gitHead":"56be07ff717f7bce207f921a733ac264215fa387","bugs":{"url":"https://github.com/adamhooper/js-priority-queue/issues"},"homepage":"https://github.com/adamhooper/js-priority-queue#readme","_id":"js-priority-queue@0.1.5","_shasum":"f71e9b2120c91e8a1ddab3b7d347dac01d81e837","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.5.0","_npmUser":{"name":"adamhooper","email":"adam@adamhooper.com"},"dist":{"shasum":"f71e9b2120c91e8a1ddab3b7d347dac01d81e837","tarball":"https://registry.npmjs.org/js-priority-queue/-/js-priority-queue-0.1.5.tgz","integrity":"sha512-2dPmJT4GbXUpob7AZDR1wFMKz3Biy6oW69mwt5PTtdeoOgDin1i0p5gUV9k0LFeUxDpwkfr+JGMZDpcprjiY5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFD2kOTAvlu3dC/ZO7Q6sj3ofD5G2COAchZAdRsqMwHpAiAVCtZbmuqgGNhjmQ7Tk4Jcf+4D8a9nHOo564ZxYkTuYQ=="}]},"maintainers":[{"name":"adamhooper","email":"adam@adamhooper.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/js-priority-queue-0.1.5.tgz_1456148344874_0.9658997787628323"},"directories":{}}},"readme":"Priority Queue\n==============\n\nA priority queue is a data structure with these operations:\n\n| Operation | Syntax (js-priority-queue) | Description |\n| --------- | --- | ----------- |\n| Create | `var queue = new PriorityQueue();` | Creates a priority queue |\n| Queue | `queue.queue(value);` | Inserts a new value in the queue |\n| Length | `var length = queue.length;` | Returns the number of elements in the queue |\n| Peek | `var firstItem = queue.peek();` | Returns the smallest item in the queue and leaves the queue unchanged |\n| Dequeue | `var firstItem = queue.dequeue();` | Returns the smallest item in the queue and removes it from the queue |\n| Clear | `queue.clear();` | Removes all values from the queue |\n\nYou cannot access the data in any other way: you must dequeue or peek.\n\nWhy use this library? Two reasons:\n\n1. It's easier to use than an Array, and it's clearer.\n2. It can make your code execute more quickly.\n\nInstalling\n==========\n\nYou can `npm install js-priority-queue` or `bower install js-priority-queue`.\nAlternatively, just download `priority-queue.js` from this directory.\n\nInclude it through [RequireJS](http://requirejs.org/) or\n[Browserify](http://browserify.org). Or, to pollute your global scope, insert\nthis in your HTML:\n\n    <script src=\"priority-queue.js\"></script>\n\nThen write code like this:\n\n    var queue = new PriorityQueue({ comparator: function(a, b) { return b - a; }});\n    queue.queue(5);\n    queue.queue(3);\n    queue.queue(2);\n    var lowest = queue.dequeue(); // returns 5\n\nOptions\n=======\n\nHow exactly will these elements be ordered? Let's use the `comparator` option.\nThis is the argument we would pass to\n[Array.prototype.sort](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort):\n\n    var compareNumbers = function(a, b) { return a - b; };\n    var queue = new PriorityQueue({ comparator: compareNumbers });\n\nYou can also pass initial values, in any order. With lots of values, it's\nfaster to load them all at once than one at a time.\n\n    var queue = new PriorityQueue({ initialValues: [ 1, 2, 3 ] })\n\nStrategies\n==========\n\nWe can implement this with a regular `Array`. We'll keep it sorted inversely,\nso `queue.dequeue()` maps to `array.pop()`.\n\nBut with an `Array`, we'll need to `splice()`, which can affect every single\nelement in the array. An alternative is to create a\n[Binary Heap](http://en.wikipedia.org/wiki/Binary_heap), which writes far\nfewer array elements when queueing (though each element is written more slowly).\n\nFinally, we can use a [B-Heap](http://en.wikipedia.org/wiki/B-heap). It's like a\nbinary heap, except it orders elements such that during a single operation,\nwrites occur closer to each other in memory. Unfortunately, it's slower to\ncalculate where in memory each write should occur (it costs a function call\ninstead of a bit-shift). So while it's fast in theory, it's slower in practice.\n\nCreate the queues like this:\n\n    var queue = new PriorityQueue({ strategy: PriorityQueue.ArrayStrategy }); // Array\n    var queue = new PriorityQueue({ strategy: PriorityQueue.BinaryHeapStrategy }); // Default\n    var queue = new PriorityQueue({ strategy: PriorityQueue.BHeapStrategy }); // Slower\n\nYou'll see running times like this:\n\n| Operation | Array | Binary heap | B-Heap |\n| --------- | ----- | ----------- | -------------- |\n| Create | O(n lg n) | O(n) | O(n) |\n| Queue | O(n) (often slow) | O(lg n) (fast) | O(lg n) |\n| Peek | O(1) | O(1) | O(1) |\n| Dequeue | O(1) (fast) | O(lg n) | O(lg n) |\n\nAccording to [JsPerf](http://jsperf.com/js-priority-queue-queue-dequeue), the\nfastest strategy for most cases is `BinaryHeapStrategy`. Only use `ArrayStrategy`\nonly if you're queuing items in a very particular order. Don't use\n`BHeapStrategy`, except as a lesson in how sometimes miracles in one\nprogramming language aren't great in other languages.\n\nContributing\n============\n\n1. Fork this repository\n2. Run `npm install`\n3. Write the behavior you expect in `spec-coffee/`\n4. Edit files in `coffee/` until `gulp test` says you're done\n5. Run `gulp` to update `priority-queue.js` and `priority-queue.min.js`\n6. Submit a pull request\n\nLicense\n=======\n\nI, Adam Hooper, the sole author of this project, waive all my rights to it and\nrelease it under the [Public\nDomain](http://creativecommons.org/publicdomain/zero/1.0/). Do with it what you\nwill.\n","maintainers":[{"name":"adamhooper","email":"adam@adamhooper.com"}],"time":{"modified":"2022-06-19T05:41:13.084Z","created":"2014-02-03T17:39:59.165Z","0.0.4":"2014-02-03T17:40:02.782Z","0.0.5":"2014-06-26T14:35:32.735Z","0.0.6":"2014-06-26T14:37:22.912Z","0.1.0":"2014-08-18T13:06:15.244Z","0.1.1":"2014-10-20T12:42:16.753Z","0.1.2":"2015-07-17T22:25:22.579Z","0.1.3":"2015-10-06T13:15:04.239Z","0.1.4":"2016-02-07T22:40:20.707Z","0.1.5":"2016-02-22T13:39:09.870Z"},"readmeFilename":"README.md","author":{"name":"Adam Hooper","email":"adam@adamhooper.com"},"repository":{"type":"git","url":"git+https://github.com/adamhooper/js-priority-queue.git"},"homepage":"https://github.com/adamhooper/js-priority-queue#readme","keywords":["priority","queue","bheap","b-heap","binary","heap","dequeue","comparator"],"bugs":{"url":"https://github.com/adamhooper/js-priority-queue/issues"},"license":"Public Domain","users":{"ridermansb":true,"dcanizares":true}}