データ構造とは? わかりやすく解説

Weblio 辞書 > 固有名詞の種類 > 方式・規則 > 主義・方式 > 学問 > 学問 > データ構造の意味・解説 

データ構造

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/07/22 02:07 UTC 版)

ハッシュライフ」の記事における「データ構造」の解説

一般にライフゲームの(理論上の)フィールド無限に広い格子である。扱いやすさなどのために、多く場合、その格子点縦横整数付番し、原点すなわち (0, 0) の近く有限個の「生存セルによるパターンがあるものとし、残りの無限の部分を無限個の非生存セルとする。以上は理論的な観点からの話だが、実装では、生存しているセルがある付近十分にカバーできる情報があれば良いハッシュライフでは、1辺が2の冪乗個のセル正方形領域を、縦横それぞれ2等分する四分木構造再帰フィールド表現する。この時、その範囲内のフィールドの状態にもとづくハッシュ値キーにしたハッシュテーブル併用し、全く同じ状態のフィールドであれば四分木構造における部分木を共有する(すなわち、実際には木ではなくDAGとなっている)。このようなハッシュハッシュテーブル)を利用した効率化を図るものであることから、その名がある一般的なライフゲームアプリケーションソフトエンジンとして利用するには、全盤面1世代後を得る手続き実装する必要もあるが、少々煩雑な部分があるのでここでは省略する。以下で述べ高速化についても、概要のみとする。 ここで、木の深さ0で一辺が1セルとする。規則的再帰的四分木構造により、深さ1では一辺が2セル正方形深さ2では一辺が4セル……というようにして、深さkの木は一辺2k個のセルからなる22k個のセル正方形あらわしている(前述のように具体的にDAG実装する)。周辺との干渉があるから、「その領域全体未来の状態」のメモ化不可能である。1辺が4セルの時、その中央の2x2の領域1世先の状態については確定的なのでメモ化できる。そして、8x8の領域に対して中心4x4領域2世先の状態、16x16の領域に対して中心8x8の領域4世先の態というように、倍々で、より未来世代メモ化が可能であり、また、効率的に計算するともできるというのが急所である。一般に、木の深さkで、中心にある2k-1x2k-1個のセル正方形領域の2k-2世代先をメモ化できる。この「メモ」の範囲その未来世代は、ライフゲームの「光速」によって、その世代における結果確定的であることから、うまく機能するということ言えるハッシュライフ著し利点として、このメモ化利用により、例え動作数万世代超えるような巨大なパターンについて、何世代スキップさせつつ、その後結果のみを迅速に得ることができる。

※この「データ構造」の解説は、「ハッシュライフ」の解説の一部です。
「データ構造」を含む「ハッシュライフ」の記事については、「ハッシュライフ」の概要を参照ください。


データ構造

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/05/21 05:56 UTC 版)

隣接行列」の記事における「データ構造」の解説

隣接行列は、グラフ操作するためのコンピュータプログラムにおけるグラフ表現のためのデータ構造として使うことができる。この応用のためにも使われる主な代替データ構造は隣接リストである。 隣接行列中の各成分1ビットしか必要としないため、隣接行列は非常にコンパクトなやり方で表すことができ、有向グラフ表わすためにはわずか|V |2/8バイト無向グラフ表わすためには(パック三角形式を用い行列下部三角部分のみを格納することによって)わずか約 |V |2/16しか占めない。わずかにより簡潔な表現も可能であるものの、この方法は全てのn頂点グラフ表わすために必要な最小ビット数の情報理論下界近付く。テキストファイルグラフ格納するためには、全てのバイトテキスト文字であることを(例えBase64表現を使うことによって)保証するためにバイト毎により少なビットした使うことができない無駄な空間避けることに加えて、このコンパクトさは参照の局所性促すしかしながら大きなグラフ英語版)では、隣接リストのほうが必要とする格納空間小さい。これは、隣接リスト存在「しない」辺を表わすためのいかなる空間無駄にしないためである。 隣接行列の別形式(しかし、より大きな空間量を必要とする)は行列個々要素中の数を(辺が存在する時は)辺オブジェクトへのポインタあるいは(辺が存在しない時は)ヌルポインタ置き換えるまた、辺の重み隣接行列要素中に直接格納することも可能である。 空間トレードオフ加えて異なるデータ構造は異な操作をも容易にする。隣接リスト中の任意の頂点隣接する全ての頂点探すことはリストを読むのと同じぐらい単純であり、隣の数の比例した時間がかかる隣接行列を使うと、代わりに全行をスキャンなければならず、これはグラフ全体の中の頂点の数に比例したより長い時間がかかる一方任意の2つ頂点間に辺が存在するかどうか調べるのは隣接行列を使うと瞬時決定することができるのに対して隣接リストを使うと2つ頂点最小次数比例した時間要する

