关键词不能为空

当前您在: 主页 > 英语 >

0046算法笔记——【随机化算法】舍伍德随机化思想解决跳跃表问题

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 08:18
tags:

-

2021年2月28日发(作者:有道翻译在线翻译英语)


0046


算法笔记


——


【随机化算法】舍伍德随机化思想解决跳跃


表问题



问题描述




如果使用有序链表来表示包含


n


个元素的有序集


s


,在最坏的情况


下,



s


中搜索元素需要


O(n)


个计算时间一种提高有序链表效率的技


术是在有序链表的一些节点上添加额外的 指针,以提高其搜索性能。


当在具有附加指针的有序链表中搜索元素时,


可以通过附加指针跳过


链表中的几个节点来加快搜索速度。

这个带有前向附加指针的有序链


表被称为跳转表。




应该在跳转表的哪些节点添加额外的指针,以及应该在该节点 添加


多少指针完全由随机化方法决定这使得跳转表能够支持诸如在平均

< br>时间


0(logn)


内搜索、插入和删除有序集之类的操 作例如,如图所示,



(a)


是一个没 有附加指针的有序表,而图


(b)


在图


(a)


的基础上增加了一


个附加指针来跳转一个节点图


(c)


在图


(b)


的顶 部添加了额外的指针来


跳转


3


个节点< /p>







在跳转表中,如果一个节点有


k+1


个指针,它被称为


k


级节点以图


(c)


中的跳转表为例,看看如何在修改后的跳转表中搜索元素


8


。搜索


从跳转表的最高级别开始,即级别< /p>


2


。使用


2


级指 针发现元素


8


位于


节点


7



19


之间此时,在节点< /p>


7


处下降到级别


1


的指针被搜索,并


且发现元素


8


位于 节点


7



13


之间最后,节的情况虽然它可以有效


地支持成员搜索操作,


但它 不适合集合中的动态变化。


集合元素的插


入和删除会破坏完整跳 转表的原始平衡状态,


影响后续元素搜索的效


率。




为了在动态变化中保持跳转表中附加指针的平衡 ,跳转表中


K


级节


点的数量必须保持在 点数总和的一定比例内。


请注意,


在完整的跳转


表中,


50%


的指针是


0


级指针;


25%


的指针是

< br>1


级指针;




(100/2


(k+1))%


指针是


k


级指针因此,当插入元素时,以概率


1/2


引入


0



节点,以概率


1/4


引入


1


级节点,


...


并且以概率


1/2 < /p>


(k+1)


引入


k


级节


点另一方面,


I


级节点指向同一 级别或更高级别的下一个节点,它跳


过的节点数不再精确地保持在


2


I-1


在这种修改之后,当插入或删除

< br>一个元素时,跳转表的平衡可以通过本地修改来维护。




跳转表中的节点级别在插入中确定,一旦确定就不会更改。下图是


遵循上述原则的跳转表示例。


搜索它就像搜索一个完整的跳转表一样

< br>如果要将元素


8


插入所示的跳转表中,

< br>现在应该在跳转表中搜索其插


入位置。在搜索之后,发现元素

8


应该被插入到节点


7



11


之间。


此时,在节点


7



11


之间添加新的节点存储元件


8


,并且以随机方


式确定新节点的级别 。例如,如果元素




8


作为


2


级节点插入,则图中虚线



所相交的指针应该被调整。如果新插入的节点是


1


级节点,则只需


要修改两个指针,


虚线交叉的指针是可以修改的指针。


当搜索插入期


间使用的元素的插入位置时,可以动态保存这些指针。







在一个 完整的跳转表中,一半具有


I


级指针的节点同时具有

< p>
i+1



指针为了保持跳转表的平衡,可以预先确 定一个实数


016)%


n



34.}


35.


36 . double random::f ra ndom(void)//


生成随机实数


37

< br>。


{



38 . return random(max short)/double(max short)



39.}





2



7d3d3



CPP




[CPP]


视图普通副本


< p>
1



//


随机化算法跳转 表


2



#


包含


3



#


包含


4



#


包括


5



# include 6 .


使用命名空间标准;


7.



8


。模板类


SkipList9.

< p>
模板


10



SkipNo de 11


类。


{




12


。朋友


SkipList13.


私人


:


< /p>


14



SkipNode(int


大小


)15



{




16



next =



Skipnode *[


大小


]



17.}




18



~SkipNode() 19



{




20


。删除


[]


下一步;


21.}



< p>
22



EType


数据;


//


元素




23



SkipNode


*


*


集合中的下一个;


//[


下一个指针数组是一级指针


24



}



25.



26


。模板


27



SkipList 28


级。


{




29


。公众


:



30



Sk ipList(KType


大,


int MaxE = 10000


,浮点


p = 0.5)







31



~ Skiplist()



-


-


-


-


-


-


-


-



本文更新与2021-02-28 08:18,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/679835.html

0046算法笔记——【随机化算法】舍伍德随机化思想解决跳跃表问题的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
0046算法笔记——【随机化算法】舍伍德随机化思想解决跳跃表问题随机文章