スズメの本棚

自分の知識の定着のために本や実装したことをまとめていきます.

Pythonで木構造の問題を解いてみた

今回は木構造の問題を実際にpythonを使って解いてみました.木構造の基本的な使い方の問題,木構造の仕組みを利用した問題の二つを解いているので最近木に関して学び始めたという方,競技プログラミングで木構造を扱いたい方に向けています.

Pythonで木構造を実装してみた ~二分木と根付き木~

今回は競技プログラミングでよく見る木構造をpythonで実装してみました.木構造は探索アルゴリズムの基本となっていたりするので一度実装してみて作れるようになっておいた方がいいと感じました.今回の記事では木構造の仕組みから実際のコードと解説まで載…

Pythonで最小コストソート(Silly Sort)解いてみた

今回はソートをしながらその移動コストを最小限にするという最小コストソート(Silly Sort)を扱いました.問題の解き方を考えるのに苦労しましたが,実装はそこまで難しくなく競技プログラミングが好きな方にぜひ解いてもらいたい問題になっています.

pythonでバケットソートの実装してみた

今回はソートアルゴリズムの中でもメモリを確保することで要素をソートするバケットソートに関して扱いました.実装に関してはバケットソートの中でも計数ソートを用いて実装しています.メモリ数の確保に注意がいりますがpythonだとバケットソートは簡単に…

pythonでアルファベットのリストの出力

アルファベットのリストを使う機会が競技プログラミングの中であったので,自身のメモとしてリストでアルファベットを出力したい時の方法をまとめました.

pythonでクイックソートを実装してみた

ソートアルゴリズムの中でも最速と言われているクイックソートをpythonで実装しています.ソートアルゴリズムの処理に必要なピボットやパーティションの考え方・コード・図も用意しているのでクイックソートの仕組みをちゃんと理解したい人に向けています.

pythonでマージソートを実装してみた

今回はソートアルゴリズムの中でも今まで学んできたものよりも高速なアルゴリズムであるマージソートに関してpythonで実装していきました.これまで学んできた再帰関数の考え方や全体の処理の流れを抑えればそれほど苦戦せずに実装できると思います.また,マ…

再帰関数で作るフラクタル図形 ~コッホ曲線~

今回はフラクタル図形(コッホ曲線)を扱った問題から再帰関数に関して解説してきました.一度は皆さんみたことがあるであろう図形を扱った問題なので解いていて楽しかったです.今度,pythonでフラクタル図形を描くことにも挑戦してみたいと思います.

pythonで部分集合を探索する方法3選

pythonで部分集合を扱った問題を解くときどのような方法があるのかということを3つの解き方で紹介しました.実際にAtCoderの問題を解いたりしているので,部分集合を扱う問題がどんなものなのか,どうやって作るのか気になる方はチェックしてみてください!

pythonでリストの要素をスペース区切りで出力をしたい時(メモ)

pythonでリストの要素をスペース区切りで出力したい時,簡単に出力することができる方法を4つ紹介しています.競技プログラミングでは必須となる出力方法だと思うのでぜひ競技プログラミングに参加する時は使ってみてください