※この「データ構造」の解説は、「隣接行列」の解説の一部です。
「データ構造」を含む「隣接行列」の記事については、「隣接行列」の概要を参照ください。


データ構造

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/06 09:44 UTC 版)

データモデル」の記事における「データ構造」の解説

データ構造は、データ効率的に使えるようコンピュータ格納する1つ方法である。それは、データ数学的かつ論理的な概念1つ組織化である。しばしば、注意深く選ばれたデータ構造が、最も効率的なアルゴリズム利用を可能とする。データ構造の選択はしばしば、抽象データ型選択から始まる。 データ・モデルは、与えられドメイン内のデータ構造を、そのドメイン自身基盤をなす構造ほのめかすことによって、記述する。これは、そのドメイン専用人工言語専用文法を、実際に規定することを意味するデータモデルは、企業保持しようと望む情報、その情報属性、およびそれらのエンティティ間の関連と(時には暗示的に)それらの属性間の関連についての、エンティティクラス(ものの種類)を表現する。そのモデルは、どのようにデータコンピュータ・システム内で表現されるかにかかわらずいくらか広がりへのデータ組織記述するデータモデルによって表現されるエンティティは、触知可能なエンティティあり得るが、そのような具体的エンティティ・クラスを含むモデルは、時間越えて変化する傾向がある。堅牢なデータモデルは、しばしばそのようなエンティティ抽象概念認識する。たとえば、1つデータモデルが、ある組織関連する全ての人間を表す、「人材」と呼ばれるエンティティ・クラスを含むかもしれないそのような抽象エンティティクラスは、それらの人材によって演じられる特定の役割識別するベンダー」または「従業員」と呼ばれるより、一般に適切である。 配列 ハッシュテーブル 連結リスト スタック構造

※この「データ構造」の解説は、「データモデル」の解説の一部です。
「データ構造」を含む「データモデル」の記事については、「データモデル」の概要を参照ください。


データ構造

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/05/23 05:10 UTC 版)

GNU Octave」の記事における「データ構造」の解説

Octaveではユーザーがデータ構造をある程度定義できる。たとえばスカラー行列文字列変数を持つ構造体を以下のようにして定義できるoctave:1> x.a = 1; x.b = [1, 2; 3, 4]; x.c = "string";octave:2> x.aans = 1octave:3> x.bans = 1 2 3 4octave:4> x.cans = stringoctave:5> xx ={ a = 1 b = 1 2 3 4 c = string}

※この「データ構造」の解説は、「GNU Octave」の解説の一部です。
「データ構造」を含む「GNU Octave」の記事については、「GNU Octave」の概要を参照ください。


データ構造

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/13 15:44 UTC 版)

FIFO」の記事における「データ構造」の解説

