データの表現 目的 パスカルの三角形を利用して組み合わせの計算をしたい 課題 位置が決れば、それから計算できる パスカルの三角形をどのように表現するか ? 値と位置の両方を表したい nCr と、「配列表現」p[n][r] を対応付ける 実現 二次元配列を使う方法(2010/12/3の課題1) 二次元配列 p[n][r] を nCr に対応させる 配列なのでサイズ固定 / 無駄が多い 一次元配列とポインター配列を使う方法(2010/12/3の課題2) 一次元配列 b[n*(n+1)/2+r] を nCr に対応させる ポインター配列 p[n] で p[n] == b + n*(n-1)/2 とする p[n][r] == b[n*(n+1)/2+r] が成立する事に注意 配列なのでサイズ固定 / 無駄はなくなった 配列を動的に確保する方法(2010/12/10の課題1) 配列の代わりに alloc/free を使う サイズも自由