プログラミング

Python

Singleton pattern in Python

『Java言語で学ぶデザインパターン入門第3版』をPythonで実装してみるシリーズ。 第4章の factory method パターンは特に書くことがないので飛ばして、第5章の singleton パターン。今回は『エキスパートPytho...
Python

Template method pattern in Python

『Java言語で学ぶデザインパターン入門第3版』をPythonで実装してみるシリーズ。 第3章の template method パターン。from abc import ABCMeta, abstractmethodfrom typing...
Python

Adapter pattern in Python

『Java言語で学ぶデザインパターン入門第3版』が出ていたので買ってみた。有名な本だけど、(増補改訂版は)古いし Java 詳しくないしで手を出していなかったんだけど、リニューアルされたんじゃあ買うしかない。著者のページ → というわけで、...
Rust

Rustでグラフ探索

『アルゴリズムとデータ構造』を Rust で実装してみるシリーズ。13章のグラフ探索。 深さ優先探索と幅優先探索、二部グラフ判定、トポロジカルソート、など。GitHub のリポジトリはこちら
Rust

Rustで各種ソートを実装する

『アルゴリズムとデータ構造』を Rust で実装してみるシリーズ。12章のソート。 挿入ソート、マージソート、クイックソート、ヒープソート、バケットソートを実装した。GitHub にリポジトリを作ったので、コードをこのブログに載せる意味はな...
Python

Iterator pattern in Python

『Java言語で学ぶデザインパターン入門第3版』をPythonで実装してみるシリーズ。第1章の iterator パターン。なんでこれを第1部デザインパターンに慣れるの一発目に入れたのか謎。from collections.abc impo...
Rust

RustでUnion-Find

『アルゴリズムとデータ構造』を Rust で実装してみるシリーズ。11章のUnion-Find。 use proconio::input;// Union-Findpub struct UnionFind { par: Vec<i64>, ...
Rust

Rustでヒープ

『アルゴリズムとデータ構造』を Rust で実装してみるシリーズ。10章のグラフと木。 今回は強平衡二分木の一種である二分ヒープを実装する。pub struct Heap { heap: Vec<i64>,}impl Heap { pub ...
Rust

Rustでグラフ

『アルゴリズムとデータ構造』を Rust で実装してみるシリーズ。10章のグラフと木。(有向/無向)グラフと(有向)重み付きグラフを実装する。use proconio::input;type Graph = Vec<Vec<usize>>;...
Rust

Rustでスタックとキュー

『アルゴリズムとデータ構造』を Rust で実装してみるシリーズ。9章のスタックとキュー。Rust のグローバルな変数は、制限が多く使いづらい。スタックはこんな感じ。const MAX: usize = 100_000; // スタック配列...