2003-07-19から1日間の記事一覧

size (length of a list)

関数プログラミングのテキストって、 末尾再帰はループに最適化可能と書いてる割りには、 例題のコードでは末尾再帰になっていない事が多い様な気がする。 # let null l = (l = );; val null : 'a list -> bool = (* 末尾再起で・・・ *) #let size l = let …

5つの事なる方法で実装してみる。 /* 手続き型。通常のループで */ int fib1(int num){ int a = 1, b = 0; while( num-- > 1 ){ a += b; b = a - b; } return b; } /* 2重再帰。一番遅い。 */ int fib2(int num){ if (num 再帰 */ int fib3_iter(int num, …