私の仕事は、特定の開始スタックを特定の目標スタックに移動する最短の移動シーケンスを見つけるコードを作成することです。スタックがどのように始まるかを描いた本の元のリストと、必要な目標の順序を示す本の目標リストが与えられます。問題は、標準の並べ替えアルゴリズムが機能しないことです。本は、特定の論理ではなく、人の好みに基づいています。
質問で使用してほしいシステムは次のとおりです。スタック内のどこからでも本を1冊ずつ引き出し、スタックの一番上に置きます。したがって、本X、Y、およびZがある場合は、Yを引き出して、Y、X、Zの順序にすることを選択できます。
イニシャル:
'1984 - George Orwell'
'Moby Dick - Herman Melville'
'To Kill A Mockingbird - Harper Lee'
'Atlas Shrugged - Ayn Rand'
'The Black Cat - Edgar Allen Poe'
ゴール:
'Atlas Shrugged - Ayn Rand'
'To Kill A Mockingbird - Harper Lee'
'1984 - George Orwell'
'Moby Dick - Herman Melville'
'The Black Cat - Edgar Allen Poe'
これは宿題です。しかし、それは任務の目的を損なうので、私は私のためにそれをする人を探していません。どこから始めればよいかわからないので、始めるためのアイデアやヒントを探しています。
注:私はこれを宿題としてタグ付けするつもりでしたが、タグは明示的にそうしないと言っているので、私はしていません。これが間違っている場合は、私を訂正してください。