学習3週目:アルゴリズムに苦戦した話

前回、ソートアルゴリズム(バブルソート・選択ソート)を整理しました。ここで一度、学習3週目を振り返っておきます。

目次

3週目にやったこと

3週目は、科目Aでメモリ階層・キャッシュメモリ、補助記憶装置(HDD・SSD)を進めつつ、科目Bでは関数(手続き)の定義、再帰処理、探索アルゴリズム(線形探索・二分探索)、ソートアルゴリズム(バブルソート・選択ソート)を進めました。

学習時間は、記録上ではおよそ16時間でした。週15時間の計画を初めて上回りましたが、これは時間を増やしたというより、科目Bに想定以上の時間がかかった結果です。

正直に言うと、苦戦しました

タイトルのとおり、この週は素直に「苦戦した」という一言に尽きます。関数・再帰処理あたりから、科目Bの負荷が一気に増えた感覚がありました。

特に再帰処理は、「関数が自分自身を呼び出す」という構造そのものが最初は飲み込めず、積み木のイメージに置き換えて、ようやく理解できたという状態でした。ソートアルゴリズムも、比較・入れ替えの回数が増えるにつれて、頭の中だけでは追いきれなくなり、結局すべて紙に書き出す必要がありました。

それでも分かったこと

苦戦はしたものの、収穫もありました。

  • 頭の中だけで完結させようとするから苦しくなる。書き出せば、意外と地道な作業
  • 「分からない」のほとんどは、「トレースの練習量が足りていない」だけだった
  • 1つの単元(再帰処理など)に時間をかけすぎても、翌日にはある程度定着している

科目Bは、才能やセンスの問題というより、単純にトレースの反復回数がものを言う分野なのだと、この週で実感しました。

3週目を終えての気づき

  • 科目Aは、身構えていた単元も含めて、順調にペースを保てている
  • 科目Bは、想定より時間がかかっているが、書き出す練習で着実に理解は進んでいる
  • 苦戦している実感があること自体は、悪いサインではないと捉えるようにしている

4週目に向けて

4週目からは、いよいよ過去問演習を本格的に始める予定です。科目Bにこれまでかけてきた時間が、実際の問題でどれだけ通用するのか、正直少し不安もありますが、まずは実力を測るつもりで取り組んでみようと思います。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次