计算机常用算法与程序设计教程 第2章 穷举与回溯.pptVIP

  • 10
  • 0
  • 约8.2千字
  • 约 32页
  • 2018-06-08 发布于河南
  • 举报

计算机常用算法与程序设计教程 第2章 穷举与回溯.ppt

计算机常用算法与程序设计教程 第2章 穷举与回溯

Visual FoxPro (2) 按项数循环设计 已知前2项,t循环从3开始递增1取值到指定的项数n。 第一项的值k从2开始递增取值,对每一个k取值,标记h=0赋值; 若k可由已有的项a(j),a(i) (ji)推得,即若k满足条件k=2*a[j]+3*a[i] 或 k=2*a[i]+3*a[j],说明k是a数列中的一项,赋值给a(t),同时标记h=1赋值。 对某项数t若h=0时,则t减1后循环,即对于原t使k增值后继续,直到达到规定项数n为止。 2.2.1 优选穷举对象 选择合适的穷举对象是穷举优化的首要条件。 【例2.4】 把一个6位整数分为前后两个3位数,若该数等于所分两个3位数和的平方,则称该数为6位分段和平方数。试求出所有6位分段和平方数。 (1) 对所有6位数穷举 (2) 对3位数穷举 2.2.2 优化穷举循环参量 优化穷举循环参量可减少无效循环,提高穷举效率。 【例2.6】 求解高斯八皇后问题。 在国际象棋的8×8方格的棋盘上如何放置8个皇后,使得这8个皇后不能相互攻击。 算法设计: 高斯八后问题的一个解用一个八位数表示,八位数解的第k个数字为j,表示棋盘上的第k行的第j格放置一个皇后。 两个皇后不允许处在同一横排,同一纵列,要求八位数中数字1—8各出现一次,不能重复。 因而解的范围区间应为87654321]。注意到数字1—8的任意一个

文档评论(0)

1亿VIP精品文档

相关文档