2014-01-01から1年間の記事一覧

PyQt5でさくっとGUIを作る

普段GUIを作成する場合はC++withQtで作成してます.実のところQtを使えば簡単にGUIが作成できるんですが,わざわざQtプロジェクトを作るのもあれだなーという時 にPython用のQtバインディングであるPyQt5を使うともっとお手軽にできるのではないかと思って試…

goのstructとinterface辺りのメモ

go

・ポインタはよしなにdereferenceしてくれる http://golang.org/ref/spec#Selectors http://play.golang.org/p/WtCuLsr824 package main type T0 struct { x int } func (recv *T0) M0(){ println("*T0:",recv.x) } type T1 struct { y int } func (recv T1)…

木を綺麗に描画するアルゴリズム

少し前に作ってそのままにしてたんですが,木(特に2分木)を綺麗に描画するかというアルゴリズムについて少し資料にまとめました. 木を綺麗に描画するアルゴリズム from mfumi スライドで紹介している reingold tilford アルゴリズムを実際にjavascriptで実…

IPSC2014 D問題について

昨日おこなわれたIPSC2014にひっそり参加していました.IPSCとはInternet Problem Solving Contestの略で,ひとくくりにいってしまえば競技プロコンですが,普通の競技プロコンと違って,単純なアルゴリズム系でない問題もでます. 僕はCとDを解いた(という…

CPythonのgrennlet(グリーンスレッド)の実装について

OSが管理するスレッドと違って,ユーザのプログラムによって管理されるスレッドのことをグリーンスレッドといいます.他にもマイクロスレッドとか軽量スレッドとかいったりすることもあるようです.ネイティブスレッド(OSが管理するスレッド)と比較したとき…

vimのconcealを使ってJavadocを奇麗に表示

この記事はVim Advent Calender 2013 118日目の記事です.VACは2011,2012と書いていたのですが気づいたらこんな時期になっていました.まぁまだ2013年度ですし何の問題もないですね.過去2回はよく分からないことを書いてしまったんですが今回は普通です. -…

Java8のラムダ式

最近ぼちぼちJavaをやり始めたところタイミング良くJava8がリリースされたので新機能であるラムダ式について少し見ていこうと思います. まず,Java8におけるラムダ式は一体何なのかというと,それはずばり抽象メソッドを一つだけ持つインタフェースのインス…

グラフ(ネットワーク)を奇麗に描画するアルゴリズム

グラフはノードと辺の集合から構成されているだけなので,その描画方法は任意です.例として,以下の3つのグラフはどれも同じです. グラフをどうやって奇麗に描画するかという研究は昔からおこなわれていて,そのうちの一つに力学モデルがあります(Wikipedi…

NetworkXによるスモールワールドネットワークの生成

NetworkXはpython製の複雑ネットワークのためのライブラリです.NetworkXを使うと,お手軽にグラフ構造が作成できます.平均経路長(2点のノード間の平均距離)やクラスタリング係数(隣接ノード同士が接続している割合)といったネットワークの特徴量を求める関…

PageRank 解説

web

Mining of Massive Datasetsというのを輪読していて、PageRankに関する部分のスライドを折角作ったのでslidshareに置いておきました。 最後のRでのPageRankの実装について補足をしておくと、Rで固有値を求める場合行列の全ての固有値・固有ベクトルを求めて…