#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) }}

  • [正确]
  • [错误]