创建算法以确定功率集中的子集的大小
Creating algorithms to determine the size of subsets in a power set
我在为此分配创建算法时遇到困难。如果我能得到一些在第一个算法上开始的提示,我会很感激。
该分配的目标是实现和比较各种算法,以计算给定集的每个可能大小的子集数量。请记住,具有N元素的集合具有2^n子集。其中两种算法将用于实际生成子集。您的程序将有能力要求用户选择选择,直到他/她希望退出为止。允许为您的程序提供GUI,但不需要。选择应允许以下内容:
- 运行一种算法,该算法是基于计数所有2^n整数从0开始的工作(您可能无法使用C/C /Java INT数据类型)并确定与每个数字相对应的子集的大小。该算法必须以某种方式使用整数除法和模量。它需要返回一个数组,保留每个可能大小的子集的数量。显示每个可能大小的子集的数量。n的值将由用户输入确定。应在n。 上执行错误检查
运行一种算法,该算法是基于计数所有2^n从0开始的全数字(您可能无法使用C/C /Java Int数据类型)并确定子集的大小与对应于每个数字。该算法必须以某种方式使用比特级操作(逻辑和移动)。它需要返回一个数组,保留每个可能大小的子集的数量。显示每个可能大小的子集的数量。n的值将由用户输入确定。错误检查应在n。
上执行错误运行一种算法,该算法对于0和n之间的所有k的值生成C(N,K),其中N由用户输入确定。该算法需要利用递归阶乘功能。它需要返回一个数组,保留每个可能大小的子集的数量。显示每个可能大小的子集的数量。错误检查应在n。
上执行错误运行一种算法,该算法对于0和n之间的所有k的值生成C(N,K),其中N由用户输入确定。该算法需要使用迭代阶乘算法。它需要返回一个数组,保留每个可能大小的子集的数量。显示每个可能大小的子集的数量。错误检查应在n。
上执行错误
我看到您的所有问题都是关于一个主题的:递归回溯。
生成集合S的功率集:
function rec( i )
if i == S.length
print choocen elements of S
return
else
do not chooce element i of S
rec(i + 1)
choose element i of S
rec(i + 1)
一旦您了解递归的概念,C(n, k)
的问题就相似。我不会为您的作业提供解决方案:)
相关文章:
- 如何从存储在std::映射中的std::集中删除元素
- 给定一个向量,如何找到该向量的所有子集和的原始索引
- 将非平凡的项目放在多集中
- 在子集化后将包含索引号的列表列表映射到标准索引序列
- 显示字符串的集合和子集
- 我是否不正确地集中了这些字符数组?
- 用于子集字符串的 Rcpp 函数
- 为什么我的子集和方法不正确?
- 如何从 x64 程序集中的堆栈中获取参数?
- 计算总和为 x 的所有整数子集(包括负数)
- 需要循环帮助以迭代方式添加到程序集中的总和变量
- 在尝试使用递归查找集合子集的总数时,我遇到了分割错误
- 在内联程序集中定义函数和从 C++ 调用时出现问题
- 从小于或等于某个 N 的数字列表中最小化或找到 n 个理想的子集和
- 使用 Rcpp 的高效矩阵子集
- 返回给定 SEXP 的子集,而无需知道实际的内部数据类型
- 在std::集中获取与给定元素最接近的元素
- 使用递归从子集和中查找最大和
- 创建算法以确定功率集中的子集的大小
- 如何将C++位集中的位的范围子集转换为数字