91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.21MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-11-14
  • 語(yǔ)言: 其他
  • 標(biāo)簽: C++??信息檢索??

資源簡(jiǎn)介

可直接運(yùn)行,利用空間向量模型建立簡(jiǎn)單的布爾檢索,內(nèi)含源代碼與用于搜索的TXT文本,可以替換

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
#include
using?namespace?std;
const?int?total=20;
class?node
{
friend?class?suoyin;
public:
char?*?name;
node?*?next;
int?d[total]; //記錄name在第幾個(gè)文檔中出現(xiàn)了幾次
int?df;
int?tf;//記錄詞項(xiàng)在查詢向量中的tf
node()
{ for?(int?i=0;i {
d[i]=0;
}//初始化d設(shè)為不存在
????df=0;
tf=0;
};

node(char?*a); //初始化,將外部字符串設(shè)為name
};
node::node(char?*a)
{//初始化,將外部字符串設(shè)為name
name?=?new?char?[];
name?=?a;
}
class?suoyin
{//倒排索引類
public:
float?lenth[total];
float?score[total];
node?*?root?;//記錄根節(jié)點(diǎn),創(chuàng)建鏈表記錄倒排索引
suoyin(){root?=?NULL;}//初始化?root
suoyin?&?addnode(int?knode?&?a);//將外部節(jié)點(diǎn)加入倒排索引
suoyin?&?delenode();//刪除重復(fù)名字的節(jié)點(diǎn),并且將記錄表合并
int?*?find(char?*?x);//按名字查找記錄,并且返回記錄表(為一個(gè)int數(shù)組)
void?output1();//打印在屏幕上
void?output2();//打印在“il.txt“中
suoyin?&?cosine(char?*?q);
suoyin?&?Lenth();
};
suoyin?&?suoyin::addnode(int?knode?&?a)
{//將外部節(jié)點(diǎn)加入倒排索引
node?*?p=root;
for(int?i=1;i p=p->next;//尋找到最后一個(gè)節(jié)點(diǎn)
node?*?y?=new?node;//新建節(jié)點(diǎn)y作為橋梁,將新節(jié)點(diǎn)加入
y->name=a.name;
for?(int?ir=0;ir {
y->d[ir]=a.d[ir];
}
if(k!=0)//加入的不是首節(jié)點(diǎn)
{
y->next=p->next;
p->next=y;
}
if(k==0)//加入的是首節(jié)點(diǎn)
{
y->next=root;
root=y;
}
return?*?this;//返回新的倒排索引
}

suoyin?&?suoyin::delenode()
{//刪除重復(fù)名字的節(jié)點(diǎn),并且將記錄表合并
node?*?p?=?root;
while?(p->next)//遍歷倒排索引
{
if?(!strcmp(p->next->namep->name))//當(dāng)名字相同時(shí)
{//合并記錄表,并將第二個(gè)節(jié)點(diǎn)刪除
for(int?i=0;i {
p->d[i]=p->d[i]+p->next->d[i];
}
p->next=p->next->next;
}
else?p=p->next;//名字不同時(shí),放過(guò)
}
return?*?this;//返回新的倒排索引
}
int?*?suoyin::find(char?*?a)
{//按名字查找記錄,并且返回記錄表(為一個(gè)int數(shù)組)
int?results[total];//記錄查詢結(jié)果
for(int?i=0;i {
results[i]=-1;//先初始化為-1
}
node?*?current=root;
while(strcmp(current->namea)!=0)
{
current=current->next;
}
if(current)//找到對(duì)應(yīng)的名字
{//返回相應(yīng)的記錄表
for?(int?i=0;i {
results[i]=current->d[i];
}
return?results;
}
return?results;?//沒(méi)找到對(duì)應(yīng)的名字,返回值為-1的記錄表
}

void?suoyin::output1()
{//打印在屏幕上
node?*?current;
for(current=root;current;current=current->next)
{
int?fre=0;
for?(int?i=0;i {
fre=fre+current->d[i];
}
cout<name<<“?fre:“< for?(int?iw=0;iw ????if?(current->d[iw])cout<<“?->“<d[iw]<<“)“;
cout< }
}

void?change?(node?&?xnode?&?y)
{//外部函數(shù),按名字排列時(shí),交換兩個(gè)詞項(xiàng)的順序
char?*?temp=new?char?[strlen(x.name)+1];//交換名字
strcpy(tempx.name);
strcpy(x.namey.name);
strcpy(y.nametemp);
for?(int?i=0;i {
int?dtemp=x.d[i];//交換記錄表
x.d[i]=y.d[i];
????y.d[i]=dtemp;
}
};

void?copy(char?*?achar?*?bint?iint?j)
{//外部函數(shù),將a字符串的第i位到第j位復(fù)制到b字符串中,處理布爾查詢表達(dá)式時(shí)用
int?count;
for(count=0;count {
b[count]=a[i+count];
}
b[count]=‘\0‘;
};
///////////////////////////////////////////////////////////////////////////////

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????????75??2013-09-24?21:35??1.txt
?????文件?????????141??2013-11-04?20:34??10.txt
?????文件?????????153??2013-11-04?20:34??11.txt
?????文件?????????192??2013-11-04?20:37??12.txt
?????文件?????????141??2013-11-04?20:36??13.txt
?????文件?????????135??2013-11-04?20:35??14.txt
?????文件??????????78??2013-11-08?23:16??15.txt
?????文件?????????139??2013-11-04?20:35??16.txt
?????文件?????????133??2013-11-04?20:37??17.txt
?????文件?????????129??2013-11-04?20:35??18.txt
?????文件?????????179??2013-11-04?21:49??19.txt
?????文件??????????80??2013-09-24?21:35??2.txt
?????文件?????????128??2013-11-04?20:36??20.txt
?????文件?????????132??2013-11-04?20:29??3.txt
?????文件??????????93??2013-11-04?20:30??4.txt
?????文件?????????139??2013-11-04?20:31??5.txt
?????文件??????????93??2013-11-04?20:32??6.txt
?????文件?????????129??2013-11-04?20:32??7.txt
?????文件?????????135??2013-11-08?23:04??8.txt
?????文件?????????131??2013-11-04?20:34??9.txt
?????文件???????10003??2013-11-08?23:15??ddd.cpp
?????文件??????103424??2013-11-08?23:23??信息檢索3_實(shí)驗(yàn)報(bào)告.dot
?????目錄???????????0??2014-01-14?20:10??空間向量模型\
?????文件??????????75??2013-09-24?21:35??空間向量模型\1.txt
?????文件?????????141??2013-11-04?20:34??空間向量模型\10.txt
?????文件?????????153??2013-11-04?20:34??空間向量模型\11.txt
?????文件?????????192??2013-11-04?20:37??空間向量模型\12.txt
?????文件?????????141??2013-11-04?20:36??空間向量模型\13.txt
?????文件?????????135??2013-11-04?20:35??空間向量模型\14.txt
?????文件??????????78??2013-11-08?23:16??空間向量模型\15.txt
?????文件?????????139??2013-11-04?20:35??空間向量模型\16.txt
............此處省略26個(gè)文件信息

評(píng)論

共有 條評(píng)論

相關(guān)資源