Java を学ぶ
Java でプログラミングの基礎を学びます。各単元に実行できる例とほかの言語との違いがあります。
基礎
4 単元制御フロー
4 単元データ
5 単元関数
2 単元さらに先へ
10 単元- 16辞書(マップ)キーで値を探して更新する:単語を数える、あるか確かめる、キー順に回る。
- 17並べ替え(ソート)小さい順、大きい順、自分で決めた基準で並べる。
- 182次元リスト(グリッド)行と列のグリッド:読み込み、行の合計・列の合計、範囲内だけで隣のマスを見る。
- 19文字列の操作切り出し、検索、置換、前後の空白除去、比較、桁そろえ。
- 20整数と浮動小数点数0.1 + 0.2 が 0.3 にならない理由、小数の桁そろえ、丸めのルール、整数のオーバーフロー。
- 21再帰関数が自分自身を呼びます。基底条件、呼び出しスタックの深さ、ループとメモ化まで。
- 22よくある間違いとエラーメッセージエラーメッセージの読み方と、どの言語でも出る間違い:1 つずれ、= と ==、整数の割り算、null、範囲外の添字。
- 23絶対値・累乗・平方根符号を取る、何度も掛ける、2乗するとその数になる値を求める。
- 24数える・累計・グループ化一度たどりながら、条件に合うものを数え、ここまでの値を持ち歩き、キーごとにまとめます。
- 25レコードのリストと列挙型レコードをリストに集め、決まったいくつかの値には名前を付けます。
アルゴリズム
8 単元- 26シミュレーションと全探索話のとおりに一歩ずつ実行し、候補を一つも飛ばさずに試します。
- 27スタックとキュー後から入れたものを先に出すスタック、先に入れたものを先に出すキュー。
- 28二分探索整列された範囲を半分ずつ捨てて、値や、条件を最初に満たす位置を見つけます。
- 29累積和と尺取り法区間の和を引き算1回で求め、二つの位置を前にだけ動かして区間を探します。
- 30最大公約数・素数・進数余りで最大公約数を求め、篩で素数をふるい分け、数を別の進数で書きます。
- 31貪欲法と優先度付きキューその場でいちばん良さそうなものを選び、いちばん小さい値をすぐに渡してくれるキューを使います。
- 32グラフと深さ優先探索誰と誰がつながっているかを書きとめ、行ける所をもれなくたどります。
- 33幅優先探索とトポロジカルソートキューで近い所から広げて最少の歩数を求め、先にやることが前に来るように並べます。