スズメの本棚

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

2020-01-01から1年間の記事一覧

プライバシーポリシー

目次 当サイトに掲載されている広告について 当サイトが使用しているアクセス解析ツールについて 免責事項 当サイトに掲載されている広告について 当サイトでは、第三者配信の広告サービスを利用しています。 このような広告配信事業者は、ユーザーの興味に…

お問い合わせ

読み込んでいます…

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

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

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

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

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

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

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

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

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

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

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

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

第三回 アルゴリズム実技検定に参加してみた

こんにちは,今回はAtCoder社が提供しているアルゴリズム実技検定が無料で開催されていたので受けてみた感想に関して話していきたいと思います. アルゴリズム実技検定とは アルゴリズムの実装力をエントリー,初級,中級,上級,エキスパートの5段階で評価…

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

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

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

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

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

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

組み合わせの列挙で学ぶ再帰関数

今回は競技プログラミングでよく扱われている全探索のプログラムを再帰関数を用いて解いていきました.再帰関数は実際に一回自分で作成してみないと動作が思い浮かばなかったりすると思うのでこれを機に一緒に作成してみましょう!

実装して学ぶ基本探索アルゴリズム ~二分探索の応用~

探索アルゴリズムを用いる必要がある実際の競技プログラミングの問題を二分探索を用いてどのように答えにたどり着くのか実際に実装しながらその解説までを載せています.探索アルゴリズムを実際に使った問題を解きたい方に向けています.

実装して学ぶ基本探索アルゴリズム ~線形探索と二分探索~

今回は基本的な探索アルゴリズムに関してその解説から実装までを扱いました.競技プログラミングでは配列の探索が頻出です.基本アルゴリズムでは解けないものも多いですが,二分探索などはよく扱われている問題なのでこれを機に一緒に実装できるようにしま…

実装して学ぶ基本データ構造~Stackの応用編~

前回記事で学んだStackの知識を応用した問題を実際に解いていきます.問題の解説・動作説明・実際の実装までを行なっています.競技プログラミングに慣れたい方一緒に解いてみませんか?

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

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

実装して学ぶ基本データ構造~StackとQueue編~

基本的データ構造のStackとQueueに関して実際にそのデータ構造を扱った逆ポーランド法やラウンドロビンスケジューリングを用いた演習問題を解きながら仕組みに関して理解できるように書いています.

シェルソートの実装

ソートアルゴリズムの中でも基本であるシェルソートに関して解説・実装しています.また,シェルソートの間隔の決め方などに関しても解説しています.

基本ソートアルゴリズム3つの実装

アルゴリズムを学ぶ上で,また,競技プログラミングを始める上で覚えておきたい基本ソートアルゴリズムである挿入ソート・バブルソート・選択ソートのPythonによる実装と解説

計算量の考え方

競技プログラミングを始める上で,考えなければいけないオーダーに関して簡単に紹介しています.計算量がどのように増えていくのか,計算量がなぜ重要なのかの理解を深めるために活用してください

Pythonで実装するアルゴリズムとデータ構造

競技プログラミングを勝つために必要な知識を身につけるための本である「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」を実際に実装しながら解説しています.このページでは対応している記事とを結びつけるためのtopページ的扱いで使用し…

今後に向けて

はじめまして 自分の技術や知識のアウトプットのためにブログをはじめました. 現在,大学院で研究をしながら,勉強などを進めています. 今後書いていきたい内容をここに書き留めておきます. プログラミング関連 アルゴリズムの実装 競技プログラミング 機…