paiza times

paizaがお届けする、テック・キャリア・マネジメント領域における「今必要な情報」を届けるWebメディア

logo

paizaがお届けする、テック・キャリア・マネジメント領域の「今必要な情報」を届けるWebメディア

アルゴリズムとデータ構造入門に新講座追加 | 初心者でも連結リストを理解できる

paizaラーニング新・アルゴリズムとデータ構造入門 Java編に「新・アルゴリズムとデータ構造入門Java編11: 連結リスト」が追加されました。

新・アルゴリズムとデータ構造入門 Java編では、初心者でも動画レッスンと演習問題を通して、線形探索やO記法、ソートなどのアルゴリズムが学べます。

今回は、新・アルゴリズムとデータ構造入門Java編11: 連結リストの内容をご紹介します。

paizaラーニングについて詳しくはこちら
paizaラーニング

連結リストについて

連結リストは、複数の要素を格納できるデータ構造の一つです。

配列では要素が順番に並んでいましたが、連結リストでは要素と要素がつながって列になっています。連結リストでは、途中への要素の追加や削除が要素のつなぎ方を変えるだけで簡単にできるというメリットがあります。反面、メモリ上の要素の位置はバラバラなので、特定の要素を取得するには要素を一つずつたどっていく必要があります。

連結リストには、次の要素への参照だけを持つ単方向連結リストと次の要素と前の要素への参照をもつ双方向連結リストがあります。

単方向連結リストは実装が単純でメモリ効率もよいのですが、挿入や削除などの機能が少し使いにくくなっています。

逆に双方向連結リストは実装が複雑でメモリ効率はあまりよくないのですが、挿入や削除などの機能が使いやすいというメリットがあります。

それぞれの詳しい使い方や実装方法については、新・アルゴリズムとデータ構造入門 Java編10: スタック・キューで解説しています。

新・アルゴリズムとデータ構造入門Java編11: 連結リスト


01:連結リスト

まずは連結リストとは何かを学びます。

02:単方向連結リストの作成

次に単方向連結リストのデータ構造を実装します。

03:単方向連結リストに挿入機能を追加する

単方向連結リストに挿入機能を追加します。

04:単方向連結リストに削除機能を追加する

単方向連結リストからノードを削除する機能を追加します。

05:双方向連結リストの作成

双方向連結リストのデータ構造を実装します。

06:双方向連結リストに挿入機能を追加する

双方向連結リストに挿入機能を追加します。

07:双方向連結リストに削除機能を追加する

双方向連結リストからノードを削除する機能を追加します。

そのほか初心者でもアルゴリズムを学べるコンテンツ

スキルチェック問題

paizaでは、Java・PHP・Ruby・Python・C・C++・C#・JavaScriptなど、さまざまなプログラミング言語に対応したスキルチェック問題を公開しています。

問題を解くにはさまざまなアルゴリズムが必要となるため、初心者のアルゴリズム学習にも役立ちます。

paizaのスキルチェック

レベルアップ問題集

20211201105847

プログラミングの練習問題を集めた「レベルアップ問題集」も公開しています。

ソート、線形探索、木やグラフなどのアルゴリズムを試せる問題が多数あるため、さまざまなアルゴリズムの練習ができます。

paizaラーニングのアルゴリズム入門編

paizaラーニングの「アルゴリズム入門編」では、FizzBuzz、フィボナッチ数やハノイの塔といった、就職・転職時の技術面接でよく出るプログラミング問題のアルゴリズムを解説しています。

paizaラーニング





paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

詳しくはこちら

paizaラーニング

paizaのおすすめコンテンツ

CGC codemonster プログラミングゲーム「初恋プログラミング研究会 ~海に行こうよ~」 CGC codemonster プログラミングゲーム「コードモンスター大図鑑 プログラミングでゲットだぜ!」
paiza転職 paiza新卒 EN:TRY paizaラーニング 記事内に記載している情報は、記事公開時点でのものとなります。 Copyright Paiza, Inc, All rights reserved.