任何事情都无法阻挡我对一种简单之美的由衷惊叹。
半夜思索,无法入眠,索性起床看会书,关于中东文明的,可是又看不进去,也许是潮热的原因 吧...还不如静下心来写一篇意识流文章,我指的是不用思考的那种,我已经被近东,中东的错综复杂的历史搞的有点烦了,那真是太难了。然而你能想象我指的 那个不用思考的东西是一个算法吗?算法不都是很难的吗?真的就是一个算法,也可以说是一个数据结构,这就是skiplist。
       可以从网上找到大量深入分析skiplist的资料,包括分析其时间复杂度,空间占用情况的。但是本文不,因为我不想在一个如此美好的早上就消耗脑细胞,也不能说是早上,此时凌晨3点整!!注意,我是不需要怎么睡觉还能保持精力的那种怪人。
       那就开始了。
       说到查找,首先能想到的几乎就是各种查找树,当然,实际上在实用主义看来用得比较多的还是HASH,查找树可能学院派更加青睐一些吧。至于HASH,它可 能受制于扩展性,需要不断的reHASH操作,然而对于动态节点,有一种一致性HASH可以参考,大量用于分布式环境,它完美解决了扩展性问题。当然它体 现了另一种动态美,以后如果哪天早上又打鸡血了,会写一篇分析一下的。提到HASH的不易扩展性以及reHASH操作,查找树事实上是可以无限扩展的,但 是在扩展过程中,会破坏树的平衡性,破坏了平衡性就会严重损耗查找树的查找性能,因此为了在扩展过程中保持平衡,需要一种人为的干预,这种干预就是所谓的 “平衡”操作。
       不管对于AVL树,2-3-4树,还是衍生出来的红黑树,都是以上所述的这类查找树的典型。如果说有一种数据结构,在扩展过程中可以自然而然地保持平衡性,根本无需人为干预,那该有多好。
       我是一个基因决定论的信徒,相信任何的爆发或者陨灭都是由原始基本基因决定的,当然这是蝴蝶效应的一种体现。我天然反对健身房减肥,因为我相信瘦的人是基 因决定的,怎么吃都不会胖,就好比掰手腕,很多人根本就没有练过,但是天然力气惊人,瞬间扳倒在健身房练了好几年的,这些人一旦离开了健身房,马上肌肉就 变成了消失了,脂肪越来越多...这种在健身房练就一身肌肉的,就好像AVL树,红黑树,需要花费成本不断地进行平衡斧正,而对于那种天然基因决定的拥有 完美曲线的人,就好比skiplist,快乐生活,自由成长。

skiplist简介

本文就不介绍了,不过当你baidu了之后,你几乎也就理解了skiplist的全部,也就无需再接着看下去了,因此更多的,本文属于我自己的记录随笔。

插入过程理解skiplist

下图展示了一个skiplist的插入构建过程:

skiplist查找示例

skiplist的美之展现

在画图的过程中,我发现不经意间所有的话都表达在图示里面了,无需更多的言语,这难道就是简单之美吗?

统计性能!统计性能!统计性能!统计性能!还是统计性能!

本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1676943

