embryo

エンジニアの備忘録

アルゴリズム

再帰下降構文解析で電卓プログラムを実装する

パーサ入門として式解析の一つである再帰下降構文解析をTypescriptで実装してみたのでまとめました。 構文解析の基礎 構文解析入門にあたって基本的な語句を整理します。 構文図 構文の規則を図式化したもの。構文の構成要素とその関係性を図式で表します。 …

LU分解を実装してみた

今日は連立方程式の解法などに用いられるLU分解についてです。 LU分解とは とある正方行列Aに対して以下のような等式が成り立つ場合を考えます。 このとき A を L(下三角行列)とU(上三角行列)に分解すると三角化された行列の計算を2回行えば 解を得られるこ…

es6でカスタムイテレータを作る (Iterator, Iterable, Generator)

今日はes6の仕様であるIterator、Iterableについてです。仕様を調べつつ実装して挙動を確かめていきます。 Iterator 一連の処理中において現在の処理位置を把握しつつ、コレクション中の項目へ一つずつアクセスする方法を指します。es6においては下記のnext…