当前位置: 首页 > news >正文

备案网站查询上哪里建设个人网站

备案网站查询,上哪里建设个人网站,最新项目加盟代理,wordpress指针美化转载#xff1a;https://www.cnblogs.com/lnlvinso/p/8848883.html 结果#xff1a;skiplist的高度是个随机值。 SkipList理解 记下自己对跳表SkipList的理解。 SkipList采用空间换时间的思想#xff0c;通过增加数据间的链接#xff0c;达到加快查找速度的目的。 数据库L…转载https://www.cnblogs.com/lnlvinso/p/8848883.html 结果skiplist的高度是个随机值。 SkipList理解 记下自己对跳表SkipList的理解。 SkipList采用空间换时间的思想通过增加数据间的链接达到加快查找速度的目的。 数据库LevelDB和RocksDB中用到了SkipListRedis中的有序set即zset也用到了SkipList。Java中也提供了ConcurrentSkipListMap在并发量大的情况下ConcurrentSkipListMap性能好。 先看SkipList的查找过程引用网上的经典图片查找19。注意的是数据是有序的。 查找的过程从上至下查找指针所经历的位置顺序如图中的123直到找到目标数据19。 再加一张图是怎么二分法查找的。 SkipList中创建新结点时产生一个在1~MAX_LEVEL之间的随机level值作为该结点的level。每个节点的高度是随机的。 MAX_LEVEL可以静态指定也可以动态增长。 关于MAX_LEVEL觉得这篇文章的解释是比较清楚的https://blog.csdn.net/kisimple/article/details/38706729。下面是复制了部分的内容 每个节点所能reach到的最远的节点是随机的正如作者所说SkipList使用的是概率平衡而不是强制平衡。 O(logN)? 既然是随机算法那怎么能保证O(logN)的复杂度SkipList作者在论文中有给出了说明这里从另一个角度说下我的理解。先定义一下A node that has k forward pointers is called a level k node。假设k层节点的数量是k1层节点的P倍那么其实这个SkipList可以看成是一棵平衡的P叉树从最顶层开始查找某个节点需要的时间是O(logpN)which is O(logN) when p is a constant。 下面看下Redis与LevelDB中实现SkipList所使用的随机算法。 Redis 在t_zset.c中找到了redis使用的随机算法。 /* Returns a random level for the new skiplist node we are going to create.* The return value of this function is between 1 and ZSKIPLIST_MAXLEVEL* (both inclusive), with a powerlaw-alike distribution where higher* levels are less likely to be returned. */ int zslRandomLevel(void) {int level 1;while ((random()0xFFFF) (ZSKIPLIST_P * 0xFFFF))level 1;return (levelZSKIPLIST_MAXLEVEL) ? level : ZSKIPLIST_MAXLEVEL; } 执行level 1;的概率为ZSKIPLIST_P也就是说k层节点的数量是k1层节点的1/ZSKIPLIST_P倍。ZSKIPLIST_P这个P是作者论文中的p与ZSKIPLIST_MAXLEVEL在redis.h中定义 #define ZSKIPLIST_MAXLEVEL 32 /* Should be enough for 2^32 elements */ #define ZSKIPLIST_P 0.25 /* Skiplist P 1/4 */ 所以redis中的SkipList相当于是一棵四叉树。 LevelDB 在skiplist.h中找到了LevelDB使用的随机算法。 templatetypename Key, class Comparator int SkipListKey,Comparator::RandomHeight() {// Increase height with probability 1 in kBranchingstatic const unsigned int kBranching 4;int height 1;while (height kMaxHeight ((rnd_.Next() % kBranching) 0)) {height;}assert(height 0);assert(height kMaxHeight);return height; }(rnd_.Next() % kBranching) 0)的概率为1/kBranching所以LevelDB中的SkipList也是一棵四叉树kBranching 4;不就是这个意思吗^_^。 总结skiplist是有序的采用类似二分法方式进行查找。查找、插入的平均时间复杂度是O(ln2)。
http://www.zqtcl.cn/news/195204/

相关文章:

  • dw建设网站步骤活动汪活动策划网站
  • 民和县公司网站建设网站开发的特点
  • 模板企业快速建站上传网站中ftp地址写什么
  • 云南本地企业做网站太原网站制作公司哪家好
  • 西部数码域名网站模板wordpress抓取股票行情
  • 丰台深圳网站建设公司关于服装店网站建设的策划方案
  • win7 iis网站无法显示随州网站建设哪家实惠
  • 利用网站新媒体宣传法治建设建站哪个平台好
  • 网站seo课设wordpress 500 根目录
  • 电子商务网站建设的阶段化分析如何利用视频网站做数字营销推广
  • 电子商务网站建设ppt模板国外注册机网站
  • 西部数码做跳转网站百度seo排名培训优化
  • 农业网站素材wordpress all in one
  • 学习网站建设有前景没wordpress 和dokuwiki
  • 服装网站开发方案网站设计美工排版编辑
  • 旅游网站首页模板下载广州市建设工程检测中心网站
  • 餐饮加盟网站建设wordpress 首行缩进
  • kkday是哪里做的网站橙云 php网站建设
  • 站长之家0网站规划作品
  • 物流公司网站建设系统规划广告设计怎么学
  • 异地备案 网站中信建设有限责任公司经济性质
  • 网站没有备案怎么申请广告宿迁莱布拉网站建设
  • 太原适合网站设计地址网站建设 教学视频教程
  • 建商城网站需要多少钱网站开发维护报价单
  • 唐山网站建设冀icp备婚纱网站页面设计
  • 做购物网站支付需要怎么做手机网站建设教程
  • 国外网站空间租用哪个好建站快车打电话
  • 自媒体网站 程序做药公司的网站前置审批
  • 简洁网站模板素材廊坊建设企业网站
  • 长沙建站找有为太极就治就网站内容如何自动关联新浪微博