组合_chapt4_16生成排列与组合.pptxVIP

  • 8
  • 0
  • 约2.46千字
  • 约 15页
  • 2017-02-03 发布于湖北
  • 举报
组合_chapt4_16生成排列与组合

组合数学第四章 生成排列和组合主要内容:1. 生成排列的邻位互换法2. 生成排列的逆序数法3. 生成组合的字典序法4. n阶Gray码要点: 生成算法和序号邻位互换法(p53-57)引子: 字典序法(例: 123456, 245136)要点: 每次只交换两个相邻数 遍历所有排列 且 不重复步骤: 先找到合适的次序, 再实现它方案: 假设k=n-1阶的次序已经设计好 n在n-1阶排列上穿插可得n阶的次序 分析: 相邻两排列邻位互换, 无重复, 无遗漏 计算25143的序号? 算法?n的移动(补充)初始: 排列为12…n, 每个数的方向都向左. {1,2,…,n}的邻位互换程序LH(n): 若 n的方向侧有邻居a, 则 a n 互换, 返回; 否则 执行LH(n-1), n的方向反向, 返回.递归算法(补充)初始: 排列为12…n, 每个数的方向都向左. {1,2,…,n}的邻位互换程序LH(k): 若 k的方向侧邻居ak, 则 a k 互换, 返回; 否则 执行LH(k-1), k的方向反向, 返回.定义: 若数k方向侧邻居ak, 则称k为活动数. 去掉递归: 找最大的活动数, 移动k后, 比k大的都反向去掉递归的邻位互换算法(p56)1. 初始排列为12…n, 每个数的方向都向左.2. 对于最大的活动数k, 交换k与其方向的邻居, 改变所有k的数的方向. 若还有活

文档评论(0)

1亿VIP精品文档

相关文档