タグ

mapに関するmasudaKのブックマーク (3)

  • STL風に使えるマップ型コンテナの紹介と性能比較 - Preferred Networks Research & Development

    最近スマートフォンに乗り換えました。徳永です。 C++は世に数あるプログラミング言語の中では比較的メモリをわない方ですが、それでもメモリ使用量が問題となる場合はあります。そのような場合の対処方法はいくつか有りますが、手軽に選択できる方法として、今日はSTLのmapやunordered_mapと同じ感じで使えるデータ構造をいくつか紹介したい思います。 以下、計算量の表記をする際には、要素数をnとします。 Loki::AssocVector LokiはModern C++ Designというの作者であるAndrei Alexandrescuが開発したライブラリです。AssocVectorはその中の一つとして提供されているクラスで、vector<pair<key, value> >という型のベクターをkeyでソートした状態で持つ事により、二分探索による要素の探索を可能にしたデータ構造です。こ

  • とりあえず知っておきたいMapの鉄則と周辺知識 - Kengo's blog

    わりと多種類で使い方に迷うJavaの連想配列(Map)について、各実装の紹介と周辺知識をまとめました。Javaに触れる際の参考になれば。 鉄則その1「とりあえずHashMapMapインタフェースの実装はたくさんありますが、まずはHashMapから使うことを勧めます。HashMapはハッシュテーブルというシンプルなアルゴリズムにもとづく実装であり、理論上はデータ量に関係なく一定の時間で挿入・参照・削除を行えることになっています*1。ヒープの消費が特にひどいということもありません。 鉄則その2「hashCode,equals,compareToを正しく実装」 キーとして使用するインスタンスはhashCodeメソッドやequalsメソッドを正しく実装しなければならないことに注意してください。正しく実装されないと「データ量に関わらず少ない時間で操作できる」という優位性を損なったり、そもそも期待

    とりあえず知っておきたいMapの鉄則と周辺知識 - Kengo's blog
  • Java Map クラスの違い HashMap Hashtable TreeMap LinkedHashMap

    このドキュメントの内容は、以下の通りです。 はじめに Map のクラス Map サンプルコード 実行結果 参考 はじめに Javajava.utilのクラスには、Mapがあります。JavaMapは、複数のクラスがあります。 Map のクラス Mapインターフェースを実装しているクラスはたくさんあるのでいくつかをピックアップします。 クラスによって、key=valueの並び順が変わるので、用途によって 使い分けます。 HashMap k=vの並びが適当 Hashtable keyが降順(数が大から小へ数えた順番)になる TreeMap keyが昇順(数が小から大へ)になる LinkedHashMap k=vを入れた順番に並ぶ Map サンプルコード HashMap,Hashtable,TreeMap,LinkedHashMapのクラスを比較してみます。 import java.util.

  • 1