Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

アルゴリズムの勉強をしたい

こんにちは。こんばんは。こんとらりあんと申します。

前回の記事を閲覧いただいた方はありがとうございます。
コメントやいいねなど、とても励みになります。

そんな私ですが、最近アルゴリズムの基礎を学びたいなと思っております。

というのも、この前atcoderの過去問で、無向グラフなるものが出ました。
解説などを読んでも全くピンと来ず、ほとんどの他の方も別解で解いていましたので、その場ではスルーしていました。
しかし、せっかくならそういう知識があったらいいんじゃないか?という欲もありまして、ほんの少しずつでいいので勉強したいなと思いました。
また、Pythonの勉強ついでに?基礎情報技術者資格を取ってもいいのかなと思いました。こちらにもアルゴリズムの知識が求められるということで、勉強するきっかけにもなりました。

さらに、今自分が取り組む問題の解き方はかなりパターンが少ないです。
実際そんなものかもしれないし、難易度のせいもあるかもしれませんが、違うアプローチを知ることも単純にそれを使える以上に役立つのではないのかなと思いました。

参考までに、今の自分のスペックを書いておきます。
使用言語Python
Atcoder灰色
現在ABの2完ができるようになってきたので、解く時間の短縮と今後C問題に取り組むつもり。
私文なので高校数学が危うい。←ここ大事。
(校内の文系の中では数学は出来た方だし、もともと数学は得意だったのだが、高校の偏差値が高いわけでもなく、、、)

というわけで、プログラミングがそこまでできるわけでも数学的な素養があるわけでもないです。
という前提のもとみなさまにアドバイスいただければと思います。

候補
以下のものはさらっと本屋で立ち読みしました。

①問題解決力を鍛える!アルゴリズムとデータ構造
これ、すごく人気らしいですね。
分かりやすかったけど、割と中盤くらいから難しそうだな??大丈夫かな?と感じました。

②Pythonではじめるアルゴリズム入門
これはPythonで書いてくれてるのがありがたい。あとは読みやすいとなんとなく感じた。

③問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本
これはおすすめされてたけど、なんか求めている内容とちょっと違うかなと感じました。
今度もう少し立ち読みしてみますが。

④アルゴリズムを、はじめよう
これはかなり読みやすそうでしたが、終盤まで既存知識かなと思ったので、これよりは難しい本をチョイスしたいかもしれません。
ただ基礎やそもそもの理解度を深めるためにはいいのかも??

⑤アルゴリズム図鑑-増補改訂版-絵で見てわかる33のアルゴリズム
一番図解だらけでアルゴリズムそのものの理解は深まりそう?
ただ、手を動かした方がいいかなとも思っており、各アルゴリズムのコードや例がなさそうなのは今ひとつかな?と思いました。

⑥競技プログラミングの鉄則
これはPythonのコードがGithubで使えるらしい。問題を解く際のネックがないのはいいかもしれません。

こんな本を買ってみようと思いますが、皆様のおすすめなどはありますでしょうか。

上には書きましたが、「アルゴリズムをはじめよう」、を立ち読みした時は終盤までそこまで難しく感じなかったので、これよりは難しいものにしようかなと思ってます。

一方で、そもそも、「お前にはアルゴリズムの勉強はまだ早い。他のことからやりなさい」という意見もあると思いますので、そちらについても遠慮なく教えていただければ幸いです。

よろしくお願いします。

0

2Answer

Comments

  1. @kouta0505

    Questioner

    @nak435 様 
    回答いただきありがとうございます。
    こちらについても取り組んでみようと思います!!
    現在は新しい順に過去問を解くか、こういったアルゴリズムや使う技術別に問題を解くか迷っているところです、、

  2. AtCoder Tagsというものがあります。

    分野別に難易度順で並んでいるので苦手な分野とか勉強したい分野で上から解いておくのがおすすめです。

Comments

  1. @kouta0505

    Questioner

    @jinbei230525 様、ありがとうございます。返信が遅くなりました。
    早速こちらについて拝見しました。
    ちょうど私にぴったりの難易度で、とても参考になりました。
    ありがとうございます!!

Your answer might help someone💌