您的位置:首页 > 文旅 > 美景 > 什么是搭建网站_北京住房建设网官网_yandx引擎入口_网上在哪里打广告最有效

什么是搭建网站_北京住房建设网官网_yandx引擎入口_网上在哪里打广告最有效

2024/12/23 7:21:22 来源:https://blog.csdn.net/WinKoko/article/details/144483591  浏览:    关键词:什么是搭建网站_北京住房建设网官网_yandx引擎入口_网上在哪里打广告最有效
什么是搭建网站_北京住房建设网官网_yandx引擎入口_网上在哪里打广告最有效

1、*查找属于数据的运算

*在哪里找?查找表(是由同一类型的数据元素构成的集合)

*什么查找?根据给定的某个值,在查找表中确定一个其关键字(用来标识一个数据元素的某个数据项的值)等于给定值。

——主关键字:唯一标识。     ——次关键字:识别若干记录

*查找成功:结果给出整个记录的信息,或者该记录的位置
查找失败:结果给出空记录或者空指针。

*查找的分类:静态查找表(仅查询)、动态查找表(插入、删除)

*查找算法的评价指标:平均查找长度ASL

*查找的方法取决于查找表的结构,即表中数据元素是依何种关系组织在一起的

提高效率的一个方法:在集合中的数据元素之间人为加上某种确定的约束关系

线性表的查找

2、顺序查找

(1)适用条件:顺序表或线形链表表示的静态查找表、表内元素之间无序

(2)数据元素的类型定义

typedef struct{KeyType key;  //关键字域...           //其他域
}

顺序表结构类型定义 

typedef struct{ElemType *R;   //表基址int length;    //表长
}SSTable;
SSTable ST;      //定义顺序表ST

 (3)在顺序表中查找,从最后一个元素开始比较:

int Search_Seq(SSTable ST,KeyType key){//若成功返回其位置信息,否则返回0for(I=ST.length;i>=1;--i)if(ST.R[I].key==key) return I;return 0;
}

or

int Search_Seq(SSTable ST,KeyType key){for(I=ST.length;ST.[R].key!=key&&I>0;--i);if(I>0) return I;else return 0;
}

*针对每执行一次循环都要进行两次比较,可以进行改进:

把待查的关键字key存入表头(哨兵、监视岗),可免去查找过程中每一步都要检测是否已经查找完毕,加快速度。

int Search_Seq(SSTable ST,KeyType key){ST.R[0].key=key;for(I=ST.length;ST.R[I].key!=key;--i);return I;
}

*当ST.length较大时,此改进能使进行一次查找所需的平均时间几乎减少一半。

*比较次数与key位置有关:查找第i个元素,需要比较n-i+1次;查找失败比较n+1次;

*时间复杂度为O(n);设表中各记录查找概率相等,ASL(n)=(n+1)/2;

空间复杂度:一个辅助空间——O(1)

*

*  

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com