庞茜丹

导航

第七章学习小结

思维导图

 

 

1.二叉排序树(二叉查找树):【虽然折半查找效率较高,但因为顺序表更适用于静态查找,为了实现动态查找又可以达到折半查找的效率,所以引出了二叉排序树】

2.平衡二叉树:【由于二叉树的形态不稳定会影响查找时的时间复杂度,为了能使查找的速度较快(树的高度越小,查找的速度越快)要使树的高度尽可能小,所以引出了平衡二叉树,平衡二叉树是最好的二叉查找树】

3.B-树:【上面的查找方法是内查找法,适用于数据量较小的情况;当数据量较大的时候,需要进行的内、外存交换次数较多,费时较多;所以引出了B-树,使用的是外查找法】

4.散列表:【以上方法在查找过程中只考虑各关键字之间的相对大小,记录在存储结构中的位置与其关键字无直接关系,查找时间与表的长度有关;当结点个数很多的时候,查找需要大量地比较无效的关键字,使得查找速度慢;所以引出了散列表,使得关键字与相应的记录的存储地址建立起联系,这样查找时间就与记录的总数无关】

7-1作业

1.在机场安检处做爆炸物品检测时,召回率比准确率更重要(F)

2.在度量搜索引擎的结果集的相关度时,召回率很低意味着大多数相关的文档没有被找到。(F)

3.在度量搜索引擎的结果集的相关度时,准确率很低意味着找出的大部分文档是无关的(T)

【召回率(Recall Rate,也叫查全率,是检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率;精度是检索出的相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率。】

 

Hashing:

#include <iostream>
#include <cmath>
using namespace std;
int IsPrime(int m);
int NextPrime(int m);
int main()
{
    int MSize,n,TSize,key;//MSize是用户定义的表格大小,n是输入数字的数量
    cin>>MSize>>n;
    //确定散列表大小 
    if(IsPrime(MSize))
    TSize=MSize;
    else
    TSize=NextPrime(MSize);//cout<<TSize<<endl;
    //初始化散列表 
     int HT[TSize];
    for(int q=0;q<TSize;q++) 
    HT[q]=-1;//cout<<HT[q]<" ";
     
     //将元素插入散列表并输出下标
    for(int i=0;i<n;i++)
    {
        cin>>key;
        int pos=key%TSize;
        int temp=pos;
        int k=0;
        while(k<TSize)//k>=size后,平方探测将进入一个死循环
        {//完成找位置并在散列表中写入key 
            
            if(HT[pos]==-1)//该位置没有元素就写入key 
            {
                HT[pos]=key;
                cout<<pos;
                break;
            }
            else// 该位置有元素,使用平方探测法(仅具有增量)解决冲突,平方探测法是把平方与原 H(key)相加后再 %TSize 
            {
                k++;
                pos=(temp+k*k)%TSize; 
            }
        }
        
        if(k==TSize) //退出循环,该元素没有找到位置 
        cout<<"-";
        if(i!=n-1) //非最后一个元素,有空格 
        cout<<" ";
    }
    return 0;
}
int IsPrime(int m)
{//判断是否为素数,是则返回1; 
    if(m<=1) return 0;//1不是素数 
    for(int i=2;i<=sqrt(m);i++)
    {
        if(m%i==0)//是合数 
        return 0;
     } 
    return 1;
}
int NextPrime(int m)
{//寻找大于m的下一个最小素数
    while(!IsPrime(m)) m++;
    return m;
}

 

 

posted on 2020-06-28 22:21  庞茜丹  阅读(280)  评论(0编辑  收藏  举报