カタツムリ2007年12月25日

「データーの整理術!ソート、ユニーク、インデックス」

マップデーターを作成するときに、
当時、アークシステムワークス木戸岡さんから教わった方法です。

これらは、ゲームの背景スクロールで、マップデーターなどに使われますが、基本的なことなので、皆さんに紹介したいと思います。

まず、N個のデーターがあれば、それを小さい順に並べ替えます。
次に、重複したデーターを省きます。
そして最後に、新しいインデックスをつけます。

では実際に数値で表現しますと、
「6、3、4、2、4」 と5個データーがあれば、
「2、3、4、4、6」 と小さい順に並べます(ソート)
「2、3、4、6」 重複している「4」を省くと、
新しいデーター要素は4つになります。

そしてインデックス、つまり索引データーは、
「0、1、2、2、3」となりますね。

つまりN個データーを、インデックス「索引」と要素の(新しいデーター)に分けるのです。
この結果では、データーが9個に増えてしまいますが、
これが大きなデーターになると、逆に圧縮できるのです。

例えば、同じようなパターンが連続するデーターの場合、
「1、2、1、2、1、3、1、5、1、3」 と10個データーは、
「1、2、1、3、1、5」 と6個の要素
「0、0、1、2、1」と5個のインデックス

まだまだ増えてしまいますが、
「1、2」や「1、3」などが出てくるとデーターが圧縮されることが分かると思います。

このようにデーターを圧縮する場合に、多用されていた技術ですが、
他にも、「索引」は、データーベースにも利用されています。

こちらはデーターの圧縮ではなく、読み込みスピードをUPさせる為ですが、
これらの手法は、コンピューターシステムだけではなく、みなさんの日常にも体験いますね。
例えば、書籍の目次や、スケジュール手帳、すべて見出し「インデックス」と内容「要素」の2つに分かれていますよね。

どうでしょうか?
データーの認識、データー扱い方について、さらに考え方が深まったと思いますが、
是非、このソート、ユニーク、インデックスを応用して下さい。
整理整頓は、日頃の作業スピードが向上しますよ!


ツイッターはじめました~フォロー待ってま~す!!
↓↓↓下記の3つのバナーをクリックして下さい。ランキングUPにご協力をお願いします。↓↓↓

にほんブログ村 経営ブログへランキングUP!

ランキングUP!

banner2.gif 人気blogランキング!

投稿者 shiozumi : 01:01 | トラックバック (0)

このエントリーのトラックバックURL

http://blog.e-smile.ne.jp/cgi-bin/mt/mt-tb.cgi/168