プログラミング

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; // スタック配列...
Rust

Rustで再帰関数 (4)

『アルゴリズムとデータ構造』を Rust で実装してみるシリーズ。4章の再帰と分割統治法。 前回 → 今回は 部分和問題。use proconio::input;fn input(use_default_values: bool) -> (...
Rust

Rustで再帰関数 (3)

『アルゴリズムとデータ構造』を Rust で実装してみるシリーズ。4章の再帰と分割統治法。 前回 → 今回はフィボナッチ数列。use proconio::input;fn input(use_default_values: bool) ->...