#z58. 回溯-全排列-客观题
回溯-全排列-客观题
{{ 回溯算法的核心思想是以下哪一项? }} {{ select(1) }}
- [A] 分而治之,将大问题分解为子问题
- [B] 尝试所有可能的解,遇到错误则回退重新选择
- [C] 贪心选择,每次选最优解
- [D] 动态规划,存储中间结果
[实现数字全排列的必要元素]
{{ 以下哪个选项不是实现数字全排列的必要元素? }} {{ select(2) }}
- [A] 递归函数
- [B] 标记数组记录已使用数字
- [C] 动态规划表
- [D] 结果存储容器
[全排列回溯函数的参数]
{{ 在全排列回溯函数中,参数通常不包括以下哪一项? }} {{ select(3) }}
- [A] 当前排列结果
- [B] 数字范围
- [C] 已使用数字标记
- [D] 排序规则
[1-3数字全排列的数量]
{{ 实现1-3这三个数字的全排列时,总共有多少种不同的排列? }} {{ select(4) }}
- [A] 3
- [B] 6
- [C] 9
- [D] 12
[回溯算法中剪枝的说法]
{{ 以下关于回溯算法中"剪枝"的说法,正确的是哪一项? }} {{ select(5) }}
- [A] 剪枝会增加算法时间复杂度
- [B] 剪枝是指删除已探索的无效路径
- [C] 全排列问题不需要剪枝
- [D] 剪枝会降低算法效率
[全排列标记数组的数据类型]
{{ 在C++中,实现全排列时常用的标记数组数据类型是哪一个? }} {{ select(6) }}
- [A]
char used[10] - [B]
bool used[10] - [C]
int used[10] - [D]
string used[10]
[全排列递归函数的终止条件]
{{ 全排列递归函数的终止条件通常是以下哪一项? }} {{ select(7) }}
- [A] 排列长度达到数字个数
- [B] 所有数字都被使用
- [C] 排列结果已排序
- [D] A和B都是
[全排列中交换元素的操作]
{{ 以下哪个选项中的运算符/函数在全排列回溯中常用作交换元素? }} {{ select(8) }}
- [A]
+ - [B]
- - [C]
= - [D]
swap()
[回溯算法的实现方式]
{{ 回溯算法只能用递归实现,不能用迭代实现。这个说法是否正确? }} {{ select(9) }}
- [正确]
- [错误]
[全排列的相同排列判断]
{{ 在全排列中,数字1,2,3的排列[1,2,3]和[3,2,1]被视为相同排列。这个说法是否正确? }} {{ select(10) }}
- [正确]
- [错误]
[全排列的排列数计算]
{{ 对于n个不同的数字,它们的全排列数量是n!种。这个说法是否正确? }} {{ select(11) }}
- [正确]
- [错误]