キュー格納されデータの処理方法のひとつである。キュー上の各要素キューのデータ構造内に格納されるFIFOキューでは、最初に格納されデータが、(後で)最初に取出されると同時に削除される入出力格納取出し)は常にその順番行われる同義語としてLILOLast In Last Out)がある。これはキュー一般的な動作である。これの対称として、先入後出し後入れ先出し)の順序があり、スタックまたはLIFO参照されたい。 典型的なデータ構造は次のうになるstruct fifo_node { fifo_node *next; value_type value; }; class fifo { fifo_node *front; fifo_node *back; fifo_node dequeue(void) { fifo_node *tmp = front; front = front->next; return tmp; } queue(value) { fifo_node *tempNode = new fifo_node; tempNode->value = value; back->next = tempNode; back = tempNode; } } この例では、queue(value) で valueキュー格納されdequeue()キュー先頭データ取り出すようになっている

※この「データ構造」の解説は、「FIFO」の解説の一部です。
「データ構造」を含む「FIFO」の記事については、「FIFO」の概要を参照ください。


データ構造

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/19 14:30 UTC 版)

Icon」の記事における「データ構造」の解説

Iconリストテーブル型(連想配列)、集合レコード型構造体)など、多数のデータ構造を提供している。例えリストを得るには cat := ["muffins", "tabby", 2002, 8] などとすればよい。 ただし上記にないデータ構造も、配列スタックキューリストとの区別が無いだけであり、文字列 は文字型の配列として扱うので、これらのデータ構造の機能をもっていないというわけではない。 またIcon変数基本的にデータの型を宣言する必要が無いが、データ型存在しないというわけではなく、型推論が行われているだけである。このため上記のデータ構造を利用する場合使用前宣言を行う必要がある。この宣言代入文の形で行われる例え連想配列場合 t := table()t["abc"] := 1 となる。これは連想配列tを使用する前にt := table()によってtが連想配列であることを明記している。

※この「データ構造」の解説は、「Icon」の解説の一部です。
「データ構造」を含む「Icon」の記事については、「Icon」の概要を参照ください。


データ構造

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/04/10 06:42 UTC 版)

ビットプレーン」の記事における「データ構造」の解説

音声データ変位PCM化したデータや、ビットマップ画像輝度データ場合、元データ最上位ビット相当するビットプレーン全体データとしては最も重要であり、最下位ビット対応するビットプレーン最終的な音声輝度への影響が最も少ない。(画像データであればガンマ考慮などが本来は必要だが、ここではそういったものは全て無視するとして)一般に、あるビット比較してそのひと下位ビットによる影響は 1/2 である。 例えば、8ビットの値 10110101(十進では181)をビットプレーン分解する次のうになるビットプレーン寄与累積7 1 1 * 2^7 = 128 128 6 0 0 * 2^6 =0 128 5 1 1 * 2^5 = 32 160 4 1 1 * 2^4 = 16 176 3 0 0 * 2^3 = 0 176 2 1 1 * 2^2 = 4 180 1 0 0 * 2^1 = 0 180 0 1 1 * 2^0 = 1 181 (ここではLSB側を0としたが、MSB側を0とする場合もある)

※この「データ構造」の解説は、「ビットプレーン」の解説の一部です。
「データ構造」を含む「ビットプレーン」の記事については、「ビットプレーン」の概要を参照ください。


データ構造

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/04 14:58 UTC 版)

Apple event」の記事における「データ構造」の解説

