hirosejn / HJN

TAT log Diver
https://hirosejn.github.io/HJN/dist/tatLogDiver.min.html
0 stars 0 forks source link

ヒープ機能追加 #55

Closed hirosejn closed 7 years ago

hirosejn commented 7 years ago
/**
 * Heap
 * 
 * @class
 * @name Heap
 * @memberof HJN.util
 * @classdesc ヒープ(二分ヒープ)
 *            <p>最小値(最大値)を効率よく取り出すことができるデータ構造
 *            <p>参考 {@link http://d.hatena.ne.jp/otaks/20121220/1355993039}
 * @param {func}
 *            [func=function(obj){ return +obj; }]
 *            pushで登録するオブジェクトからヒープの大小比較判定値を取り出す関数
 * @example h = HJN.util.Heap( function(obj){ return +obj; } ) 
 * h.push("12.34") // データを登録する 
 * h.push(0.12) // 
 * h.pop() // => 0.12 最小値のオブジェクトを取り出す
 * h.pop() // => "12.34" 
 * h.top() // =>undefined 最小値のオブジェクト 
 * h.size() // =>0 登録オブジェクト数
 */
HJN.util.Heap = (function() { // #55

参考 プライオリティキュー

hirosejn commented 6 years ago

二分木とHeapのサンプル(パイソン)