タグ

ブックマーク / speedkumo.hatenadiary.org (1)

  • C++ 高速化 - speedkumoのプログラミング日記

    研究でC++でソフトウェアの開発を行っていますが データ量が少ない場合は速度はあまり、気にしなくていいのですが、 データ量が増えてくると、計算量などを意識して、高速化をする必要性を感じてきました。 自分は実装でSTLのmapやmultimapを使っているのですが、mapの検索の計算量がO(log n),multimapの計算量がO(nlogn)なのでここで、時間をっているのだと考えられます。 そのため、この部分の計算量を減らす方法を検討しました。 まず、STLのmapの計算量がlog(n)なのは、実装に二分木が用いられるためです。そのため、このmapの実装をhashで行ったら高速化されるのではないかと考えました。 詳しい説明は以下 BoostでC++0xのライブラリ「TR1」を先取りしよう (5) (1/2):CodeZine(コードジン) そこで、調べていくと、boostで計算量がO(

    C++ 高速化 - speedkumoのプログラミング日記
    yowano
    yowano 2013/09/05
    mapでは遅いと感じた時には、boostのunordered_mapがおすすめ。listのオーバーヘッドが大きいと感じた時には、C++0xに含まれるforward_listがおすすめ。
  • 1