数据结构与算法基础课件章节7.pptx
《数据结构与算法基础课件章节7.pptx》由会员分享,可在线阅读,更多相关《数据结构与算法基础课件章节7.pptx(15页珍藏版)》请在汇文网上搜索。
1、第7章查找7.1 查找的基本概念找的基本概念1查找找在数据集合中寻找满足某种条件的数据元素的过程称为查找。查找是数据结构的一种基本操作,查找的效率决定了计算机某些应用系统的效率。查找算法依赖于数据结构,不同的数据结构需要采用不同的查找算法。查找的结果一般分为两种:一是查找成功,即在数据集合中找到了满足条件的数据元素;二是查找失败。2查找表找表用于查找的数据集合称为查找表,它由同一类型的数据元素或记录组成,可以是一个数组或者链表等数据类型。在查找表中常做的操作有4种:查询某个特定的数据元素是否在查找表中;检索满足条件的某个特定的数据元素的各种属性;在查找表中插入一个数据元素;从查找表中删除某个数
2、据元素。查找表可分为静态查找表和动态查找表两种。静态查找表是指对表的操作中不包括对表的修改的表;动态查找表是指对表的操作中包括对表中的记录进行插入或删除操作的表。适合静态查找表的查找方法有顺序查找、二分查找、散列查找等。适合动态查找表的查找方法有排序二叉树的查找、散列查找等。7.2 顺序查找和二分查找7.2.1 顺序序查找找顺序查找是一种最直观的查找方法,其基本思想就是从线性表的一端开始,逐个检查关键字是否满足给定的条件。若查找到某个元素的关键字满足给定条件,则查找成功,返回该元素在线性表的位置,否则返回查找失败的信息。顺序查找的算法如下:7.2.2 二分二分查找找 二分查找算法(binary
3、 search algorithm)是一种在有序数组中查找某一特定元素的搜索算法,又称折半查找。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。二分查找的算法如下:例如已知有一有序列5,8,13,17,20,28,33,44,49,51,53,在该序列中查找元素8的过程如图所示。7.3 散列表7.3.1 散列表的基本概念散列表的基本概念散列表(Hash table,也叫哈
4、希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,记为Hash(key)=Addr。散列函数可能会把两个或两个以上的不同的关键字映射到同一散列地址,即k1 k2,而f(k1)=f(k2),这种现象称为冲突(Collision)。具有相同函数值的关键字对该散列函数来说称做同义词。所以在设计散列表时,一方面,设计合适的散列函数来尽量减少这样的冲突;另一方面,由于这样的冲突总是不可避免的,所以还要设计好处理冲突的方式。理想情况下,对散列表进行查找的时间复杂度为O(1),即与表中元素
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载共享资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 算法 基础 课件 章节