こんにちは。倉内です。
定番アルゴリズムと言われるもののひとつに「探索」があります。
探索を簡単に説明すると、配列やリストなどに格納された複数のデータの中から目的のデータがどこにあるかを探すことをいいます。
探索アルゴリズムにはさまざまな種類があり、データ量やデータの並んでいる順序などによって、より効率よく目的のデータを探せるものを採用するとよいでしょう。
今回は、プログラミングの練習問題を集めた「レベルアップ問題集」で公開している、「線形探索メニュー」を初めてアルゴリズムを学ぶ方でも分かりやすいよう動画で解説する講座が登場しましたのでご紹介します。
探索アルゴリズムとは
探索アルゴリズムについてもう少し知ってから学習を始めたい方は、以前に基本を説明した記事がありますので参考にしてみてください。
線形探索はもちろん、二分探索や幅優先探索、深さ優先探索についても説明しています。
こちらはPythonでの解説となります。
新・アルゴリズムとデータ構造入門 Java編2: 線形探索
学べる内容
チャプター02:線形探索とは
ここまでは探索と線形探索について概要を学ぶ内容になっています。
冒頭で探索には種類が多くあるとお伝えしましたが、線形探索のメリット・デメリットを知っておくと、今後他の探索アルゴリズムを学ぶときに違いが分かりやすいでしょう。
新・アルゴリズムとデータ構造入門 Java編2「02:線形探索とは」より
また、動画内では文章で理解が難しい部分を図で解説しているので「一度アルゴリズムの学習に挫折したことがある…」という方も学習が進みやすいと思います。
チャプター07:トップkの探索
チャプター03~07までは、問題集の問題をJavaで解説する内容となっています。さきに問題に挑戦して分からないときだけ動画を見たい場合は、各ページに問題集へのリンクもありますので参考にしてください。
新・アルゴリズムとデータ構造入門 Java編2「03:指定された値の個数」より
解答コードをだけを示すのではなく、あらかじめ問題理解と解答の方針を示してから取り組みます。
新・アルゴリズムとデータ構造入門 Java編2「03:指定された値の個数」より
paizaラーニングの動画講座は、左上に動画エリア・右上にコード入力エリアがある構成になっています。動画を見ながら実際にコードを書いて実行もできるので、確実にインプットとアウトプットができます。
探索アルゴリズムの問題を解ける問題集
上記の講座内で扱っている線形探索以外の問題集もご紹介します。難易度は、paizaのスキルチェックのS・A・B・C・D(Sがもっとも難しい)で示されています。
特に二分探索は「アルゴリズムを勉強するならここから」と言われるほど基本中の基本のものなので、ぜひ習得しておきましょう。
まとめ
paizaラーニングの新レッスン「新・アルゴリズムとデータ構造入門 Java編2: 線形探索」と、探索アルゴリズムの問題集をご紹介しました。
アルゴリズムに初めて触れる方は最初は難しく感じる部分もあるかもしれませんが、学習講座を活用して動画や図で具体的なイメージを持って理解していきましょう。
また、知識をインプットしただけでは、いざプログラミング問題を解くときに自分で書けないかもしれません。
実際にコードを書くことで力がついていきます。paizaは環境構築不要で、ブラウザ上で多くの言語を実行できるようになっていますので、ぜひたくさんコードを書いてみてください。
今回紹介した講座はJavaでの解説でしたが、Javaをこれから学んでみたいという方は、「Java体験編」「Java入門編」(一部無料)といったプログラミング言語の入門講座も公開しています。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら