はじめに 「円周率が3.05よりも大きいことを証明せよ」という問題は、 東大入試で出題されたことがある良問として有名だと思います。 自分はそれのよくある解法などは知らないのですが、 プログラムに計算させることで示すことができそうだったのでやってみ…
はじめに 前回の記事では、数の種類として3つの数を紹介しました。 人類が考えた順番に、自然数、整数、有理数を紹介しました。 ここまでは比較的に具体的で理解しやすかったと思います。 この記事では少し抽象的な無理数を紹介します。 実生活で役に立つか…
はじめに 今までのリストとは少し違うデータ構造がキューとスタックです。 リストに制限を加えることで高速に動作するように設計されています。 リストは静的配列から「便利にしたい」という思いで進化したデータ構造でしたが、 キューやスタックは「制限が…
はじめに 前回の記事では動的配列について解説しました。 動的配列はリストという抽象データ構造を実装したものの1つでした。 リストを実装したもう1つのデータ構造に連結リストです。 静的配列を使わず素朴なアイデアで設計されています。 動的配列との比較…
はじめに 前回の記事では動的配列とリストについて解説をしました。 しかしまだ動的配列に関しては詳しく説明していないので、 この記事では、動的配列がどのようなアイデアで作られているかを説明します。 動的配列のアイデア 動的配列は、静的配列をつかっ…
はじめに この記事では動的配列について解説を始めます。 動的配列は静的配列を少し便利にしたようなものになっています。 また動的配列を説明するにあたってリストについても説明します。 リストは抽象データ構造の一つで、プログラマの方には インターフェ…
はじめに 前回の記事では静的配列の基本的な情報について解説しました。 想定される操作とその計算量などです。 この記事では、もう少し踏み込んで静的配列の性質を確認していきます。 特定条件下での性能 配列をリストのように扱いたい場合、要素の挿入と削…
静的配列 目次 静的配列とは 各プログラミング言語での静的配列 想定される操作とその計算時間 さいごに 静的配列とは 同じ型の要素を複数保持することができるデータ構造のこと。 添え字(index)と呼ばれる先頭要素からの番号で要素を参照することができる。…
はじめに この記事では、データ構造の概要について説明いたします。 今後は色々なデータ構造について紹介していく予定です。 また、この記事の内容をまとめた動画をYoutubeに投稿しております。 よければそちらも確認してみてください。 youtu.be 目次 前提…
はじめに みなさんは生きていて色々な場面で数を扱う場面があると思います。 それは表計算ソフトの中であったり、学生だった頃の数学のノートの中であったり、様々だと思います。 例としていくつか書き出してみます。 1 2 3 0 -1 1.5 1/3 他にも色々思いつく…
概要 この記事では計算量の導出について紹介します。 オーダー記法シリーズの中でも最も面白く、知るべき内容だと思います。 この記事では特に線形探索と二分探索の計算量を導出します。 この2つの導出を見るだけでも、基本的なテクニックが詰まってますので…
概要 この記事では「オーダー記法」と「計算量の比較」について説明します。 また、記事の内容は動画でも紹介していますので、よければ確認してください。 youtu.be オーダー記法とは オーダー記法は計算量を数学的に記述する方法です。 まずは具体例から紹…
概要 ここでのオーダー記法は、アルゴリズムの性能(計算量)を評価するために使うものとします。 特に、あるアルゴリズムで問題を解く(計算する)際にかかる時間などの性能を表現できます。 ここからは、次のキーワードがでてきます。 もしまだご存知ない…
マンデルブロ集合を鑑賞するツールを作成した youtu.be 先日動画を公開しました。 マンデルブロ集合を鑑賞するツールを作成しました。 Unity や three.jsなどは使わずに、ゲームエンジン部分も自作です。 よかったら上記の動画も確認してみてください。 また…
機械式時計をUnityで再現した youtu.be 先日動画を公開しました。 シンプル目な機械式時計の内部にある、歯車と針の動きを再現しました。 歯車の動きの連鎖と、歯車の形の3Dモデルを自分で開発しました。 よかったら上記の動画の方も確認してみてください。 …