アーカイブ 2020
29 件の記事
アルゴリズムとデータ構造 - バブルソート
アルゴリズムとデータ構造を学ぶシリーズの記事。比較ベースのソートであるバブルソートを取り上げ、隣り合う要素を交換していく仕組みとO(n²)の計算量を、Goでの実装例とともに解説する。
アルゴリズムとデータ構造 - ヒープソート
アルゴリズムとデータ構造を学ぶシリーズの記事。二分ヒープ木を使ってO(n log n)でソートするヒープソートを取り上げ、ヒープの構築やルートの取り出しの手順を、Goでの実装例とともに解説する。
アルゴリズムとデータ構造 - 挿入ソート
アルゴリズムとデータ構造を学ぶシリーズの記事。配列をソート済みと未ソートに分け、1要素ずつ並べていく挿入ソートを取り上げ、O(n²)の計算量とGoでの実装例をあわせて解説する。
アルゴリズムとデータ構造 - マージソート
アルゴリズムとデータ構造を学ぶシリーズの記事。分割統治法によるマージソートを取り上げ、最悪O(n log n)の計算量や、再帰的な分割とマージの手順を、Goでの実装例とともに解説する。
アルゴリズムとデータ構造 - クイックソート
クイックソートを解説。平均O(n log n)・最悪O(n²)の計算量、ピボット選択、low/highへの分割、ランダム化したGo実装を紹介します。
アルゴリズムとデータ構造 - 選択ソート
アルゴリズムとデータ構造を学ぶシリーズの記事。最小の要素を繰り返し探して所定の位置に入れ替える選択ソートを取り上げ、O(n²)の計算量とGoでの実装例をあわせて解説する。
GolangでgoblinというURLルーターを自作した
GoでURLルーターを自作した際の実装過程をまとめた記事です。トライ木というデータ構造を用いて、パスパラメータや正規表現によるマッチングに対応した高性能なURLルーター「goblin」を、設計の検討から実装まで順を追って解説します。
二分探索木(BST)とは|計算量とGoでの実装
二分探索木(BST)を解説。平均O(log n)の探索・挿入、DFS(先行順・中間順・後行順)とBFSによる走査を、GoでのBST実装例とともに紹介します。
アルゴリズムとデータ構造 - ヒープ
優先度付きキューを実現するmin-heap/max-heapの仕組みを解説。O(log n)の挿入・削除と、Goでのヒープ実装を紹介します。