技术文章 > PHP >  PHP数组 > 正文

php查找算法的理解

小妮浅浅

在程序中,查找的操作可以说是每天都在进行的,这里我们在php中衍生出了查找算法。在正式对其中常见算法了解之前,我们先对查找算法的定义进行理解,然后接其分类逐个介绍,分为两大类:静态查找和动态查找、无序查找和有序查找,我们之后学习的一些常见的查找算法也属于它们的分支,下面就本篇内容带来详解。

1.查找定义

根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。

2.查找算法分类

1)静态查找和动态查找;

注:静态或者动态都是针对查找表而言的。动态表指查找表中有删除和插入操作的表。

2)无序查找和有序查找。

无序查找:被查找数列有序无序均可; 有序查找:被查找数列必须为有序数列。

平均查找长度Average Search Length,ASL):需和指定key进行比较的关键字的个数的期望值,称为查找算法在查找成功时的平均查找长度。

对于含有n个数据元素的查找表,查找成功的平均查找长度为:ASL = Pi*Ci的和。

Pi:查找表中第i个数据元素的概率。

Ci:找到第i个数据元素时已经比较过的次数。

拓展:

1.静态查找表

只做查找操作的查找表

主要的操作:

查询某个”特定的“数据元素是否在查找表中。

检索某个”特定的“数据元素和各种属性。

2.动态查找表

在查找过程中同时插入查找表中不存在的数据元素,或者从查找表中删除已经存在的某个数据元素。

动态查找表的操作:

查找时插入数据元素

查找时删除数据元素

以上就是php查找算法的理解,在掌握了基本的查找算法概念后,我们在接下来的学习中,才能更好的理解一些具体算法的原理,在学习完后可以保存下来方便回顾。更多php学习指路:php数组

免费视频教程
本教程部分素材来源于网络,版权问题联系站长!
相关文章
  php冒泡排序是什么
  php冒泡排序从小到大的方法
  php选择排序是什么意思
  php插入排序的使用
  php快速排序是什么
相关视频章节
  什么是tkinter窗口
  例子3 登录窗口
  例子2 登录窗口
  例子1 登录窗口
  pack grid place 放置位置
作者信息

小妮浅浅

认证0级讲师

最近文章
python在协程中增加任务 457
python pyg2plot的原理 353
python中pyg2plot如何使用? 160
推荐视频
视频教程分类