paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」の開発者が、プログラミングやITエンジニアの転職などについて書いています。

logo

ITエンジニア向け総合求人・学習サービス「paiza」の開発者が、プログラミングやITエンジニアの転職などについて書いています。

Javaで探索アルゴリズムを学ぼう!動画講座と問題集で初心者にも分かりやすく解説

f:id:paiza:20220414205543j:plain
f:id:paiza:20180910132940p:plainこんにちは。倉内です。

定番アルゴリズムと言われるもののひとつに「探索」があります。

探索を簡単に説明すると、配列やリストなどに格納された複数のデータの中から目的のデータがどこにあるかを探すことをいいます。

探索アルゴリズムにはさまざまな種類があり、データ量やデータの並んでいる順序などによって、より効率よく目的のデータを探せるものを採用するとよいでしょう。

今回は、プログラミングの練習問題を集めた「レベルアップ問題集」で公開している、「線形探索メニュー」を初めてアルゴリズムを学ぶ方でも分かりやすいよう動画で解説する講座が登場しましたのでご紹介します。

20220414185505

探索アルゴリズムとは

探索アルゴリズムについてもう少し知ってから学習を始めたい方は、以前に基本を説明した記事がありますので参考にしてみてください。

線形探索はもちろん、二分探索や幅優先探索、深さ優先探索についても説明しています。

こちらはPythonでの解説となります。

paiza.hatenablog.com

新・アルゴリズムとデータ構造入門 Java編2: 線形探索

学べる内容

チャプター01:探索とは

20220414192044

チャプター02:線形探索とは

20220414194022

ここまでは探索と線形探索について概要を学ぶ内容になっています。

冒頭で探索には種類が多くあるとお伝えしましたが、線形探索のメリット・デメリットを知っておくと、今後他の探索アルゴリズムを学ぶときに違いが分かりやすいでしょう。

f:id:paiza:20220414195004j:plain
新・アルゴリズムとデータ構造入門 Java編2「02:線形探索とは」より

また、動画内では文章で理解が難しい部分を図で解説しているので「一度アルゴリズムの学習に挫折したことがある…」という方も学習が進みやすいと思います。

チャプター03:指定された値の個数

20220414194411

チャプター04:指定された値の位置

20220414194455

チャプター05:特定の条件を満たす値の位置

20220414194504

チャプター06:最大値と最小値

20220414194540

チャプター07:トップkの探索

20220414194606

チャプター03~07までは、問題集の問題をJavaで解説する内容となっています。さきに問題に挑戦して分からないときだけ動画を見たい場合は、各ページに問題集へのリンクもありますので参考にしてください。

f:id:paiza:20220414195534j:plain
新・アルゴリズムとデータ構造入門 Java編2「03:指定された値の個数」より

解答コードをだけを示すのではなく、あらかじめ問題理解と解答の方針を示してから取り組みます。

f:id:paiza:20220414201156j:plain
新・アルゴリズムとデータ構造入門 Java編2「03:指定された値の個数」より

paizaラーニングの動画講座は、左上に動画エリア・右上にコード入力エリアがある構成になっています。動画を見ながら実際にコードを書いて実行もできるので、確実にインプットとアウトプットができます。

探索アルゴリズムの問題を解ける問題集

上記の講座内で扱っている線形探索以外の問題集もご紹介します。難易度は、paizaのスキルチェックのS・A・B・C・D(Sがもっとも難しい)で示されています。

特に二分探索は「アルゴリズムを勉強するならここから」と言われるほど基本中の基本のものなので、ぜひ習得しておきましょう。

線形探索メニュー

D~Cランク相当の比較的取りかかりやすい問題を集めてあります。

解答例・解説のある言語:Python3、C#、C++
20211201161324

二分探索メニュー

C~Bランク相当の問題セットと、Aランク相当の問題セットを用意しています。

解答例・解説のある言語:C++
20220301001313

幅優先探索・深さ優先探索メニュー

最終問題がAランク相当の問題セットを複数用意しています。難しい問題にチャレンジしたい方にもおすすめです。

解答例・解説のある言語:C++
20220323121746

まとめ

paizaラーニングの新レッスン「新・アルゴリズムとデータ構造入門 Java編2: 線形探索」と、探索アルゴリズムの問題集をご紹介しました。

アルゴリズムに初めて触れる方は最初は難しく感じる部分もあるかもしれませんが、学習講座を活用して動画や図で具体的なイメージを持って理解していきましょう。

また、知識をインプットしただけでは、いざプログラミング問題を解くときに自分で書けないかもしれません。

実際にコードを書くことで力がついていきます。paizaは環境構築不要で、ブラウザ上で多くの言語を実行できるようになっていますので、ぜひたくさんコードを書いてみてください。

今回紹介した講座はJavaでの解説でしたが、Javaをこれから学んでみたいという方は、「Java体験編」「Java入門編」(一部無料)といったプログラミング言語の入門講座も公開しています。

20210930174859





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

詳しくはこちら

paizaラーニング

そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

詳しくはこちら

paizaのスキルチェック

paizaのおすすめコンテンツ

Webセキュリティ入門 ハッカー入門 Webセキュリティ講座がスタート!CVは内田真礼さん! Python✕AI 機械学習入門講座 CVに上坂すみれさんを起用!人気の機械学習講座を公開中!
paiza転職 paiza新卒 EN:TRY paizaラーニング 記事内に記載している情報は、記事公開時点でのものとなります。 Copyright Paiza, Inc, All rights reserved.