CATEGORY

Programming

  • 2021年12月28日
  • 0件

【Python】フィボナッチ数列の生成【整数論】

はじめに Python でのフィボナッチ数列生成の実装例を紹介します。フィボナッチ数列とは、0, 1 から開始し、数列の最後の2項の和で次の項を作るような列です。 0, 1, 1, 2, 3, 5, 8, ・・・ と続きます。 Wikipedia フィボナッチ数 サンプルコード サンプルコードと実行 […]

  • 2021年12月26日
  • 0件

【Rust】素数の無限リスト【整数論】

はじめに Rust で素数の無限リスト生成を実装します。 素数とは、2以上の自然数で、他の数字で割り切ることができないような数を表します。ジェネレータクラスに Iterator Trait を実装することで、無限リストの生成を実現します。 Wikipedia 素数 サンプルコード 無限の素数リスト生 […]

  • 2021年12月26日
  • 0件

【Rust】挿入ソート【アルゴリズム】

挿入ソート Rust のアルゴリズムレシピとして挿入ソート紹介です。 Wikipedia 挿入ソート サンプルコード サンプルコードです。 i の位置の変数を一時保存するために Copy トレイトの制約を付けています。今回は i32 型なので問題ないですが、並び替え対象の型が重い場合は、処理速度に大 […]

  • 2021年12月25日
  • 0件

【Python】ctypes で Rust 関数を呼び出す【FFI】

はじめに Python のパッケージでは、高速化のために一部 C言語を利用しているものがあったりします。(numpy とか)でも今は C よりも Rust が人気なようなので、Rust の関数の呼び出し方を紹介します。 ctypes を利用した、最も原始的なやり方です。最近の技術を活用すると was […]

  • 2021年12月23日
  • 0件

【Elixir】素数の無限リスト【関数型】

はじめに 関数型言語の Elixir で素数の無限リスト生成を実装します。 素数とは、2以上の自然数で、他の数字で割り切ることができないような数を表します。Elixir では、Stream モジュールを利用することで、無限リストを遅延評価で生成することができます。 Wikipedia 素数 サンプル […]

  • 2021年12月19日
  • 0件

【Python】自動微分(フォワードモード)【数値解析】

はじめに Python での自動微分の実装例を紹介します。 ある関数 f(x) の計算をすると、その微分関数 f'(x) の数字を求めることができる、という手法です。 自動微分には、フォワードモードとリバースモードの2つのやり方があります。フォワードモードは演算子のオーバーロードで実装することができ […]

  • 2021年12月18日
  • 0件

【Python】二分法【数値解析】

はじめに Python での二分法の実装例を紹介します。 二分法は求根アルゴリズムの中で最もシンプルなものです。求根アルゴリズムとは、f(x) = 0 を満たす数式を与えて、x の値を反復で求める手法を言います。 Wikipedia 二分法 サンプルコード 二分法のサンプルコードです。サンプルの m […]

  • 2021年12月17日
  • 0件

【Python】素数の生成【整数論】

はじめに Python での素数ジェネレーターの実装例を紹介します。 素数とは、2以上の自然数で、他の数字で割り切ることができないような数を表します。Python の yield を利用して、無限素数列のジェネレーターを作成します。 Wikipedia 素数 サンプルコード サンプルコードと実行結果 […]

  • 2021年12月15日
  • 0件

【Python】クイックソート【アルゴリズム】

はじめに クイックソートの Python サンプルコードを紹介します。 実用として最もよく使われるソート手法です。 Wikipedia クイックソート サンプルコード サンプルコードの紹介です。 サンプルコード(副作用なし) もうひとつ副作用なし版サンプルコードの紹介です。インプットのリストを更新し […]

  • 2021年12月15日
  • 0件

【Python】マージソート【アルゴリズム】

はじめに マージソートの Python サンプルコードを紹介します。 Wikipedia マージソート サンプルコード サンプルコードの紹介です。merge_sort 関数を再帰的に呼び出すことで、まずは小さなリストから整列を行うようにしています。そして整列されたリスト同士をマージすることでソートを […]