1. 定义
2划分,是指多个事物作为一个集合S,把集合S的事物分成两部分。而这样的不同划分有多少个,即为2划分数。
例如,S={A,B,C}。则2划分有[A] | [B,C] , [B] | [A,C] , [C] | [A, B] .2划分数为3.
2. 算法实现
假设S的大小为n,即有n个元素。那么相对于S的不同划分有 2的(n-1)次方 减 1 个。
所以,用一个n位的二进制字符串表示一个划分,其中二进制字符串中每一位对应代表S集合中的元素,位为1的对应元素在划分的一部分,位为0的对应元素在划分的另一部分。这个二进制字符串首位为0,其他n-1位表示 的数从1开始,一直到2的(n-1)次方 减 1 为止。
2.1 生成对应2进制的字符串代码
int int_size = (int)Math.pow(2, int_attr_val_num-1)- 1; // 求2的n次幂,再减1 String[] strarr_binary = new String[int_size]; for (int i = 1; i <= int_size; i++) { StringBuffer sb = new StringBuffer(Integer.toBinaryString(i)); //整型数据转化为二进制字符串 int length = sb.length(); if (length < int_attr_val_num) { //填补位,使位数与n一样 for (int j = 0; j < int_attr_val_num - length; j++) { sb.insert(0, "0"); } } strarr_binary[i-1] = sb.toString(); }
2.2 根据匹配2进制字符串,获得一个划分
for(int int_i=0; int_i<str_bi.length(); int_i++) { if(str_bi.charAt(int_i) == '0') { //在str_bi中字符为0的,分为一组 set_part_0.add(strarr_attr_val[int_i]); } else { set_part_1.add(strarr_attr_val[int_i]); } }
相关推荐
实现2-7集合划分问题.cpp
利用归纳法实现整数划分,如:6=6+0=5+1=4+2=4+1=...=1+1+1+1+1+1。
非常完美 ,它的时间空间复杂度很小,我上大二时编的
1、使用model_select子模块中的train_test_split函数进行划分 数据:使用kaggle上Titanic数据集 划分方法:随机划分 # 导入pandas模块,sklearn中model_select模块 ...x = data.iloc[:, 2:] y = data.l
因为16,即:2的4次方<20<2的5次方,所以,子网位只须占用5位主机位就可划分成32个子网,可以满足划分成20个子网的要求。B类网络的默认子网掩码是255.255.0.0,转换为二进制为11111111.11111111.00000000.00000000。...
某一公司内财务部、销售部的PC通过2台交换机实现通信;要求财务部和销售部的PC可以互通,但为了数据安全起见,销售部和财务部需要进行互相隔离,现要在交换机上做适当配置来实现这一目标。 技术原理 VLAN是指...
划分naca0012网格,其中interfunction为翼型函数
本文详细讨论了基于M2M网关的解决方案、M2M网关的设计与实现、如何通 过M2M网关来实现M2M业务逻辑。具体的说,本文的工作主要集中在以下几个方 面。在需求分析方面:从M2M业务入手,分析了M2M业务流程。提出使用M2M...
4.3 编程实现基于信息熵进行划分选择的决策树算法,并为西瓜数据集3.0中的数据生成一颗决策树。 4.4 编程实现基于基尼指数进行划分选择的决策树算法,为西瓜数据集2.0生成预剪枝、后剪枝决策树,并与未剪枝决策树...
KL算法C++实现,可直接运行,经典社区划分算法之一
Python实现列表划分求子列表和之差最小值,从长度为n的列表中随机取m个元素,将取出的m个元素重新赋值给一个list,返回列表list,'将',list,'划分为',[l for l in mi if sum(l)==maxx],'中的任意一个子列表时,与列表...
2007美国数学建模论文 在美国议会议员选举历史中,“杰利蝾螈”(Gerrymander)L1]一词起源于1812年,时任 美国马萨诸塞州州长的Elbridge ...简单可行的选区划分模型以保证选举公平性,并且通过算法自动实现选区的重划.
2.划分等价类: 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为...
通过对现有的视频监控系统中预警区域划分方法的分析,结合移动视频监控系统的特点,提出 2 种适用于移动视频监控的预警区域划分方法。 九宫格预警区域划分方法,利用布局文件实现,用 M 行 N 列的单元格填充整个...
cisco交换机的配置与VLAN的划分实验步聚
某一公司内财务部、销售部的PC通过2台交换机实现通信;要求财务部和销售部的PC可以互通,但为了数据安全起见,销售部和财务部需要进行互相隔离,现要在交换机上做适当配置来实现这一目标。 (二)利用三层交换机实现...
基于C++MATLAB跨平台编程,实现计算流体力学中结构化网格划分源码+全部资料.zip基于C++MATLAB跨平台编程,实现计算流体力学中结构化网格划分源码+全部资料.zip 【备注】 1、该资源内项目代码都经过测试运行成功,...
某一公司内财务部、销售部的PC通过2台交换机实现通信;要求财务部和销售部的PC可以互通,但为了数据安全起见,销售部和财务部需要进行互相隔离,现要在交换机上做适当配置来实现这一目标。 1.新建Packet Tracer拓扑...
python实现,具体代码讲解请看博主博客,博主名称:u010665216,文章在机器学习专栏,文章名称:K近邻算法讲解、python实现、k值的确定
2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 中国城市...