2013-08-15から1日間の記事一覧

観光:嵯峨野~嵐山

夏休みを利用して一人自転車で京都観光しました。場所は 妙心寺(みょうしんじ):広くてスピリチュアルでした。 竜安寺(りゅうあんじ):石庭をみていると落ち着いた気持ちになれました。 仁和寺(にんなじ) :庭が美しかったです。 嵐山渡月橋(あらしや…

Heapの実装~逆順~

RubyでHeapのデータ構造を実装します。 通常大きい値から取り出しますが、 今回は小さい値から取り出すHeapです。 変更点は比較演算子の向きだけです。 class Heap def push(array,elem) n = array.size array << elem while n != 0 i = (n-1) / 2 if (array…

添え字付き優先度付き待ち行列の実装

Rubyで添え字付き優先度付き待ち行列を実装します。 これは一般的にあるものではないかもしれませんが、 あれば便利なのではないかと思います。任意の要素とその優先度の二つを要素として 優先度順に任意の要素を取り出すという待ち行列です。 これもHeapを…

優先度付き待ち行列の実装

Rubyで優先度付き待ち行列を実装します。 Heapを利用することで容易にできます。 class PriorityQueue def initialize @pqueue = [] @heap = Heap.new() end def push(elem) @heap.push(@pqueue,elem) end def pop return @heap.pop(@pqueue) end end 実行し…