スタックの入出力順序(カタラン数)
n個の要素を順にスタックにプッシュ・ポップして得られる出力順序の総数は、第n番目のカタラン数 C_n = (1/(n+1)) × (2n)! / (n! × n!) で求められます。n=3 のときは C_3 = (1/4) × 6! / (3! × 3!) = (1/4) × 20 = 5通りです。具体的には ABC, ACB, BAC, BCA, CBA の5通りが可能で、CAB のみ出力不可能です。 ア:3通りではありません。 イ:4通りではありません。 ウ:正しい。5通りの出力順序が可能です。 エ:3つの要素の順列は 3! = 6通りですが、Cを最初に出力した直後にAを出力する「CAB」はスタック構造上不可能なため、6 - 1 = 5通りとなります。
A,B,C の順序で入力されるデータがある。各データについてスタックへの挿入と取出しを 1 回ずつ行うことができる場合,データの出力順序は何通りあるか。
出典
令和7年度 春期 高度情報処理技術者試験 午前Ⅰ
ア
3
イ
4
ウ
5
エ
6
【正解・解説】スタックの入出力順序(カタラン数)|令和7春 高度情報処理技術者試験 午前Ⅰ | IT資格ラボ