No.1ベストアンサー
- 回答日時:
コンピュタデータは、使うために集め、保管・記録するのです。
「使う」とはコンピュタにとっては、検索することです。いかに速く探せるかが、使えるかどうかの死命を制します。メモリやデータが存在しそうな記録メディア(HDなど)からメモリに読みこみ、望むデータが存在するアドレスを知るのに時間が掛かります。(1)メモリ上の望むデータのあるアドレスを知るための
時間
(2)HDの一部をメモリに読み、存在するか調べることを繰り返す時間
(3)最近は受け・送り届ける通信速度も重要です
のうち(2)が遅れの大半を占めます。
データは、ファイルという形でレコードを保存していますが、その対策のために「整頓」されていないと、しらみつぶしにHDを読みメモリ上で調べないといけなくて、速く探せない。
その「整頓のし方」が色々人類の知恵として考えられたものがあります。それがデータ構造です。
(1)番地計算型(配列、DOSランダムファイルなど
固定長)
(2)見出しを持つ型(ISAMなど)
(3)構造を持つ型(Bツリーなど)
(4)ハッシュ型
(5)キュー
(6)リンク型
もっと広く言えば、記録形態全般がデータ構造と言えるかもしれない。CD-ROMの記録方式、エクセルワードはどの様にメモリに展開したり、HD上に記録しているかなど)
昔はメモリが1メガもなく、メモリ上の作業場が狭かった。今は100メガ1ギガとかも使えて、メモリ上で1つづつレコードデータを虱潰しに判別しても時間を感じなくなって、素人プログラマなどがデータ構造を取り入れる必要性を感じなくなっているかもしれないが、どこまでメモリが広く使える時代になっても、適したデータ構造の大切さは衰えないでしょう。HD上の記録形式とメモリに読み込み後の構造がありますので念のため。
この回答へのお礼
お礼日時:2003/02/07 18:49
つまりはコンピューターの中の情報を
うまい具合に整理整頓する為の
キーワードとして解釈していいのですよね?
データ構造が勉強できるお勧めの本とかも
もしあれば教えてください。
ありがとうございました。
No.2
- 回答日時:
これから学ぶということであればまだぴんとくる必要はないかと思いますが、簡単に。
コンピュータは多量のデータを扱ってこそ真価を発揮するわけですが、ただ単にデータを寄せ集めた状態では効率的に扱えません。そこでどんなデータをどう使うかにあわせてうまく配置し、それらのデータ間のつながりをデータ自身に持たせたりして効率の向上を図るのです。これがデータ構造です。
配列は最も単純なデータ構造ですが、乱雑に配列に入っているよりは昇順に並んでいるほうがいい場合もあります。これは整列された配列というデータ構造になります。配列では途中のデータの削除や挿入に手間がかかったりデータ数に制限があったりしますが、連結リスト(あるいは単にリスト)という構造を使えばそれが解決できます。ところが、リストでn番目のデータがほしいというと、とたんに効率が悪くなります。
このように、どんなデータ構造があるかということだけでなく、そのデータ構造はどんな処理に向いているかなどもあわせて学んでいくことになると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
特定のデータの抽出方法を教え...
-
【エクセル】測定時間がバラバ...
-
vba ドロップダウンリストの図...
-
gridでデータ削除後に上へ1件...
-
EXCELVBAでSQLserverからデータ...
-
C# ソケット通信でデータ受信時...
-
VBA 空白セルを削除ではない方...
-
メモ帳(テキストデータ)をExc...
-
プログラミング python pandas ...
-
C# でDataTableの更新を高速化...
-
ACCESSからEXCELに出力する際、...
-
ページ数を求めたい
-
マクロで同じフォルダにある画...
-
配列でデータが入っている要素...
-
外部データの更新がうまくでき...
-
Accessで該当データにフラグを...
-
ビットシフトについて
-
アクセス2000で画像データ...
-
文字の上下反転処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
配列でデータが入っている要素...
-
VBA 円グラフ 特定条件に一致し...
-
メモ帳(テキストデータ)をExc...
-
EXCELVBAでSQLserverからデータ...
-
VBA 空白セルを削除ではない方...
-
S9タイプからXタイプにデータ...
-
ブレーカー落ちで壊れたりしな...
-
Accessで該当データにフラグを...
-
多量のSUMIF式を軽くしたい
-
エクセルで2つの時系列のデー...
-
VBAを使ってOutlookメール本文...
-
特定のデータの抽出方法を教え...
-
この行は既に別のテーブルに属...
-
カンマからスラッシュに
-
VBAでシートからコンボボックス...
-
GridViewの行の一部を複数行にする
-
ユーザーフォームのテキストボ...
-
<VB>String→Object
おすすめ情報