paizaラーニングの新・アルゴリズムとデータ構造入門 Java編に「新・アルゴリズムとデータ構造入門Java編11: 連結リスト」が追加されました。
新・アルゴリズムとデータ構造入門 Java編では、初心者でも動画レッスンと演習問題を通して、線形探索やO記法、ソートなどのアルゴリズムが学べます。
今回は、新・アルゴリズムとデータ構造入門Java編11: 連結リストの内容をご紹介します。
paizaラーニングについて詳しくはこちら
連結リストについて
連結リストは、複数の要素を格納できるデータ構造の一つです。
配列では要素が順番に並んでいましたが、連結リストでは要素と要素がつながって列になっています。連結リストでは、途中への要素の追加や削除が要素のつなぎ方を変えるだけで簡単にできるというメリットがあります。反面、メモリ上の要素の位置はバラバラなので、特定の要素を取得するには要素を一つずつたどっていく必要があります。
連結リストには、次の要素への参照だけを持つ単方向連結リストと次の要素と前の要素への参照をもつ双方向連結リストがあります。
単方向連結リストは実装が単純でメモリ効率もよいのですが、挿入や削除などの機能が少し使いにくくなっています。
逆に双方向連結リストは実装が複雑でメモリ効率はあまりよくないのですが、挿入や削除などの機能が使いやすいというメリットがあります。
それぞれの詳しい使い方や実装方法については、新・アルゴリズムとデータ構造入門 Java編10: スタック・キューで解説しています。
新・アルゴリズムとデータ構造入門Java編11: 連結リスト
01:連結リスト
まずは連結リストとは何かを学びます。
02:単方向連結リストの作成
次に単方向連結リストのデータ構造を実装します。
03:単方向連結リストに挿入機能を追加する
単方向連結リストに挿入機能を追加します。
04:単方向連結リストに削除機能を追加する
単方向連結リストからノードを削除する機能を追加します。
05:双方向連結リストの作成
双方向連結リストのデータ構造を実装します。
06:双方向連結リストに挿入機能を追加する
双方向連結リストに挿入機能を追加します。
07:双方向連結リストに削除機能を追加する
双方向連結リストからノードを削除する機能を追加します。
そのほか初心者でもアルゴリズムを学べるコンテンツ
レベルアップ問題集
プログラミングの練習問題を集めた「レベルアップ問題集」も公開しています。
ソート、線形探索、木やグラフなどのアルゴリズムを試せる問題が多数あるため、さまざまなアルゴリズムの練習ができます。
paizaラーニングのアルゴリズム入門編
paizaラーニングの「アルゴリズム入門編」では、FizzBuzz、フィボナッチ数やハノイの塔といった、就職・転職時の技術面接でよく出るプログラミング問題のアルゴリズムを解説しています。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら