アルゴリズム

プログラミング

【C#】優先度付きキュー(二分ヒープ)をとにかく自力で実装しよう

C++とかPythonはいいよなぁー!! 言語仕様に元々あってさあ! C#にもあるけど競プロ用としてはちょっと使いにくいんだよねえ!! デフォルトで最小ヒープだしインスタンス化の引数が2個あるし。手っ取り早くスッと使わせてもらえない感じ。い...
プログラミング

【C#】BFS・DFSを実装する

BFS(幅優先探索)とDFS(深さ優先探索)を実装する力を身につけるための記事です。「概念は分かってんだよ」という人のためにそこの説明は軽くやっておしまいです。枝切り(枝刈り)探索についてはここでは扱いません。記事内のコードのバージョンはC...
プログラミング

【C#】順列全探索を実装する備忘録

順列全探索がどういうことなのか、やっっっっっと分かったぁー……。分からなすぎて放置してたら1年以上経ってた恐怖。というわけで備忘録。つまり、C++にあるnext_permutationのようなものを書ければいい。戻り値どうすんの型どうすんの...