数据结构之查找

数据结构之查找

  • 1、查找基本概念
  • 2、平均查找长度

  数据结构是程序设计的重要基础,它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从问题出发,分析和研究计算机加工的数据的特性,以便为应用所涉及的数据选择适当的逻辑结构、存储结构及其相应的操作方法,为提高利用计算机解决问题的效率服务。

1、查找基本概念

  查找是一种常用的基本运算。查找表是指由同一类型的数据元素(或记录)构成的集合。由于“集合”中的数据元素之间存在着完全松散的关系,因此,查找表是一种非常灵活的数据结构。
  对查找表经常要进行的两种操作如下。
  (1)查询某个特定的数据元素是否在查找表中。
  (2)检索某个特定的数据元素的各种属性。
  通常将只进行这两种操作的查找表称为静态查找表。
  对查找表经常要进行的另外两种操作如下
  (1)在查找表中插入一个数据元素。
  (2)从查找表中删除一个数据元素
  若需要在查找表中插入不存在的数据元素,或者从查找表中删除已存在的某个数据元素,则称此类查找表为动态查找表。
  关键字是数据元素(或记录)的某个数据项的值,用它来识别(标识)这个数据元素。主关键字是指能唯一标识一个数据元素的关键字。次关键字是指能标识多个数据元素的关键字。
  根据给定的某个值,在查找表中确定是否存在一个其关键字等于给定值的记录或数据元素。若表中存在这样的一个记录,则称查找成功,此时给出整个记录的信息,或者指出记录在查找表中的位置;若表中不存在关键字等于给定值的记录,则称查找不成功,此时的查找结果用一个“空”记录或“空”指针表示。

2、平均查找长度

  对于查找算法来说,其基本操作是“将记录的关键字与给定值进行比较”。因此,通常以“其关键字和给定值进行过比较的记录个数的期望值”作为衡量查找算法好坏的依据。
  为确定记录在查找表中的位置,需和给定关键字值进行比较的次数的期望值称为查找算法在查找成功时的平均查找长度。
  对于含有n个记录的表,查找成功时的平均查找长度定义为
A S L = Σ i = 1 n P i C i ASL={\huge\Sigma}^n_{i=1}{\large P}_i {\large C}_i ASL=Σi=1nPiCi
其中,P为对表中第 i 个记录进行查找的概率,且 Σ i = 1 n P i = 1 {\huge\Sigma}^n_{i=1}{\large P}_i =1 Σi=1nPi=1,一般情况下,均认为查找每个记录的概率是相等的,即 Pi=1/n;Ci为找到表中其关键字与给定值相等的记录时(为第 i 个记录),和给定值已进行过比较的关键字个数,显然,Ci随查找方法的不同而不同。

你可能感兴趣的:(数据结构,数据结构)