线性表的查找
基本概念
查找表是由同一类型的数据元素(或记录)构成的集合。由于"集合”中的数据元素之间存在着松散的关系,
因此查找表是一种应用灵便的结构。
对查找表经常进行的操作:
1、查询某个"特定的”数据元素是否在查找表中;
2、检索某个"特定的”数据元素的各种属性;
3、在查找表中插入一个数据元素;
4、删除查找表中的某个数据元素。
查找表 分类
查找表可分为两类:
静态查找表:
仅作“查询”(检索)操作的查找表
动态查找表:
作“插入”和“删除”操作的查找表。
有时在查询之后,还需要将"查询”结果为"不在查找表中”的数据元素 插入到 查找表中;或者,从查找表
中删除其“查询”结果为“在查找表中”的数据元素,此类表为动态查找表。
查找算法的 评价指标:
关键字的平均比较次数,也称 平均查找长度
n:记录的个数
pi:查找第i个记录的概率(通常认为pi =1/n )
ci:找到第i个记录所需的比较次数
顺序查找
在顺序表ST中查找值为key的数据元素,从最后一个元素开始比较
●时间复杂度: (O(n))
int Search_ Seq( SSTable ST , KeyType key ){
//若成功返回其位置信息,否则返回0
for( i=ST.length; i>=1; --i )
if ( ST.R[ i].key==key ) return i;
return 0;
}
评论0
最新资源