ll-package
Version:
2 lines (1 loc) • 1.3 kB
JavaScript
Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../../_virtual/dijkstra.js");(function(y){var u={single_source_shortest_paths:function(o,e,t){var r={},i={};i[e]=0;var n=u.PriorityQueue.make();n.push(e,0);for(var f,c,s,p,_,h,a,d,l;!n.empty();){f=n.pop(),c=f.value,p=f.cost,_=o[c]||{};for(s in _)_.hasOwnProperty(s)&&(h=_[s],a=p+h,d=i[s],l=typeof i[s]>"u",(l||d>a)&&(i[s]=a,n.push(s,a),r[s]=c))}if(typeof t<"u"&&typeof i[t]>"u"){var m=["Could not find a path from ",e," to ",t,"."].join("");throw new Error(m)}return r},extract_shortest_path_from_predecessor_list:function(o,e){for(var t=[],r=e;r;)t.push(r),o[r],r=o[r];return t.reverse(),t},find_path:function(o,e,t){var r=u.single_source_shortest_paths(o,e,t);return u.extract_shortest_path_from_predecessor_list(r,t)},PriorityQueue:{make:function(o){var e=u.PriorityQueue,t={},r;o=o||{};for(r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t.queue=[],t.sorter=o.sorter||e.default_sorter,t},default_sorter:function(o,e){return o.cost-e.cost},push:function(o,e){var t={value:o,cost:e};this.queue.push(t),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};y.exports=u})(v.__module);var j=v.__module.exports;exports.dijkstraExports=j;
;