数据结构——查找
文章平均质量分 89
数据结构中的查找算法
薛定谔的猫ovo
每一个优秀的人,都有一段沉默的时光。
展开
-
散列表、常见散列函数及处理冲突的方法
文章目录散列表的概念常见的散列函数处理冲突的方法处理冲突的开放地址法处理冲突的拉链法散列查找及性能分析散列表的概念散列法 散列法又称哈希法或杂凑法,它在元素的存储位置与元素关键码之间建立一个确定的对应函数关系Hash(),使得每个关键码与结构中的一个唯一的存储位置相对应:Address=Hash(key) Address = Hash(key)Address=Hash(key) 在插入时,依此函数计算存储位置并按此位置存放。 在查找时,对元素的关键码进行同样的函数计算,把求得的函数值当作元素的原创 2021-11-24 21:50:58 · 3187 阅读 · 0 评论 -
B树及其基本操作(查找、插入、删除)
文章目录B树的基本概念B树的高度B树的基本概念B树,又称为多路平衡查找树。一棵m阶B树是一棵平衡的mmm叉查找树,它或者是空树,或者是满足以下性质的树:1、 每个结点最多有mmm棵子树(即至多含m−1m-1m−1个关键字),并具有如下结构:n, P0, K1, P1, K2, P2, ... , Kn, Pnn,\ P_0,\ K_1,\ P_1,\ K_2, \ P_2, \ ...\ ,\ K_n,\ P原创 2021-11-24 16:53:59 · 5112 阅读 · 0 评论 -
查找——分块查找
文章目录分块查找的概念分块查找的基本思想分块查找的平均查找长度分块查找的概念当数据表中的数据元素很多时,可以采用分块查找。分块查找又称为索引顺序查找。它汲取了顺序查找和折半查找各自的优点,既有动态结构,又适于快速查找。分块查找的基本思想基本思想:<1> 将查找表分为若干子块,要求所有这些块分块有序,即后一块中所有元素的关键码均大于前一块中所有元素的关键码(块间有序);而每个块内的元素可以是无序的(块内无序)。<2> 另外要为这些块建立一个索引表。索引表中的每个元素原创 2021-11-23 20:16:30 · 10447 阅读 · 1 评论 -
折半查找的概念及实现代码
文章目录折半查找的概念折半查找的算法实现折半查找的平均查找长度折半查找的概念折半查找又称二分查找,它仅适用有序的顺序表,即线性表必须按关键字有序、且必须采用顺序存储。折半查找的算法思路:将n个元素存放在一个有序的顺序表中,要查找值为x的元素的存储位置,则先求出顺序表中间元素的下标mid,将给定值x与表中间位置元素的关键字data[mid]比较:若 data[mid]=xdata[mid]=xdata[mid]=x,则查找成功,返回该元素的存储位置;若 x<data[mid]x<原创 2021-11-23 19:43:13 · 5002 阅读 · 0 评论 -
顺序查找的概念及实现代码详解
文章目录顺序查找的概念一般线性表的顺序查找(顺序表)完整代码平均查找长度一般线性表的顺序查找(链表)完整代码平均查找长度顺序查找的优缺点关键字有序的顺序表的顺序查找平均查找长度顺序查找的概念 顺序查找,又称为线性查找,主要用于在线性表中进行查找。 设若表中有n个元素,则顺序查找从线性表的先端开始,顺序用各元素的关键码值与给定值x进行比较,直到找到与其值相等的元素,则查找成功,给出该元素在表中的位置;若整个表检测完仍未找到与x相等的元素,则查找失败,给出失败信息。 顺序查找通常分为对一般的无序线性表原创 2021-11-23 15:44:51 · 5736 阅读 · 0 评论