【誰でもわかる基本情報シリーズ】20.「リスト構造」

プログラミング

みなさんこんにちは!おさかなです!

今回から「誰でもわかる基本情報シリーズ」というテーマで「基本情報技術者試験」に合格するための知識をご紹介していきます!

第20弾は「リスト構造」について、書いていこうと思います!

それでは、レッツゴー!!!!!

想定読者
・「基本情報技術者試験」を受験しようと思っている人
・「基本情報」に必要な知識を身に着けたい人
・IT初心者の人

前回の復習

前回は「配列」について学習していきました!

【誰でもわかる基本情報シリーズ】19.「配列」
【誰でもわかる基本情報シリーズ】第19弾!基本情報技術者試験の合格を目指す人に向けて、わかりやすく解説!今回は「配列」について学習していきます!プログラミングでもよく使わる単元だからしっかり押さえよう「おさかなび-osakanav-」では、「デジタル時代を楽しむためのミニ知識」をご紹介しています!ゆるいイラストが目印!

今回は「リスト構造」について学習していきましょう!

リスト構造

リスト」とは、「データ部」と「ポインタ部」で構成され、ポインタをたどることによって、データを取り出すことができる「データ構造」のことです。

「ポインタ部」には、次のデータや前のデータのアドレス(格納場所)が入っています。

リスト構造の種類

リスト構造にはポインタの指す方向によって、3種類に分類できます。
それぞれ見ていきましょう!

単方向リスト

次のデータへのポインタを1つだけもっているリスト構造

おさかな
おさかな

なんか「チェス」の「ポーン」っぽい!

 

双方向リスト

次のデータへのポインタのほかに、前へのデータのポインタももっているリスト構造

おさかな
おさかな

双方向リストは「ルーク」がピッタリ!

 

環状リスト

ポインタによって、データが感情に凍結されているリスト構造

おさかな
おさかな

こっちは「ナイト」かな??

 

 

ポインタのたどり方

今回は「単方向リスト」を例に、ポインタのたどり方を見ていきましょう!

”東京”がリストの先頭であり、そのポインタには次のデータアドレスが入っています。
また、”名古屋”はリストの最後であり、そのポインタには0が入っています。

先頭へのポインタ
10アドレス データ  ポインタ
10    東京   50
30    名古屋  0
50    新横浜  90
70    浜松   30
90    熱海   70
150     静岡
次のようにポインタによって連結しているイメージになります。
 10

10   東京   50

50   新横浜  90

90   熱海   70

70   浜松   30

30   名古屋  0150    静岡   ←  連結していない
ここで、アドレス150の”静岡”を、”熱海”と”浜松”の間に追加する場合は、”熱海”のポインタを150、”静岡”のポインタを70に変更します。
先頭へのポインタ
10アドレス データ  ポインタ
10    東京   50
30    名古屋  0
50    新横浜  90
70    浜松   30
90    熱海   150
150     静岡   70
追加後のリストは、次のようにポインタで連結しているイメージになります。
 10

10   東京   50

50   新横浜  90

90   熱海   150

150   静岡    70    ←  追加

70   浜松   30

30   名古屋  0
このように連結していることをイメージしやすいように配置しましたが、実際、「リスト構造」は、データのアドレス(格納場所)を変更しなくても、ポインタの値を変更するだけで、データを追加したり削除したりすることができます。

「配列」と「リスト」の違い

配列」と「リスト」はどちらもデータの順番と値を格納しますが、いくつが相違点があるので、見ていきましょう!

格納領域

・配列 … 連続領域・順番通り

・リスト … 非連続領域・非順番通りで可

総データ数

・配列 … 先に決定(無駄な領域も発生)

・リスト … 柔軟に変更可能

データ挿入削除

・配列 … 後ろのデータもずらす必要があり、処理時間大

・リスト … 前後のポインタのみ修正するので、処理時間小

データへのアクセス

・配列 … 添字ですぐにアクセスできる

・リスト … ポインタをたどるので遅い
おさかな
おさかな

しっかり復習しておこう!

おさかなが参考にした「書籍」一覧↓

(PDF・スマホ単語帳付)かんたん合格 基本情報技術者教科書 令和2年度

令和02年 イメージ&クレバー方式でよくわかる 栢木先生の基本情報技術者教室 情報処理技術者試験

キタミ式イラストIT塾 基本情報技術者 令和02年 (情報処理技術者試験)

令和02年【春期】【秋期】 基本情報技術者 合格教本

感想・まとめ

今回は「リスト構造」について、書いていきました…!

いかがだったでしょうか?

前回学習した「配列」との区別がきちんとできたでしょうか?

「リスト」では、主にリストの読み取りや、正しい順序を選ぶ問題などがよく出題される範囲なので、しっかりと復習して、回答できるようにしておきましょう!

おさかな
おさかな

4月19日に予定されていた、「基本情報技術者試験」およびIPA主催のその他の試験は中止となりました。
詳しくはコチラをご覧ください。

↓次回は「キューとスタック」について解説していきます!

【誰でもわかる基本情報シリーズ】21.「キューとスタック」
【誰でもわかる基本情報シリーズ】第21弾!基本情報技術者試験の合格を目指す人に向けて、わかりやすく解説!今回は、「キューとスタック」について学習していきます!データの取り出し方を詳しく学んでいきます。「おさかなび-osakanav-」では、「デジタル時代を楽しむためのミニ知識」をご紹介しています!ゆるいイラストが目印!

お楽しみに~!

おさかなびではプログラミング学習中の人、ブログ初心者に向けて、「デジタル時代を楽しむためのミニ知識」をご紹介しています!
ぜひ他のページも覗いてみてください…!

それでは今回はこの辺で!

ここまで読んでくださり、ありがとうございました!

おさかなでした!

【おさかなび-osakanav-】では、この記事の感想!おさかなへの応援メッセージ!おさかなに聞きたい事、質問!記事にしてほしい内容!などを大募集中!

「氏名」「メールアドレス」「内容」の3点をご記入の上「osakana1699@gmail.com」までご応募ください!

この記事は役に立ちましたか?

タイトルとURLをコピーしました