paizaラーニングの新・アルゴリズムとデータ構造入門 Java編に「新・アルゴリズムとデータ構造入門 Java編9: 二分探索」が追加されました。
新・アルゴリズムとデータ構造入門 Java編では、初心者でも動画レッスンと演習問題を通して、線形探索やO記法、ソートなどのアルゴリズムが学べます。
今回は、新・アルゴリズムとデータ構造入門 Java編9: 二分探索の内容をご紹介します。
paizaラーニングについて詳しくはこちら
二分探索について
二分探索は、まず探索範囲の右端と左端を変数で持ち、中央の値で条件を判定して、結果に応じて右端か左端の値を更新していくアルゴリズムです。
例えば、「100階建てのビルの何階までなら卵を落としても割れないか」について調べるとしましょう。
この場合、50階から卵を落とせば
- 割れなかった場合:50階より下の階では必ず割れない
- 割れた場合:50階より上の階では必ず割れる
となるため、残りの半分だけ探索すればよいということになります。
このように、範囲を半々に狭めながら探索していくのが二分探索です。
詳しい使い方は、新・アルゴリズムとデータ構造入門 Java編9: 二分探索で解説しています。
新・アルゴリズムとデータ構造入門 Java編に追加されたレッスンの内容
新・アルゴリズムとデータ構造入門 Java編9: 二分探索
01:二分探索
まずは、さまざまな処理を高速化するアルゴリズム「二分探索」の概要を学びます。
02:x 以上の個数
レベルアップ問題集「二分探索メニュー」の「lower_bound」を通して、テストに合格する生徒数の求め方を学びます。
03:範囲に含まれる個数
レベルアップ問題集「二分探索メニュー」の「ある範囲に含まれている整数の個数」を通して、特定の範囲に含まれる個数の求め方を学びます。
04:最大値を求める
レベルアップ問題集「二分探索メニュー」の「パイプを切り出そう」を通して、最大値の求め方を学びます。
05:平均の最大化
レベルアップ問題集「二分探索メニュー」の「効率よく盗もう」を通して、平均値を最大化する方法を学びます。
06:最小値の最大化
レベルアップ問題集「二分探索メニュー」の「太巻きを分けよう」を通して、最小値を最大化する方法を学びます。
07:数列の k 番目
レベルアップ問題集「二分探索メニュー」の「長い長い数列」を通して、数列の k 番目に来る値の求め方を学びます。
そのほか初心者でもアルゴリズムを学べるコンテンツ
レベルアップ問題集
プログラミングの練習問題を集めた「レベルアップ問題集」も公開しています。
ソート、線形探索、木やグラフなどのアルゴリズムを試せる問題が多数あるため、さまざまなアルゴリズムの練習ができます。
paizaラーニングのアルゴリズム入門編
paizaラーニングの「アルゴリズム入門編」では、FizzBuzz、フィボナッチ数やハノイの塔といった、就職・転職時の技術面接でよく出るプログラミング問題のアルゴリズムを解説しています。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら