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

円周率が3.05よりも多いことをプログラムで証明する

はじめに 「円周率が3.05よりも大きいことを証明せよ」という問題は、 東大入試で出題されたことがある良問として有名だと思います。 自分はそれのよくある解法などは知らないのですが、 プログラムに計算させることで示すことができそうだったのでやってみ…

2の平方根は分数で表すことができる?

はじめに 前回の記事では、数の種類として3つの数を紹介しました。 人類が考えた順番に、自然数、整数、有理数を紹介しました。 ここまでは比較的に具体的で理解しやすかったと思います。 この記事では少し抽象的な無理数を紹介します。 実生活で役に立つか…

データ構造 Part4「キュー」

はじめに 今までのリストとは少し違うデータ構造がキューとスタックです。 リストに制限を加えることで高速に動作するように設計されています。 リストは静的配列から「便利にしたい」という思いで進化したデータ構造でしたが、 キューやスタックは「制限が…

データ構造 Part3「連結リスト」

はじめに 前回の記事では動的配列について解説しました。 動的配列はリストという抽象データ構造を実装したものの1つでした。 リストを実装したもう1つのデータ構造に連結リストです。 静的配列を使わず素朴なアイデアで設計されています。 動的配列との比較…

データ構造 Part.2-2 「動的配列2」

はじめに 前回の記事では動的配列とリストについて解説をしました。 しかしまだ動的配列に関しては詳しく説明していないので、 この記事では、動的配列がどのようなアイデアで作られているかを説明します。 動的配列のアイデア 動的配列は、静的配列をつかっ…

データ構造 Part.2-1「動的配列とリスト」

はじめに この記事では動的配列について解説を始めます。 動的配列は静的配列を少し便利にしたようなものになっています。 また動的配列を説明するにあたってリストについても説明します。 リストは抽象データ構造の一つで、プログラマの方には インターフェ…

データ構造 Part1-2 「静的配列2」

はじめに 前回の記事では静的配列の基本的な情報について解説しました。 想定される操作とその計算量などです。 この記事では、もう少し踏み込んで静的配列の性質を確認していきます。 特定条件下での性能 配列をリストのように扱いたい場合、要素の挿入と削…

データ構造 Part.1-1 「静的配列」

静的配列 目次 静的配列とは 各プログラミング言語での静的配列 想定される操作とその計算時間 さいごに 静的配列とは 同じ型の要素を複数保持することができるデータ構造のこと。 添え字(index)と呼ばれる先頭要素からの番号で要素を参照することができる。…