Apple eventには属性パラメタという2種類情報格納される属性イベント役割記したものであり、パラメタイベント用いられるデータである。属性パラメタApple event複数格納でき、4バイトキャラクタのキーワードによって各項目が識別されるApple event属性には最低限対象プロセス」と「イベントクラス」と「イベントID」を特定する情報なくてはならない。イベントクラスとはイベントの内容おおまかに分類するものであり、イベントIDとはイベントクラスをさらに細かく分類するのであるApple event言葉例えるならば、対象プロセス話しかける相手、イベントクラスとイベントID動詞相当するものパラメタ名詞相当するものと言える。 イベントクラスには基本的な処理を扱うコアイベントクラスが定義されており、アプリケーション最低限次のようなイベントID対応することが推奨されている(注:コアイベントクラスのイベントID下記のほかにもある)。 kAEOpenApplication ('oapp') - アプリケーション起動する kAEQuitApplication ('quit') - アプリケーション終了する kAEOpenDocuments ('odoc') - 書類を開く kAEPrintDocuments ('pdoc') - 書類印刷する Apple eventによって扱われるデータは、すべてApple eventデスクリプタと呼ばれる構造格納されるApple eventデスクリプタには、データの種類識別する「デスクリプタタイプ」と、データ本体格納されるApple eventデスクリプタに格納できるデータの種類任意であるが、あらかじめ多くのデスクリプタタイプ(数値文字列ファイル参照オブジェクト指定子など)が定義されているほか、Apple eventデスクリプタはリスト配列)やレコード(4バイトキャラクタのキーワードによって項目が識別される連想配列)を格納したり、入れ子にもできる。プログラム扱われるApple event送信前のもの、受信したもの)も、レコード型Apple eventデスクリプタの派生型である。

※この「データ構造」の解説は、「Apple event」の解説の一部です。
「データ構造」を含む「Apple event」の記事については、「Apple event」の概要を参照ください。


データ構造

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/01/04 09:25 UTC 版)

Pure Data」の記事における「データ構造」の解説

Pd特筆すべき機能は、データ構造を視覚的に表現できることである。これには様々な応用考えられ作曲イベント順序付けから、視覚的な作品作ったり、Pd 自体GUI拡張したりできる。 Pure Data純粋なデータ)の名の通りPd のデータ構造は音楽データ静止画としても動画としても表現できるC言語構造体のように Pd のデータ構造は様々なデータ構成でき、データ構造の視覚化をデータ構造でパラメータ指定することで制御したり、Pdパッチ内でのメッセージ音声信号制御したりできる。Puckette は以下のように記している。 Pd はデータ構造とそのグラフィカル外観記述するために全く構造化されていない環境提供するよう設計されている。根底にある考え方は、ユーザー任意のデータ任意の見せ方で表示できるようにすることである。このためPd では C言語などとは全く異なる、データに形や色を与え視覚的なデータ構造を導入しユーザーデータ視覚的に編集できるようにした。データ内部編集することも、ファイルか読み込むことも、アルゴリズムによって生成することも、入力音声データ解析することで作成するともできる。— Miller PuckettePd Documentation Chapter 2 — 2.9. Data structures

※この「データ構造」の解説は、「Pure Data」の解説の一部です。
「データ構造」を含む「Pure Data」の記事については、「Pure Data」の概要を参照ください。


データ構造

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/17 06:20 UTC 版)

GLib」の記事における「データ構造」の解説

頻繁に利用されるデータ構造とそれに対す操作定義されている。以下に主なもの列挙する。 メモリチャンク 双方向および片方線形リスト 連想配列ハッシュテーブル方式実装可変長文字列 可変長配列 文字列チャンク文字列グループ動的配列 平衡2分探索木 N分木 quarks(文字列ユニークな整数識別子対応付けるもの) keyed data lists(文字列整数識別子アクセス可能なデータ要素群) リレーションタプル 構造体キャッシュ

※この「データ構造」の解説は、「GLib」の解説の一部です。
「データ構造」を含む「GLib」の記事については、「GLib」の概要を参照ください。

ウィキペディア小見出し辞書の「データ構造」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ




データ構造と同じ種類の言葉


固有名詞の分類

このページでは「ウィキペディア小見出し辞書」からデータ構造を検索した結果を表示しています。
Weblioに収録されているすべての辞書からデータ構造を検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からデータ構造 を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「データ構造」の関連用語

データ構造のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



データ構造のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのハッシュライフ (改訂履歴)、隣接行列 (改訂履歴)、データモデル (改訂履歴)、GNU Octave (改訂履歴)、FIFO (改訂履歴)、Icon (改訂履歴)、ビットプレーン (改訂履歴)、Apple event (改訂履歴)、Pure Data (改訂履歴)、GLib (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS