Advertisement

C++ 数据结构与算法系列:深入解析枚举技巧

阅读量:

目录

1、列举

1.1 列举方法的核心理念

1.2 列举结构形式

1.3 应用实例

(1)未采用优化列举 1000000次

(2)首次优化列举 59976次

(3)二次优化列举 576次

(4)三次优化列举 14次

1.4 列举方式的优劣分析

1.5 列举算法的改进策略

1.6、列举法编程实现要点


1、枚举

1.1 枚举法的基本思想

穷举法亦被称为枚举法,其核心在于全面列举所有潜在状态,并依据题目所设定的条件对这些状态进行筛选,以辨别出符合要求的状态与不符合要求的状态。

1.2 枚举结构

循环与判断语句的组合应用

令ai1表示状态变量ai的最小取值,aik则代表其最大取值(1≤i≤n),

即满足a11≤a1≤a1k,a21≤a2≤a2k,a31≤a3≤a3k,……,an1≤an≤ank的关系式。

依次执行以下循环操作:

for(a1=a11;a1≤a1k;a1++)

for(a2=a21;a2≤a2k;a2++)

……

for(ai=ai1;ai≤aik;ai++)

……

for(an=an1;an≤ank;an++)

当状态(a1,…,ai,…,an)符合预设的检验标准时,

则输出对应问题的解。

1.3 使用例子

百钱购百鸡
一只公鸡的价格为五元,母鸡每只三元,

全部评论 (0)

还没有任何评论哟~