资源简介
C++语言编写的关于属性重要度的算法实现,对粗糙集初学者来说主要很好的指导价值
代码片段和文件信息
#include“DecisionTable.h“
//决策表DT=(U CUD V f)类实现------------------------------------------------
int DecisionTable::iNo = 0;
DecisionTable::DecisionTable()
{
this->SerialNumberOfElement = 0;
}
vector DecisionTable::SetToiVector(Set &s)
{
vector temp;
for(int i=0; i {
temp.push_back(s.KeyAt(i));
}
return temp;
}
DecisionTable::DecisionTable(std::vector &ConditionSet //条件属性集,如{abc}
std::vector &DecisionSet //决策属性集,如{def}
std::vector &ConditionValueSet //由各样本的条件属性值(看成本文的集合)构成的向量
std::vector &DecisionValueSet) //由各样本的决策属性值(看成本文的集合)构成的向量
{
this->SerialNumberOfElement = 0;
this->ConditionSet = ConditionSet;
this->DecisionSet = DecisionSet;
if(ConditionValueSet.size() != DecisionValueSet.size())
{
cout<<“条件值集样本数与决策值集样本数不同!“< }
else
{
vector::iterator it1 = ConditionValueSet.begin();
vector::iterator it2 = DecisionValueSet.begin();
Element temp;
for( ; it1 {
temp.SetCondition((*it1).ToIntVector());
temp.SetDecision((*it2).ToIntVector());
SerialNumberOfElement++;
temp.SetU(SerialNumberOfElement);
DT.push_back(temp);
}
}
iNo++;
}
DecisionTable::DecisionTable(std::vector &ConditionSet //条件属性集,如{abc}
std::vector &DecisionSet //决策属性集,如{def}
std::vector> &ConditionValueSet //由各样本的条件属性值(看成本文的集合)构成的向量
std::vector> &DecisionValueSet) //由各样本的决策属性值(看成本文的集合)构成的向量
{
this->SerialNumberOfElement = 0;
this->ConditionSet = ConditionSet;
this->DecisionSet = DecisionSet;
if(ConditionValueSet.size() != DecisionValueSet.size())
{
cout<<“条件值集样本数与决策值集样本数不同!“< }
else
{
vector>::iterator it1 = ConditionValueSet.begin();
vector>::iterator it2 = DecisionValueSet.begin();
Element temp;
for( ; it1 {
temp.SetCondition(*it1);
temp.SetDecision(*it2);
SerialNumberOfElement++;
temp.SetU(SerialNumberOfElement);
DT.push_back(temp);
}
}
iNo++;
}
const DecisionTable& DecisionTable::operator=(DecisionTable &DT)
{
if(this != &DT)
{
this->ConditionSet = DT.GetConditionSet();
this->DecisionSet = DT.GetDecisionSet();
this->DT = DT.GetDT();
}
return *this;
}
DecisionTable::DecisionTable(const char* FileName)
{
this->SerialNumberOfElement = 0;
string str;
ifstream in(FileName);
if(! in)
{
cerr<<“不能打开“< exit(-1);
}
while(getline(in str))
{
istringstream line(str);
line>>str;
if(str == “@ConditionAttribute“)
{
char ch;
line>>ch;
ConditionSet.push_back(ch);
}
if(str == “@DecisionAt
- 上一篇:C#遗传算法程序可视化版
- 下一篇:生产者与消费者 进程调度模拟c++
相关资源
- C#遗传算法程序可视化版
- C语言100个经典算法题目+源码
- Ftp服务器与客户端VC++完整版源码
- 高校人事管理系统C++程序设计
- 贪心算法编写的01背包问题c/c++
- C++课程设计大作业
- 解决System.Data.SQLite兼容32位和64位问题
- 新标准C++程序设计教材11-20章课后题答
- 复数矩阵 解方程组 C++源代码
- C++课件C++课件C++课件
- 自己写的Apriori算法c++实现
- 网速监控 v1.2 MFC VC C++ 网速监控 线程
- 舞伴伴舞问题的C++实现
- rrt实现图片搜索.zip
- 用VC++显示图像的灰度直方图
- VC++开发基于Microsoft Speech SDK的TTS软件
- 模拟退火算法含有C语言源代码
- cc++项目视频.txt
- c++ primer plus 第六版 课后习题答案
- SMS4算法原理与实现
- FTP文件上传和管理类C++
- FIR算法Fir.c
- c++builder做图像处理项目的核心代码
- c++标准库函数中文chm
- C++ curl封装类
- iar.cc++.compiler.v1.30.3.50673.for.rl78-patch
- C语言实现cordic sinx的算法
- 图像连续拼接算法源码
- Bloom过滤器的C++实现
- 设计一个环形队列,用front和rear分别
评论
共有 条评论