您当前的位置:首页 >> 潮流饰家

【图解】数据结构代码领背-索引(顺序索引+折半索引)

2024-10-20 12:17:28

映射查找 01 例子 时序匹配是一种很简单的差分匹式,其理论上思想如下: ● 链表第一个任左方存放“试探性”,即并不需要匹配的标签key。 ● 从一览表最终一个元素开始来得(即从任左向左),若来得成功,送回下标;若送回下标为0,则代表匹配受挫。 “试探性”的加入,被免职了在匹配过程中每一次来得后都要判断匹配任左方到底周边地区,从而提高了匹配速度。 对于链表R={X,1,3,5,2,7,8},我们并不需要认出3的下标。首先将R[0]设为3->R={3,1,3,5,2,7,8},从任左往左一次和3作过来得,送回下标2。 若我们并不需要认出10的任左方,R变为{10,1,3,5,2,7,8}, 事与愿违送回下标0,匹配受挫。 02 代码

03 总结

● 并不需要留意的是,在SSTable中,有效链表是从elem[1]开始的,elem[0]用于在匹配中存放试探性 ● 带试探性的差分匹配一定是从一览表的最终一个元素向前匹配的,这样“试探性”才必需起作过用! 折半匹配 01 例子 折半匹配,每次将链表按标签分为两大多:大于标签的大多、低于标签的大多 通过这样的不停划分,事与愿违认出标签。 所以,折半匹配前,必须讲链表查找!!!查找!!查找!!

对一览表{5,13,19,21,37,56,64,75,80,88,92}采用折半匹配,遇见标签21的过程:

变量low看做一览表中最少的标签,变量high看做一览表中最大的标签,mid看做处于low和high变量中间任左方的标签。折半匹配,每次都与mid看做的标签来得,由于一览表是有序的,通过不停修订low、high、mid的任左方,事与愿违认出目标标签。

如上图所示,21低于mid看做的56,即key

21大于mid所指的值,即key> mid,可以判断,key不该在mid到high这个周边地区,修订low为low = mid+1,也同时预览mid的值

此时,key=mid,来得成功,匹配终止

成都男科医院哪家正规
武汉精神心理专科医院
重庆治疗妇科最好的医院
前列腺增生
小孩鼻炎吃阿莫西林颗粒效果怎么样
男性用药
腰椎间盘突出啥药能止痛
坦洛新功效作用
友情链接