超级经典的回溯算法,必须会
题目简述
给定一个整数n,将数字1~n排成一排,按照字典序将所有的排列输出。
输入格式
共一行,包含一个整数n。
输出格式
按字典序输出所有排列方案,每个方案占一行。
数据范围
1≤n≤9
输入样例:
3
输出样例:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
暴力枚举
上图是递归树。我们要枚举,递归都可以画一棵树。当我们到最后一层时候,即该排列所有位都枚举完,填上数字了,就输出并返回。否则我们要枚举该排列的枚举的位上应该填什么数。
经典的回溯算法,暴力枚举。 时间复杂度O(N!)