30歳で競プロに目覚めた霊長類のブログ

チンパンジーと一般人のあいだ

スニペット

Pythonで各要素にO(1)でランダムアクセスできるdeque(両端キュー)を書いてみた

表題の通りなのですが、まず何が嬉しいかを説明します Pythonで、from collections import deque とすると、 deque モジュールが使えます これは、両端キューと呼ばれていて、両端の要素への追加や取り出しがいずれもでできるリストのようなものです これは…

Pythonでheapqから大きい順に取り出したいときにもバグらせにくいやつを書いた

表題の通りです。 お気持ちを説明すると、ご存知 heapq は優先度付きキューと呼ばれていて、適当に要素を追加したり取り出したりしても常に取り出す値は最小を保っている便利なやつです。 しかも追加・取り出しはともにO(logN)でとても実用的! しかし欠点が…