zoukankan      html  css  js  c++  java
  • 查找

    查找的定义:

      给定一个值K,在含有n个节点的表中找出关键字等于给定值K的节点。若找到,则查找成功,返回该节点的信息或该节点在表中的位置;否则查找失败,返回相关的指示信息。

    查找表的数据结构表示:

    1、动态查找和静态查找表

      若在查找的同时对表做修改操作(如插入和删除),则相应的表称之为动态查找表。否则称之为静态查找表。

    2、内查找和外查找

      和排序类似,查找也有内查找和外查找之分。若整个查找过程都在内存进行;则称之为内查找;反之,若查找过程中需要访问外存,则称之为外查找。

    平均查找长度

      查找运算的主要操作是关键字的比较,所以通常把查找过程中对关键字需要执行的 平均比较次数(也称为平均查找长度)作为衡量一个查找算法效率优劣的标准。
        平均查找长度 ASL(Average Search Length)定义为:
             
      其中:
         ①n是结点的个数;
         ②Pi是查找第i个结点的概率。若不特别声明,认为每个结点的查找概率相等,即
               pl=p2…=pn=1/n
         ③ci
    是找到第i个结点所需进行的比较次数

    顺序查找

    1、顺序查找的基本思想

      基本思想:从表的一端开始,顺序扫描线性表,依次将扫描到的节点关键字和给定值K相比较。若当前扫描到的节点关键字与K相等,则查找成功;若扫描结束后,

    仍未找到关键字等于K的节点,则查找失败。

    2、顺序查找的存储结构要求

      顺序查找方法既适用于线性表的顺序存储结构,也适用于线性表的链式存储结构(使用单链表作存储结构时,扫描必须从第一个节点开始)。

    3、成功时的顺序查找的平均查找长度

       
         在等概率情况下,pi=1/n(1≤i≤n),故成功的平均查找长度为
            (n+…+2+1)/n=(n+1)/2
      即查找成功时的平均比较次数约为表长的一半。
         若K值不在表中,则须进行n+1次比较之后才能确定查找失败。

    4、顺序查找的优点

      算法简单,且对表的结构无任何要求,无论是向量还是用链表来存放节点,也无论节点之间是否按关键字有序,它都同样适用。

    5、顺序查找的缺点

      查找效率低,因此,当n较大时不宜采用顺序查找。

    转:http://student.zjzk.cn/course_ware/data_structure/web/chazhao/chazhao9.2.1.htm

  • 相关阅读:
    AOP面向切面编程基础
    记第一次年会主持
    Tomcat服务器部署JavaWeb项目War包基本步骤
    VM14无法将网络更改为桥接状态:没有未桥接的主机网络适配器
    Ubuntu 16.04 安装 IDEA
    Linux之文件挂载
    图片大小
    打开文件、
    Setup Factory
    Repeater获取某一行TextBox值
  • 原文地址:https://www.cnblogs.com/xh0102/p/5403312.html
Copyright © 2011-2022 走看看