Pythonで実装するアルゴリズムとデータ構造
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造に書かれている内容をまとめながら,アルゴリズムに関してはPythonで実装していきたいと思います.
記事は内容を書き次第,随時更新していきます.
第1章
オンラインジャッジの使い方やサイトの活用方法に関して記載されているのみなので記事としては書きません.
AOJ(Aizu Online Judge)の問題を使用することもあると思うので,真似してみたい人は登録してみてください.
ちなみにAtcoderが初めてやる競技プログラミングとしてはおすすめです!
第2章
主に計算量に関する内容を学びます.
また,初めて競技プログラミングに触れる人向けの問題などを解くことができます.
対応する記事はこちらになります.
tech-shelf.hatenablog.com
第3章
基本的なアルゴリズムに関して学びます.
対応する記事はこちらになります.
tech-shelf.hatenablog.com
第4章
基本的なデータ構造に関して問題を通しながら学びます.
StackやQueueなどの理解をしたい方はこちらから
tech-shelf.hatenablog.com
少し応用的な問題を解きたい方はこちらから
tech-shelf.hatenablog.com
第5章
基本的な探索アルゴリズムを問題を通しながら学びます.
扱っているのは二分探索と線形探索になります.
tech-shelf.hatenablog.com
問題をどう解くか解説しているのはこちらになります.
tech-shelf.hatenablog.com
第6章
再帰と分割統治法に関して学びます.
再帰を使った全探索の方法に関して扱っています.
tech-shelf.hatenablog.com
再帰的な構造を持つフラクタル図形に関する問題を学んだ知識を用いて解いています.
tech-shelf.hatenablog.com
第7章
高等的ソートアルゴリズムに関して扱っています.
主に6章で学んだ知識を元にソートアルゴリズムの実装をしています.
マージソートに関しての実装は以下から
tech-shelf.hatenablog.com