C#

C# 配列、リストへのランダムアクセスの速度

C#

配列を使った時とリストを使った時とで、 ランダムアクセスのスピードがどれくらい違うのかを調べてみた。長さ 5e7 の配列の 0 番目の要素を 5e7 回見るとき、 配列では、86 ms で、 リストでは、95 ms であった。 2割ぐらい違う。ボトルネックがランダムア…

C# リストの連結の測度

C#

リストを要素とするリスト List> の要素を 全て連結させて1つのリストを作りたい。 例えば、{{3,2},{1,0},{-1}} を {3,2,1,0,-1} にしたい。 作戦とは2つ。 2重ループを用いて、要素の要素を全てリストに突っ込む Concat 関数を用いて、for 文1回で IEnu…

C# GetEnumerable<T> の実装

C#

public class MyClass : IEnumerable { public IEnumerator<T> GetEnumerator() { yield return null; } IEnumerator IEnumerable.GetEnumerator() { return this.GetEnumerator(); } } のようにする。メソッド IEnumerable.GetEnumerator を入れることが、 個</t>…

C#でのメルセンヌツイスター

C#

C++マニアック,Mersenne Twister,メルセンヌ・ツイスタ,高性能擬似乱数発生器,C#ポート,Pseudo Random Number,csharp porting にコードがある。暇があるときにアルゴリズムを理解しないと。