基于天然概率的无需人为平衡的skiplist的美之展现相关推荐

  1. 基于stm32的两轮自平衡小车3(硬件篇)

    此篇为硬件篇,接上一篇"基于stm32的两轮自平衡小车2(原理篇)".包含自行设计电路板原理图与PCB电路图的过程.详见目录. 目录 stm32管脚分配 硬件原理图 PCB电路图 ...

  2. 基于stm32的两轮自平衡小车4(软件调试篇)

    本篇是软件调试篇,接上一篇硬件篇:基于stm32的两轮自平衡小车3(硬件篇),本篇内容是对硬件部分的软件实现,具体模块详见目录.这里先上效果:转B站 目录 定时器PWM驱动程序 定时器编码器模式驱动程 ...

  3. 基于STC单片机的两轮平衡车设计

    给大家传福利了..后续继续共享基于Arduino/安卓Android/树莓派raspberry等平台的两轮车设计 这是我前年暑假做的一个小项目,今年拿出来整理了下当毕设了(当然毕设里添加了许多其他元素 ...

  4. matlab两轮自平衡小车,基于MATLAB的两轮自平衡小车系统模型辨识.pdf

    基于MATLAB的两轮自平衡小车系统模型辨识 学兔兔 第1期 (总第170期) 机 械 工程 与 自动 化 NO.1 2012年 2月 MECHANICAL ENGINEERING & AUT ...

  5. 基于蒙特卡洛概率潮流计算 在IEEE33节点系统中,由于风光出力的不确定性,利用蒙特卡洛生成风速和光照强度得到出力

    基于蒙特卡洛概率潮流计算 在IEEE33节点系统中,由于风光出力的不确定性,利用蒙特卡洛生成风速和光照强度得到出力,可得到每个节点的电压和支路功率变化,网损和光照强度. ID:795064451977 ...

  6. 基于锚框与无需锚框的通用物体检测算法

    物体检测通常是指在图像中检测出物体出现的位置及对应的类别,是计算机视觉的根本问题,也是最基础的问题.它广泛应用于日常生活中,如浏览器的拍照识图.自动驾驶行人车辆检测.道路目标检测(人行道检测)及图像分 ...

  7. 详解通用物体检测算法:基于锚框与无需锚框

    物体检测通常是指在图像中检测出物体出现的位置及对应的类别,它是计算机视觉中的根本问题之一,同时也是最基础的问题,如图像分割.物体追踪.关键点检测等都依赖物体检测. 从应用来看,物体检测已广泛应用于大家 ...

  8. 重磅分享--基于违约概率跟odds的经验评分

    关注 "番茄风控大数据",获取更多数据分析与风控大数据的实用干货. 在评分卡没有上线之前或者在评分卡之外的变量,经常需要对相应的变量进行标准化的分数的转化.如何计算相应的评分?相信 ...

  9. 单指标时间序列异常检测——基于重构概率的变分自编码(VAE)代码实现(详细解释)

    1. 编写目的 不少论文都是基于VAE完成的异常检测,比如 Donut .Bagel.尽管 Donut 实现的模型很容易通过继承于重写父类方法的方式实现一个 VAE-baseline,并且 Bagel ...

  10. 基于STM32的二轮自平衡小车

    前言 近年来,移动机器人是目前科学领域比较活跃的领域之一,其应用范围越来越广泛,面临的环境也越来越复杂,这就要求机器人能够适应一些复杂的环境和任务.二轮自平衡机器人正是在这一背景下提出来的,对于制作此 ...

最新文章

  1. BAT“上山下乡”,用AI“打入政府”
  2. Vue build之后访问dist目录静态资源不加载问题解决
  3. 阿里P8大佬亲自教你!Android内存泄漏总结,看看这篇文章吧!
  4. 快速入门RabbitMq,看这一篇就够了。
  5. 实属无奈!华为加入不送充电器阵营
  6. Python函数的参数
  7. @EnableWebMvc启动springmvc特性
  8. unity3D读取Txt文件中信息
  9. 扒一扒微信后台架构.....
  10. 网件 无线打印机服务器,如何设置打印机实现网件Air print功能
  11. C++ RGB转灰度图像
  12. 记又一次面试失败的经历
  13. Soya语言1.0.1-alpha发布!
  14. adb检测不到模拟器的解决方法
  15. RGB颜色规律小研究
  16. SCI和SCIE, EI, ISTP 等数据库
  17. java 继承、super、this、抽象类
  18. 纯函数学习 (一)什么是纯函数
  19. Dashy: 一款功能超强大,颜值爆表的可定制专属导航页工具
  20. 有一种图片形式是“data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQ…==”...

热门文章

  1. ubuntu14上安装ros教程
  2. 调查问卷Html5发展综述
  3. 【转】DD_belatedPNG,解决IE6不支持PNG绝佳方案
  4. Safe3通用远程溢出漏洞扫描系统
  5. tpc三次握手与四次挥手
  6. CentosOS 7: 创建Nginx+Https网站
  7. Spark学习笔记——构建基于Spark的推荐引擎
  8. jquery easyui+spring mnv 样式引不进,需要加载静态资源
  9. php中sprintf与printf函数用法区别
  10. phpcms v9二次开发之模型类的应用(2)