数据结构之查找(一)——基本概念

  • 在哪里查找?——查找表
    查找表是由同一类型的数据元素(或记录)构成的集合。由于“集合”中的数据元素之间存在着松散的关系,没有严格的前驱和后继的关系,因此查找表是一种应用灵活的结构。

  • 什么是查找?
    根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。
    关键字: 用来标识一个数据元素(或记录)的某个数据项的值。
    • 主关键字:可唯一地标识一个记录的关键字
    • 次关键字:用以识别若干记录的关键字

  • 查找是否成功?
    • 若查找表中存在这样一条记录,则称“查找成功”。查找结果给出整个记录的信息,或指示该记录在查找表中的位置。
    • 否则称“查找不成功”。查找结果给出“空记录”或“空指针”。

  • 查找的目的是什么?
    • 查询某个“特定的”数据元素是否在查找表中;
    • 检索某个“特定的”数据元素的各种属性;
    • 在查找表中插入一个数据元素;
    • 删除查找表中的某个数据元素。

  • 查找表怎么分类?
    可分为两类:
    • 静态查找表: 仅作“查询”(检索)操作的查找表,即查找前后,表没有变化。
    • 动态查找表:作“插入”和“删除”操作的查找表。有时在查询之后,还需要将“查询”结果为“不在查找表中”的数据元素插入到查找表中;或者,从查找表中删除其“查询”结果为“在查找表中”的数据元素,此类表为动态查找表。

  • 如何评价查找算法?
    查找算法的评价指标:
    关键字的平均比较次数——平均查找长度(ASL,Average Search Length)
    A S L = ∑ i = 1 n p i c i ASL = \sum\limits_{i = 1}^n {p{}_i{c_i}} ASL=i=1npici
    n n n:记录的个数
    p i p_i pi:查找第i个记录的概率,通常认为是等概率的 p i = 1 / n p_i=1/n pi=1/n
    c i c_i ci:找到第1个记录所需要的比较次数

  • 查找过程中我们要研究什么?
    • 查找的方法取决于查找表的结构,即表中数据元素是依何种关系组织在一起的。
    • 在查询或检索一个特定的数据元素时,若无规律可循,只能对集合中的元素一一加以辨认直至找到为止。
    • 设法提高查找表的查找效率是关键。
    • 为了提高查找效率,一个办法就是在构造查找表时,在集合中的数据元素之间人为的加上某种确定的约束关系
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值